*callback code


package exam.handleEvent;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.*;
import android.widget.*;



public class HandleEventActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        View vw = new MyView(this);
        
        setContentView(R.layout.main);
        //setContentView(vw);
        
    }
    
    protected class MyView extends View{
    public MyView(Context context){
    super(context);
    }
    }
    public boolean onTouchEvent(MotionEvent mevent){
    super.onTouchEvent(mevent);
    if (mevent.getAction() == MotionEvent.ACTION_DOWN){
    Toast.makeText(HandleEventActivity.this,"Touch event received", Toast.LENGTH_SHORT).show();
    return true;
    }
    return false;
    }
  
}





*listener code



package exam.fruit1;

import android.app.Activity;
import android.os.Bundle;
import android.view.*;
import android.widget.*;

public class Fruit1Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
  
        View vm = new View(this);
        vm.setOnTouchListener(TouchListener);
       // setContentView(vm);  
        setContentView(R.layout.main);
    }
    class TouchListenerClass implements View.OnTouchListener{
    public boolean onTouch(View v, MotionEvent event){
    if (event.getAction() == MotionEvent.ACTION_DOWN){
    Toast.makeText(Fruit1Activity.this,"Touch Event Received", Toast.LENGTH_SHORT).show();
    return true;
    }
    return false;
    }
    }
    TouchListenerClass TouchListener = new TouchListenerClass();
}



기능은 두 코드가 같다. 터치 이벤트가 발생하면 toast창을 띄우는 코드이다.

 결과에서의 차이는 발견되지 않는다. 

하지만 이상한 점은, setContentView를 View속성의 인스턴스를 매개변수로 하면 두 코드 모두 동일하게 되지만,

레이아웃 XML파일의 주소(R.layout.main)를 매개변수로 하면, listener쪽의 코드는 이상동작 한다.(toast가 뜨지 않는다.)

이유는 아직 모른다. 더 검토해볼 가치가 있어보인다. 


신고

'android' 카테고리의 다른 글

callback과 listener의 차이  (2) 2011.12.28

개인적인 한계를 시험하는 부분이기도 하고, 수익원의 추가를 위함이기도 하며, 스스로의 지적 호기심과 성취감에 대한 도전이기도 하다.

기한은 아웃풋 시점까지 2012년 1월부로, 6개월을 목표로 삼았다.(디버깅기간 제외)

1인 제작을 기본 틀로 하여, 또 현업에 종사하고, 다른 공부들도 병행하는 상황으로는 무척 촉박한 시점임이 분명하다.

그래서 확실한 진행 프로세스를 가지고 진행상황을 항상 숙지, 기록할 필요가 있다.



게임 컨셉은 기술적으로 구현이 용이한 비주얼 나블 계열의 오컬트게임이다.

기술적 구현은 용이하지만, 그만큼 시나리오나 그래픽 작업이 번거로워지리라 예상된다. 그리고 완성도를 요하는 BGM이나 오프닝, 엔딩곡은, 지인이나 모집을 통한 외주로 진행할 가능성도 있으리라 예상한다.

6개월이 넘어버리면, OS의 버전업이라던가 개발기간을 따져보았을 때 효율이 떨어지므로 프로젝트를 폐기할 가능성도 있지만, 공부의 의미가 크기때문에 폐기하지 않는 방향으로 한다.

어느정도의 아웃풋이 나오기 전 까지는 본 프로젝트의 정보는 비공개를 원칙으로 하고, 제품 발매 전까지는 게임에 대한 소개 위주로 포스팅 될것이다.



신고

'project A(game 제작) > 기획' 카테고리의 다른 글

안드로이드 게임 제작 결정  (1) 2011.12.24


티스토리 툴바