フォトフレームアプリ (4/4)
10日でおぼえる Androidアプリ開発入門教室 Android SDK2.3対応
の
LESSON 31 フォトフレームの写真を変えよう
を無事に実行できました
フォトフレームアプリは LESSON 28~31 の4回シリーズなので、このアプリを無事に終了したことになります。
LESSON 31 のアプリは、操作については前回の LESSON 30 と全く同じです。
内部で "Service" という仕組みを導入しているのが違いとなっています。
LESSON 31 の後にある付録セクション:
【SUPPLEMENTARY LECTURE】 BroadcastReceiverについて
で、Android アプリは、
この LESSON で導入した Service はバックグラウンド処理を実行するものだそうで、Thread とは Context を独自に持つ点が異なるそうです。
ここで、Thread と Context がよく分かりませんでした
Thread は Android ではなく、ベースになる Java に備わっている仕組み(クラス?)のようです。Java も勉強しないと
Context は雰囲気的には分かる気がするものの、理解できていません。改めてサンプルコードを見直すと Context というクラスはありますが、それを new で作るステートメントは無く、メソッドに引数として与えられるか、getContext() というメソッドで取り出すことでアクセスしています。Androd システム側で管理されている情報なのかな…(憶測)
今回はブログのネタがあまり無いので、SDK 2.3 ベースで Windows 環境で作成されたと思われるサンプルプロジェクトを、SDK 4.2 ベース Linux 環境で動かすために必要なソースなどの変更内容を改めてまとめます。
------------------------------------------------------------
【SDK 2.3 サンプルプロジェクトの変更内容まとめ】
1) ファイル名のキャラクタを一部を大文字に変換
1-1) androidmanifest.xml → AndroidManifest.xml
1-2) Java ソースコードのファイル名
src/jp/co/se/android/chapter*/*.java
のファイル名をクラス名に一致させる。
例) クラス名 = DatabaseHelper、ファイル名 = databasehelper.java の場合
ファイル名を databasehelper.java → DatabaseHelper.java に変更
2) SDKバージョンの変更
default.properties の下記の行を修正。
3) 不要なファイルの削除
gen/jp/co/se/android/chapter08/r.java を削除
4) Deprecated メソッド対策
4-1) constructor CursorAdapter(Context, Cursor)
4-2) stopManagingCursor(Cursor)
4-3) managedQuery(Uri, String, String, String, String)
… 対策) 以上3つの対策は 2014/11/9(日) のブログに記載のとおり
4-4) getLastNonConfigurationInstance()
… 対策) 2014/11/17(月) のブログに記載のとおり
4-5) PreferenceActivity
→ PreferenceFragment を利用するコードに書き換え
… 対策) 2015/2/(月) のブログに記載のとおり
5) Eclipse/ADT 運用上での問題
5-1) ターゲット API が 11 (Android 3.0) にいつの間にか切り替わる
… 対策) project.properties ファイルの "target=android-11" の末尾を16に書き換え
5-2) Call requires API level 3 (current min is 1) というエラー発生
… 対策) Project → Clean 実行
5-3) ソースコードのエラー修正候補の提示中に SIGSEGV で異常終了
… 対策) Eclipse 再起動。きちんと対策したいのだが…
------------------------------------------------------------
次回は「CHAPTER 09 音楽プレイヤーを作ろう」へ進みます。フォトフレームは実際に作って使いたいので踏み込みたいところですが、Android/Java の知識をもっとつけるのが先なので
の
LESSON 31 フォトフレームの写真を変えよう
を無事に実行できました
フォトフレームアプリは LESSON 28~31 の4回シリーズなので、このアプリを無事に終了したことになります。
LESSON 31 のアプリは、操作については前回の LESSON 30 と全く同じです。
内部で "Service" という仕組みを導入しているのが違いとなっています。
LESSON 31 の後にある付録セクション:
【SUPPLEMENTARY LECTURE】 BroadcastReceiverについて
で、Android アプリは、
Activityの3つに分類されると説明されています。こういう全体を俯瞰した説明は有難いです
Service
BroadcastReceiver
この LESSON で導入した Service はバックグラウンド処理を実行するものだそうで、Thread とは Context を独自に持つ点が異なるそうです。
ここで、Thread と Context がよく分かりませんでした
Thread は Android ではなく、ベースになる Java に備わっている仕組み(クラス?)のようです。Java も勉強しないと
Context は雰囲気的には分かる気がするものの、理解できていません。改めてサンプルコードを見直すと Context というクラスはありますが、それを new で作るステートメントは無く、メソッドに引数として与えられるか、getContext() というメソッドで取り出すことでアクセスしています。Androd システム側で管理されている情報なのかな…(憶測)
今回はブログのネタがあまり無いので、SDK 2.3 ベースで Windows 環境で作成されたと思われるサンプルプロジェクトを、SDK 4.2 ベース Linux 環境で動かすために必要なソースなどの変更内容を改めてまとめます。
------------------------------------------------------------
【SDK 2.3 サンプルプロジェクトの変更内容まとめ】
1) ファイル名のキャラクタを一部を大文字に変換
1-1) androidmanifest.xml → AndroidManifest.xml
1-2) Java ソースコードのファイル名
src/jp/co/se/android/chapter*/*.java
のファイル名をクラス名に一致させる。
例) クラス名 = DatabaseHelper、ファイル名 = databasehelper.java の場合
ファイル名を databasehelper.java → DatabaseHelper.java に変更
2) SDKバージョンの変更
default.properties の下記の行を修正。
【修正前】 target=android-9
【修正後】 target=android-16
3) 不要なファイルの削除
gen/jp/co/se/android/chapter08/r.java を削除
4) Deprecated メソッド対策
4-1) constructor CursorAdapter(Context, Cursor)
4-2) stopManagingCursor(Cursor)
4-3) managedQuery(Uri, String, String, String, String)
… 対策) 以上3つの対策は 2014/11/9(日) のブログに記載のとおり
4-4) getLastNonConfigurationInstance()
… 対策) 2014/11/17(月) のブログに記載のとおり
4-5) PreferenceActivity
→ PreferenceFragment を利用するコードに書き換え
… 対策) 2015/2/(月) のブログに記載のとおり
5) Eclipse/ADT 運用上での問題
5-1) ターゲット API が 11 (Android 3.0) にいつの間にか切り替わる
… 対策) project.properties ファイルの "target=android-11" の末尾を16に書き換え
5-2) Call requires API level 3 (current min is 1) というエラー発生
… 対策) Project → Clean 実行
5-3) ソースコードのエラー修正候補の提示中に SIGSEGV で異常終了
… 対策) Eclipse 再起動。きちんと対策したいのだが…
------------------------------------------------------------
次回は「CHAPTER 09 音楽プレイヤーを作ろう」へ進みます。フォトフレームは実際に作って使いたいので踏み込みたいところですが、Android/Java の知識をもっとつけるのが先なので