PADEを使った学習
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[PortableAndroidDeveloerEnviroment]]
以下は「あま~いアプリ開発」で行った内容です
http://kokucheese.com/event/index/22126/
**レシピ1 [#h22ae9c0]
-プロジェクトを立ち上げる。Package Nameは自分のドメインを...
-特になければcom.exampleで。但しこの名前だとマーケットに...
-RUNする
-Android Device Chooserをキャンセルして
-Android Virtual Device Managerで「New」を選んでNameをて...
-Start-Launch
-しばらくすると仮想マシンが出現する
-5分ぐらいで画面が出てくる
-Hello worldはvalueのstringに入っている
**レシピ2 [#y430be03]
-res-layout-main.xmlをダブルクリック
-Graphical layoutを設定して
-layoutのmain.xmlで
-From widgetsにあるボタンをぐりぐりもってきてドラッグする...
-saveしてください
**レシピ3 [#t2e766b3]
-ボタンにコードを割り振り [#l19492cf]
-Button button = (Button)findViewByID(R.id.button1);
を11行目と12行目の間にタイプ
このままではエラーが出るので
Ctfl+Shift+Oでインポートを自動補完
import android.widget.Button;
が増えるのでエラーが出なくなる
-その次に [#y8adf4f3]
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(HelloWorldActivity.this, "Hello!", Toa...
}
});
-これでCtl+Shift+Oを押すとOrganize Importsでandroid.conte...
**レシピ04 国際化 [#ha8cd907]
res-values-strings.xmlをディレクトリごとコピー
valuesとvalues-jaとの二つにする。
values-ja/strings.xmlを日本語に書き換える
**レシピ05 タイマー [#ie84e1c5]
Toast行を以下に入れ替え
new Thread() {
@Override
public void run() {
try{
Thread.sleep(10 * 1000);
} catch (InterruptedException e){
e.printStackTrace();
}
handler.post(new Runnable(){
public void run() {
Toast.makeText(HelloWorldActivity.this,"Hello!...
}
});
}}.start();
ハンドラを作っておく
public class HelloPADE2Activity extends Activity {
の下に一行追加
private Handler handler = new Handler();
Ctl+Shift+Oでimportを増やしておく
**レシピ06:ログ出力 [#t0994725]
**スィーツ07:明示的Intent [#zb2c30a6]
public class HelloPADEActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// new Thread() {
// @Override
// public void run() {
// Log.v("hello", "Error");
// try {
// new NumberFormatException();
// Thread.sleep(10 * 1000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// handler.post(new Rnnable() {
// public void run() {
// Toast.makeText(HelloWorldActivity....
// "Hello!", Toast.LENGTH_LOGNG).show...
// }
// });
// }
// }.start();
EditText text = (EditText) findViewBy...
String value = text.getText().toStrin...
Intent intent = new Intent(HelloWorld...
SecondActivity.class);
intent.putExtra("text",value);
startActivityForResult(intent, 0);
}
});
}
@Override
protected void on ActibityResult(int request...
if (requestCode == 0 && resultCode ==1) {
String value = data.getExtras().getStri...
Toast.makeText(this, value, Toast.LENGT...
}
}
}
***セカンドアクティビティ [#ja184720]
package jp.cane.android.sweet;
import android.app.Activityl
import android.content.Intent;
import android.os.Bundle;
public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
Intent intent = getIntent();
String value = intent.getExtras().getString("text...
// Toast.makeText(this,value,Toast.LENGTH_LONG.sh...
value = "こんにちは、" + value;
Intent data = new Intent();
data.putExtra("result",value);
setResult(1);
finish();
}
}
**スィーツ08:暗黙的Intent [#w009031b]
package jp.cane.android.sweet;
import android.app.Activityl
import android.content.Intent;
import android.os.Bundle;
public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
Intent intent = getIntent();
String value = intent.getExtras().getString("text...
// Toast.makeText(this,value,Toast.LENGTH_LONG.sh...
value = "こんにちは、" + value;
Intent data = new Intent();
data.putExtra("result",value);
setResult(1);
finish();
}
}
**スィーツ09:返り値をIntentで受け取る [#f4a6eb3e]
**スィーツ10:サービス [#v02906ed]
New-classで、MainService.java できたらextendedのサービス...
を以下のように作る
package jp.cone.android.sweet;{
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
public class MainService extends Service {
@Override
public void onCreate()
super.onCreate();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
その次に、以下のように拡張する
public class MainService extends Service implements Runn...
private Handler handler = new Handler();
@Override
public void onCreate()
super.onCreate();
new Thread(this).start();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
public void run() {
while (true) {
try {
Thread.sleep(3 * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
handler.post(new Runnable() {
public void run() {
Toast.makeText(MainService.this, "Hello", Toa...
}
});
}
}
}
このサービスは問題があって、AndroidOSから勝手にkillされる...
**お口直し:Bluetooth通信 [#rf3f2d03]
MainService.javaを書き換え
public void run() {
handler.post(new Runnable() {
public void run() {
adapter = BluetoothAdapter.getDefaultAdapter();
}
});
while (adapter == null) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
while (true)
// try {
// Tread.sleep(3 * 1000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// handler.post(new Runnable() {
// public void run() {
// Toast.makeText(MainService.this, "Hello", Toa...
// }
// });
try {
BluetoothSocket socket;
if (true) { // server
BluetoothServerSocket ssocket = adapter
.listenUsingRfcommWithServiceRecord("BTCha...
UUID.fromString(UI_MODE_SERVICE));
socket = ssocket.accept();
} else { // client
socket = adapter.getRemoteDevice("00:11:22:...
.createRfcommSockeToServiceRecord(
UUID.fromString(UI_MODE_SERVICE));
socket.connect();
}
// if server , move below one line to "point ...
socket.getOutputStream().write("hogehoge\n".g...
InputStream is = socket.getInputStream();
BufferedReader reader = new BufferdReader(
new InputStreamReader(is));
final String line = reader.readLine();
handler.post(new Runnable() {
public void run() {
Toast.makeText(MainService.this, line,
Toast.LENGTH_LONG).show();
}
});
// point B
} catch (IOException e) {
// TODO Auto-genereted catch block
e.printStackTrace
}
パーミッションを追加する必要がある
res-AndroidManifest.xmlのAndroid Manifest Permissionsでon...
on.BLUETOOTH_ADMIN
アクティビティを追加する度に
終了行:
[[PortableAndroidDeveloerEnviroment]]
以下は「あま~いアプリ開発」で行った内容です
http://kokucheese.com/event/index/22126/
**レシピ1 [#h22ae9c0]
-プロジェクトを立ち上げる。Package Nameは自分のドメインを...
-特になければcom.exampleで。但しこの名前だとマーケットに...
-RUNする
-Android Device Chooserをキャンセルして
-Android Virtual Device Managerで「New」を選んでNameをて...
-Start-Launch
-しばらくすると仮想マシンが出現する
-5分ぐらいで画面が出てくる
-Hello worldはvalueのstringに入っている
**レシピ2 [#y430be03]
-res-layout-main.xmlをダブルクリック
-Graphical layoutを設定して
-layoutのmain.xmlで
-From widgetsにあるボタンをぐりぐりもってきてドラッグする...
-saveしてください
**レシピ3 [#t2e766b3]
-ボタンにコードを割り振り [#l19492cf]
-Button button = (Button)findViewByID(R.id.button1);
を11行目と12行目の間にタイプ
このままではエラーが出るので
Ctfl+Shift+Oでインポートを自動補完
import android.widget.Button;
が増えるのでエラーが出なくなる
-その次に [#y8adf4f3]
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(HelloWorldActivity.this, "Hello!", Toa...
}
});
-これでCtl+Shift+Oを押すとOrganize Importsでandroid.conte...
**レシピ04 国際化 [#ha8cd907]
res-values-strings.xmlをディレクトリごとコピー
valuesとvalues-jaとの二つにする。
values-ja/strings.xmlを日本語に書き換える
**レシピ05 タイマー [#ie84e1c5]
Toast行を以下に入れ替え
new Thread() {
@Override
public void run() {
try{
Thread.sleep(10 * 1000);
} catch (InterruptedException e){
e.printStackTrace();
}
handler.post(new Runnable(){
public void run() {
Toast.makeText(HelloWorldActivity.this,"Hello!...
}
});
}}.start();
ハンドラを作っておく
public class HelloPADE2Activity extends Activity {
の下に一行追加
private Handler handler = new Handler();
Ctl+Shift+Oでimportを増やしておく
**レシピ06:ログ出力 [#t0994725]
**スィーツ07:明示的Intent [#zb2c30a6]
public class HelloPADEActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// new Thread() {
// @Override
// public void run() {
// Log.v("hello", "Error");
// try {
// new NumberFormatException();
// Thread.sleep(10 * 1000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// handler.post(new Rnnable() {
// public void run() {
// Toast.makeText(HelloWorldActivity....
// "Hello!", Toast.LENGTH_LOGNG).show...
// }
// });
// }
// }.start();
EditText text = (EditText) findViewBy...
String value = text.getText().toStrin...
Intent intent = new Intent(HelloWorld...
SecondActivity.class);
intent.putExtra("text",value);
startActivityForResult(intent, 0);
}
});
}
@Override
protected void on ActibityResult(int request...
if (requestCode == 0 && resultCode ==1) {
String value = data.getExtras().getStri...
Toast.makeText(this, value, Toast.LENGT...
}
}
}
***セカンドアクティビティ [#ja184720]
package jp.cane.android.sweet;
import android.app.Activityl
import android.content.Intent;
import android.os.Bundle;
public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
Intent intent = getIntent();
String value = intent.getExtras().getString("text...
// Toast.makeText(this,value,Toast.LENGTH_LONG.sh...
value = "こんにちは、" + value;
Intent data = new Intent();
data.putExtra("result",value);
setResult(1);
finish();
}
}
**スィーツ08:暗黙的Intent [#w009031b]
package jp.cane.android.sweet;
import android.app.Activityl
import android.content.Intent;
import android.os.Bundle;
public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
Intent intent = getIntent();
String value = intent.getExtras().getString("text...
// Toast.makeText(this,value,Toast.LENGTH_LONG.sh...
value = "こんにちは、" + value;
Intent data = new Intent();
data.putExtra("result",value);
setResult(1);
finish();
}
}
**スィーツ09:返り値をIntentで受け取る [#f4a6eb3e]
**スィーツ10:サービス [#v02906ed]
New-classで、MainService.java できたらextendedのサービス...
を以下のように作る
package jp.cone.android.sweet;{
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
public class MainService extends Service {
@Override
public void onCreate()
super.onCreate();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
その次に、以下のように拡張する
public class MainService extends Service implements Runn...
private Handler handler = new Handler();
@Override
public void onCreate()
super.onCreate();
new Thread(this).start();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
public void run() {
while (true) {
try {
Thread.sleep(3 * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
handler.post(new Runnable() {
public void run() {
Toast.makeText(MainService.this, "Hello", Toa...
}
});
}
}
}
このサービスは問題があって、AndroidOSから勝手にkillされる...
**お口直し:Bluetooth通信 [#rf3f2d03]
MainService.javaを書き換え
public void run() {
handler.post(new Runnable() {
public void run() {
adapter = BluetoothAdapter.getDefaultAdapter();
}
});
while (adapter == null) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
while (true)
// try {
// Tread.sleep(3 * 1000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// handler.post(new Runnable() {
// public void run() {
// Toast.makeText(MainService.this, "Hello", Toa...
// }
// });
try {
BluetoothSocket socket;
if (true) { // server
BluetoothServerSocket ssocket = adapter
.listenUsingRfcommWithServiceRecord("BTCha...
UUID.fromString(UI_MODE_SERVICE));
socket = ssocket.accept();
} else { // client
socket = adapter.getRemoteDevice("00:11:22:...
.createRfcommSockeToServiceRecord(
UUID.fromString(UI_MODE_SERVICE));
socket.connect();
}
// if server , move below one line to "point ...
socket.getOutputStream().write("hogehoge\n".g...
InputStream is = socket.getInputStream();
BufferedReader reader = new BufferdReader(
new InputStreamReader(is));
final String line = reader.readLine();
handler.post(new Runnable() {
public void run() {
Toast.makeText(MainService.this, line,
Toast.LENGTH_LONG).show();
}
});
// point B
} catch (IOException e) {
// TODO Auto-genereted catch block
e.printStackTrace
}
パーミッションを追加する必要がある
res-AndroidManifest.xmlのAndroid Manifest Permissionsでon...
on.BLUETOOTH_ADMIN
アクティビティを追加する度に
ページ名: