Hatena::Groupandroid

組み込みプログラマのAndroid開発覚書

[Ruby] [Android入門] [Android 開発入門] [Android 開発チュートリアル] [逆引きAndroid] [Ruby] [Xperia] [チームらくらく]
|

2013-01-10

文字列

09:01

res/valuse/strings.xml内で定義する

レイアウト変更

09:09

res/layout/activity_main.xmlをクリックするとレイアウト画面が出る

ボタンの追加

09:13

上記画面で左側のForm Widgetsをクリックし「Button」を画面にドラッグする

ボタンを押すと終了するプログラム

09:31

package com.example.helloandroid;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;//追加
import android.view.View;//追加
import android.view.View.OnClickListener;//追加
import android.widget.Button;//追加

public class MainActivity extends Activity
	implements OnClickListener//追加
{

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Button button = (Button)findViewById(R.id.button1);//追加
		button.setOnClickListener(this);//追加
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

	//追加
	public void onClick(View v){
		if(v.getId() == R.id.button1){
			finish();
		}
	}

}

アクティビティ

09:35

ウインドウのこと

起動するごとにスタック形式で積み重なる。

一番前面がフォアグランドでユーザーイベントを受け取る。

フォアグランドのアクティビティに実装されたビューがイベントを受け取り、

イベントに対応したメソッドが実行される。

イベント表示例

10:04

package com.example.list4_1;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MotionEvent;

public class MainActivity extends Activity {

	private static final String TAG = "USerInputActivity";
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//setContentView(R.layout.activity_main);
	}

	@Override
	//キーイベント
	public boolean onKeyDown(int keyCode,KeyEvent event){
		Log.i(TAG,"onKeyDown:" + keyCode + event.toString());
		return super.onKeyDown(keyCode,event);
	}
	
	@Override
	//タッチパネルイベント
	public boolean onTouchEvent(MotionEvent event){
		Log.i(TAG,"onTouchEvent:" + event.toString());
		return super.onTouchEvent(event);
	}
	
	@Override
	//トラックボールイベント
	public boolean onTrackballEvent(MotionEvent event){
		Log.i(TAG,"onTrackballEvent:" + event.toString());
		return super.onTrackballEvent(event);
	}
	
	
	/*
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}
	*/

}

インテント

10:06

意図、意志

インテントに実行したい動作と対象を指定することで、別のアクティビティを起動できる。

Androidのアクティビティ間のデータのやり取りに使用する。

ボタンを押すとダイアル

10:16

package com.example.helloandroid;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity
	implements OnClickListener
{

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Button button = (Button)findViewById(R.id.button1);
		button.setOnClickListener(this);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}
	
	private void sendDialIntent(){
		Intent i = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:1234567890"));
		startActivity(i);
	}
	
	
	public void onClick(View v){
		if(v.getId() == R.id.button1){
			//finish();
			sendDialIntent();
			
		}
	}

}

代表的なインテント

10:19

ACTION_VIEW http://     ブラウザ表示

ACTION_VIEW geo:<latitute>,<longitude> 地図表示

ACTUIN_DIAL tel: ダイヤルウインド表示

ACTION_EDIT アドレス帳編集

Terminal IDE

02:37

Android端末でtelnetd動かしてローカルでコンパイルとかできて面白いです

http://yamada-program.blogspot.com/2012/01/terminal-ideandroid.html

2010-12-17

Androidアプリ開発入門

17:00

世界を目指せ!Androidアプリ開発入門

http://gihyo.jp/dev/serial/01/androidapp/0005

判りやすくていいです。

2010-03-23

「hello world」を実行

11:01

Android開発本が届いたので早速「hello world」を実行。ただプロジェクトを作るだけだけど。

Amazon.co.jpGoogle Androidアプリケーション開発入門 画面作成からデバイス制御まで――基本機能の全容: 木南 英夫: 本 http://bit.ly/bpBYvB

|