기술/beginning games2011. 5. 24. 18:38
download download
public class KeyTest extends Activity implements OnKeyListener{

StringBuilder b = new StringBuilder();
TextView textView;
@Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   textView = new TextView(this);
   textView.setText("키 입력");
   textView.setOnKeyListener(this);
   textView.setFocusableInTouchMode(true);   // 터치를 해야 키보드가 뜸
   setContentView(textView);
}

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
b.setLength(0);
switch(event.getAction()){
case KeyEvent.ACTION_DOWN:
b.append("down, ");
break;
case KeyEvent.ACTION_UP:
b.append("up, ");
break;
}
b.append(event.getKeyCode());
b.append(", ");
b.append((char)event.getUnicodeChar());
String text = b.toString();
Log.d("Key Text", text);
textView.setText(text);
if(event.getKeyCode()==KeyEvent.KEYCODE_BACK)
return false;
else
return true;
}
}
download download download
Posted by yachtie_leo
기술/beginning games2011. 5. 24. 18:23
download download
public class MultiTouchTest extends Activity implements OnTouchListener{

StringBuilder b = new StringBuilder();
TextView textView;
float[] x = new float[10];
float[] y = new float[10];
boolean[] touched = new boolean[10];
@Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   textView = new TextView(this);
   textView.setText("터치 또는 드레그를 하세요(멀티 터치 가능");
   textView.setOnTouchListener(this);
   setContentView(textView);
}

@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction() & MotionEvent.ACTION_MASK;
int pointerIndex = (event.getAction() & MotionEvent.ACTION_POINTER_ID_MASK) >> MotionEvent.ACTION_POINTER_ID_SHIFT;
int pointerId = event.getPointerId(pointerIndex);
switch(action){
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_POINTER_DOWN:
touched[pointerId]=true;
x[pointerId] = (int)event.getX(pointerIndex);
y[pointerId] = (int)event.getY(pointerIndex);
break;
case MotionEvent.ACTION_POINTER_UP:
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
touched[pointerId]=false;
x[pointerId] = (int)event.getX(pointerIndex);
y[pointerId] = (int)event.getY(pointerIndex);
break;
case MotionEvent.ACTION_MOVE:
int pointerCount = event.getPointerCount();
for(int i=0; i < pointerCount; i++){
pointerIndex = i;
pointerId = event.getPointerId(pointerIndex);
x[pointerId] = (int)event.getX(pointerIndex);
y[pointerId] = (int)event.getY(pointerIndex);
}
break;
}
updateTextView();
return true;
}
private void updateTextView(){
b.setLength(0);
for(int i=0; i < 10; i++){
b.append(touched[i]);
b.append(", ");
b.append(x[i]);
b.append(", ");
b.append(y[i]);
b.append("\n");
}
textView.setText(b.toString());
}

}

추가 정보
[번역] 안드로이드에서 멀티터치 활용하기 (Making Sense of Multitouch)
 http://www.androidside.com/skin/board/mw.basic/mw.proc/mw.print.php?bo_table=B46&wr_id=11860
download download download
Posted by yachtie_leo
기술/beginning games2011. 5. 24. 17:20
download download
public class SingleTouchTest extends Activity implements OnTouchListener {

StringBuilder b = new StringBuilder();
TextView textView;

@Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   textView = new TextView(this);
   textView.setText("터치 또는 드래그를 하세요");
   textView.setOnTouchListener(this);
   setContentView(textView);
 
}

@Override
public boolean onTouch(View v, MotionEvent event) {
b.setLength(0);
switch(event.getAction()){
case MotionEvent.ACTION_DOWN :
b.append("down, ");
break;
case MotionEvent.ACTION_MOVE :
b.append("move, ");
break;
case MotionEvent.ACTION_CANCEL :
b.append("cancel, ");
break;
case MotionEvent.ACTION_UP :
b.append("up, ");
break;
}
b.append(event.getX());
b.append(", ");
b.append(event.getY());
String text = b.toString();
Log.d("터치 테스트", text);
textView.setText(text);
return true;
}

}
download download download
Posted by yachtie_leo
기술/beginning games2011. 5. 24. 16:31
download download
public class LifeCycleTest extends Activity {

StringBuilder b = new StringBuilder();
TextView textView;
private void log(String text){
Log.d("LifeCycle Test",text);
b.append(text);
b.append('\n');
textView.setText(b.toString());
}
@Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   textView = new TextView(this);
   textView.setText(b.toString());
   setContentView(textView);
   log("created");
}
@Override
protected void onResume(){
super.onResume();
log("resumed");
}

@Override
protected void onPause(){
super.onPause();
log("paused");
if(isFinishing()){
log("finishing");
}
}
}

 


download download download
Posted by yachtie_leo