忍者ブログ
  • 2024.11«
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • » 2025.01
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/12/04 02:06 】 |
Androidの本の紹介
今回は勉強したAndroidの本を紹介したいと思います。

満足度 ★★★★★


AndEngineでつくるAndroid 2Dゲーム

正確にはAndEngineというフレームワークをつかってAndroid用2Dゲームを作るという本です。

最後までやってみた感想。
・プログラム完全初心者には難しいが、少しでもかじった人なら数回つまづく程度で簡単に出来る。
 私のような初心者でも、最後まで内容を理解しながらできました。

・本自体の間違いは少なめ。
 後半につれて間違いが出てきます。ですが割と分かりやすい間違い。注意は追加コード部分が通常は 色が変わっているのですが、変わっていなかったりすることがある。大抵編集途中らしき文字列がつ いていて気がつきやすい。

・途中に出てくるコラムが面白い。
 専門学校の授業で出てくる話しより、泥臭くて面白い。現実感を感じられます。*あくまでも学生視 点

サンプルプログラム数:3
サンプルプログラム用画像:あり
サンプルソースコード完成品:あり

*注意事項
時々編集の間違いがある。
他の本でAndroidからプログラムを勉強した初心者は戸惑う可能性あり。



自分はやっていて面白かったです。
PR
【2013/03/19 21:59 】 | Android | 有り難いご意見(0)
プロジェクトをインポートして使う時の注意点。
Androidのプロジェクトをimportして使う際の注意点。

アプリを作成しているときにベースとなる部分を作っておいて、そこからアプリを作るということをしていてきがついたこと。

同じ雛形を使ったアプリを1つの端末に複数おくことが出来ない。

プロジェクトネームをリネームするだけじゃダメでした。
Javaファイルのパッケージネームを変更してもダメだめ。

どーしたもんかな?と思いましたがマニフェストファイルをみるとパッケージネームが変わっていなかったのでそこを変更したら解決しました。

JavaのパッケージネームとManifestFileのパッケージネームを変更する。
【2013/03/05 23:02 】 | Android | 有り難いご意見(0)
プリファレンス
プリファレンス
「キー”と”値”でデータを保存する」
DDMSでチェックできる。/data/data/パッケージ名/shared_prefsに格納されている。
ファイルの形式は.xml

プリファレンスの処理

プリファレンスオブジェクトの取得
SharedPreferences preference = getSharedPreference(ファイルネーム,処理モード);
第1引数
ファイルネーム…処理を行いたいファイル名を書く(ファイルがないときは作成するファイル名)←確認中
第2引数
処理モード(以下のいずれかの定数をいれる)
MODE_PRIVATE
他のアプリケーションからアクセス不可
MODE_WORLD_READABLE
他のアプリケーションからの読み込みは可能
MODE_WORLD_WRITABLE
他のアプリケーションからの書き込みは可能

データを編集する、編集用オブジェクトの取得
SharedPeferences.Editor editor = peference.edit();

データ書き込み
editor.putString(キー,値);

データの指定削除
editor.remove(キー);

プリファレンスファイルのデータを全て削除
editor.clear();

編集後、実行した内容をプリファレンスファイルに反映させる
editor.commit();

データの取得
String str = preference.getString(キー,"not found");
第1引数は取得したいデータのキー
第2引数はデータが取得できなかった場合に使用する値("みつかりません"とか)




サンプルプログラム
writeButton------>書き込み処理用のボタンのコールバックメソッド。
displayButton------>表示用ボタンのコールバックメソッド。
removeButton------>選択削除ボタンのコールバックメソッド。
deleteButton------->全件削除ボタンのコールバックメソッド。

プリファレンス以外の処理について
displayButton以外のボタンは押下されるとダイアログを表示。”はい”を選ぶとその後の処理に進む。
deleteButtonのみダイアログで”はい”を選んだ後最終確認としてもう一度ダイアログを表示させている。



public class MainActivity extends Activity {
private EditText imputId;
private EditText imputName;
private TextView displayView;

private String Id;
private String Name;
private String data;
private SharedPreferences preference;
private SharedPreferences.Editor editor;
private AlertDialog.Builder innerAb;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
displayView = (TextView)findViewById(R.id.displayview);
imputId = (EditText)findViewById(R.id.imputId);
imputName = (EditText)findViewById(R.id.imputName);
preference = getSharedPreferences("MEMBER_FILE", MODE_PRIVATE);
}
public void writeButton(View v){

AlertDialog.Builder ab = new AlertDialog.Builder(this);
ab.setTitle("登録処理");
ab.setMessage("プリファレンスに登録します");
ab.setPositiveButton("はい", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Id = imputId.getText().toString();
Name = imputName.getText().toString();

editor = preference.edit();
editor.putString(Id, Name);
editor.commit();
Toast.makeText(getApplicationContext(), "登録しました", Toast.LENGTH_LONG).show();
}
});
ab.setNegativeButton("いいえ", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub

}
});
ab.show();
}
public void displayButton(View v){
data = preference.getString(imputId.getText().toString(), "登録されていません");
displayView.setText(data);

}
public void removeButton(View v) {
Id = imputId.getText().toString();
AlertDialog.Builder ab = new AlertDialog.Builder(MainActivity.this);
ab.setTitle("指定削除");
ab.setMessage("ID"+Id+"のデータを消去しますか?");
ab.setPositiveButton("はい",new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {

editor = preference.edit();
editor.remove(Id);
editor.commit();
}
});
ab.setNegativeButton("いいえ", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {


}
});
ab.show();

}
public void deleteButton(View v){

AlertDialog.Builder ab = new AlertDialog.Builder(MainActivity.this);
ab.setTitle("全件消去");
ab.setMessage("登録データを全件消去しますか?");
ab.setPositiveButton("はい", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
innerAb = new AlertDialog.Builder(MainActivity.this);
innerAb.setTitle("最終確認!");
innerAb.setMessage("本当に登録データを全件消去しますか?");
innerAb.setPositiveButton("はい", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
editor = preference.edit();
editor.clear();
editor.commit();
}
});
innerAb.setNegativeButton("いいえ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
innerAb.show();
}
});
ab.setNegativeButton("いいえ",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
ab.show();
}

@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;
}

}
【2013/03/02 18:33 】 | Android | 有り難いご意見(0)
Intentその1 送るだけ
EditTextに入力した文字列をSubActivityのTextViewで表示する。

とりあえずプロジェクトを作成したらManifestFileにActivityを追加してからプログラムを作る
忘れてることを忘れる(笑)


public class MainActivity extends Activity {
private EditText ed;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ed = (EditText)findViewById(R.id.editText);
}
public void intentButtonClickListener(View view){
final String edString = ed.getText().toString();
AlertDialog.Builder ab = new AlertDialog.Builder(this);
ab.setTitle("別アクティビティの起動");
ab.setMessage(edString+"を別のアクティビティで表示します");
ab.setPositiveButton("はい", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {
// Intent生成 new Intent(自アクティビティ,送り先Activity名.class);
Intent intent = new Intent(MainActivity.this,SubActivity.class);
// 送りたい情報の設定・・・①
intent.putExtra("MESSAGE",edString);
startActivity(intent);

}
});
ab.setNegativeButton("いいえ", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub

}
});
ab.show();

}
}


SubActivity

public class SubActivity extends Activity {
private String text;
private TextView textview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);
textview = (TextView)findViewById(R.id.displayview);

Intent intent = getIntent();
text = intent.getStringExtra("MESSAGE");
textview.setText(text);
}
public void backButton(View v){
finish();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_sub, menu);
return true;
}
}

xmlファイルは割愛
id名は
MainのEditTextの名前はeditText
SubのTextViewの名前はdisplayview
としています。

①putExtra(第1引数,第2匹数);
第1引数はキー
第2引数はデータ
SharedPreferencesのような感じ
ArrayListを送りたい場合はputExtraではなく
putIntegerArrayListExtra
put◎◎ArrayListExtraとなる。

【2013/03/01 21:13 】 | Android | 有り難いご意見(0)
checkboxのあるAlertDialog
CheckBoxのあるダイアログ


private int which = 0;
private String [] items;

public void button(View v) {
items= new String[]{"Aプラン","Bプラン","Cプラン"};
AlertDialog.Builder ab = new AlertDialog.Builder(this);
ab.setTitle("AlertDialogのサンプル");

ab.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int whichButton) {
// TODO Auto-generated method stub
which = whichButton;
}
});
// YESボタン
ab.setPositiveButton("決定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int whichButton) {
// TODO Auto-generated method stub
// 選択した項目を取得
String selected = items[which]; 
// 選択した項目をToast
Toast.makeText(getApplicationContext(), selected, Toast.LENGTH_LONG).show();
}
});

// NOボタン
ab.setNegativeButton("戻る", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
// NOボタンを押したときの処理はここに書く
}

});
ab.show(); // 表示。コレを忘れると表示されない
【2013/02/28 19:20 】 | Android | 有り難いご意見(0)
前ページ | ホーム | 次ページ

忍者ブログ [PR]