やっとできました。
簡単なものですが。
画面タッチを検出してそこに
画像を表示させるだけ
っていうホントに簡単なもの。
で、今までエラーしていたのは
Tomcat関係なさそう・・・
自分のミスでした。
具体的に言うと、TouchViewクラスからオブジェクトの生成をし忘れてまして。。
で、このソースを公開したら
しばらくブログ公開はストップしようかと。
うち、停電の地域に入ってるので。
では↓
*****Appli.java*******************************************
package com.blogspot.androidid.appli1;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
public class Appli1 extends Activity {
/** Called when the activity is first created. */
private AppliView appliview;
private TickHandler tickHandler;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
appliview=new AppliView(this);
setContentView(appliview);
}
@Override
public void onResume(){
super.onResume();
tickHandler=new TickHandler();
tickHandler.sleep(0);
}
@Override
public void onPause(){
super.onPause();
tickHandler=null;
}
public class TickHandler extends Handler{
@Override
public void handleMessage(Message msg){
appliview.invalidate();
if(tickHandler != null) tickHandler.sleep(100);
}
public void sleep(long delayMills){
removeMessages(0);
sendMessageDelayed(obtainMessage(0),delayMills);
}
}
}
**********************************************************
*****AppliView.java******************************************
package com.blogspot.androidid.appli1;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.View;
import android.view.MotionEvent;
public class AppliView extends View{
private int X=0;
private int Y=0;
private int Action=-999;
private Bitmap image;
public AppliView(Context context){
super(context);
setBackgroundColor(Color.BLUE);
setFocusable(true);
Resources r=context.getResources();
image=BitmapFactory.decodeResource(
r,R.drawable.android);
}
@Override
protected void onDraw(Canvas canvas){
int w=image.getWidth();
int h=image.getHeight();
if(Action != -999)
canvas.drawBitmap(image,X-(w/2),Y-(h/2),null);
}
@Override
public boolean onTouchEvent(MotionEvent event){
X=(int)event.getX();
Y=(int)event.getY();
Action=event.getAction();
return true;
}
}
**********************************************************
解説はまた今度。いつかは未定ですが。
おしまい。
0 件のコメント:
コメントを投稿