2013年8月24日土曜日

Androidアプリ開発再入門

1. 環境セットアップ
Android SDKとeclipseをインストールして設定
パスを通すなど

2. アプリのライフサイクル
onCreate, onStart等のアプリの挙動を把握

Log.vをつかってDDMSパースペクティブのLogCatビューに表示すると良い。
そのままだといろんなログが出てしまって見づらいので、
LogCatビューにあるプラスボタンを押下してフィルターを作成するとよい。

3. イベントプログラミング
まずは慣れるため、buttonクリック時にログ出してみる。
http://d.hatena.ne.jp/jitsu102/20110831/1314796481

どうやら4パターンの実装方法があるらしい。
自分としては2が一番好ましかった。
activity_main.xmlに追加したボタンに、onClickプロパティを追加するだけ。
関数名は自由で、追加した関数をjavaソース側で実装すればOK。
ちなみに1はクラス内に変数定義してるので、いっぱいオブジェクト出てきた時管理が面倒だなーっていう発想で却下。

4. ページ遷移
複数のアクティビティ遷移を実装する。
Intentクラスを利用して、
     Intent it = new Intent( いまのアクティビティ, 遷移先.class );
    this.startActivity(it);

って感じに実装すればOK。
ここまでくれば紙芝居レベルなら実装できる。

5. センサー機能の利用
SensorEventListenerのインタフェースを利用して加速度機能を利用。
加速度センサーを使ってこんな感じで実装。

    public void getAcc(View v){
    manager = (SensorManager)this.getSystemService(SENSOR_SERVICE);
    List<Sensor> sensors = manager.getSensorList(Sensor.TYPE_ACCELEROMETER);
    if(sensors.size() > 0){
    Sensor sensor = sensors.get(0);
    manager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_FASTEST);
    }    
    }


@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
String result = "";
if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER){
result =  "X: " + String.valueOf(event.values[0]) + "\n";
result += "Y: " + String.valueOf(event.values[1]) + "\n";
result += "Z: " + String.valueOf(event.values[2]) + "\n";
}
TextView text1;
text1 = (TextView) this.findViewById(R.id.textView1);
text1.setText(result);
    Log.v(TAG, "onSensorChanged: \n" + result);
}



6. Google Playに公開
Android toolをつかってapkファイルを作成
http://blackcapsule.blog107.fc2.com/blog-entry-15.html


0 件のコメント:

コメントを投稿