ページホームAndroidPHPPHP入門FuelPHPCodeIgniterProfile9ensanのLifeHackPHP、JavaScript、Androidなどのプログラマの情報ブログAndroidManifest.xmlに記述したのデータ取得方法AndroidManifest.xmlに記述した<meta-data>の取得方法この方法を使うとアプリケーションで固定して使う値を一元管理出来ます。strings.xmlで管理する方法もありますがどちらがいいのでしょうか?とりあえず、AndroidManifest.xmlに以下のように<meta-data>を記述します。</application>10行目がmeta-dataの記述です。この値をプログラム側で取得する方法です。appliInfo.metaData.getString("test_key"));このように記述します。ちなみに、例はActivityの中での使用方法なので、Contextのメソッドの「getPackageManager」や「getPackqgeName」は適時インスタンス変数からの呼び出しに変更してください。コメントを頂き、記事を追記修正し、サンプルプログラムを作成しました。画像を編集するようなアプリを作成する場合、カメラをIntent経由で呼び出してとった写真のデータを戻してもらうことがあると思います。その時にどのようにしたら、カメラを起動できて、どのようにしたらそのデータが取れるのか調べた結果です。Intentでのカメラの呼び出し方google謹製の「com.android.camera」カメラアプリを調べると2つそれらしいintent-filterが設定されていました。android.media.action.IMAGE_CAPTUREandroid.media.action.STILL_IMAGE_CAMERAの2つです。どちらを使えばいいか調べてみると正解は、「android.media.action.IMAGE_CAPTURE」でした。一つの方は連携するのでは無く、静止画モードでカメラアプリを起動するというintent-filterでした。カメラアプリに写真をとってそのデータを返却して欲しい場合は、以下のようにカメラアプリを起動する必要があります。Intentでカメラを呼び出した場合のデータの取得方法これもまた、google謹製の「com.android.camera」カメラアプリを調べてみました。2通りあることが分かりました。生データをそのまま受け取る方法カメラアプリでは、こんな感じにファイルパスを取得していました。こんな感じでファイルを作成したりデータをintentにセットしていました。取得する側では、こういう風に処理して取得できます。...、Bitmapの画質が悪過ぎでこれは使い物になりません。画像ファイルとして保存してもらって、データを取得するように変更します。呼び出し処理、Uriオブジェクトを生成して、IntentにputExtraでキーを「MediaStore.EXTRA_OUTPUT」でセットします。Uriオブジェクトの生成方法は、こんな感じです。SDカードに書き出しをしているのでAndroidManifest.xmlに以下のパーミッションを追加します。データの取得方法は、このように指定したUriにファイルが作成されるので取得すると操作出来るようになります。調べていたら詳しく書かれているサイトがありました。2.1問題対応)」こちらを参考にする方がいいかもです。今回は、UriをActivityのインスタンス変数として保持しました。その為に、Activityが再生成されてしまうとUriが初期化されてしまいます。画面の縦横の回転の処理が動作するとAndroidは、Activityを破棄して再生成します。なると見事インスタンス変数はNULLになります。これを防ぐ為の方法は、2つ程あります。回転時の処理を独自に実装にしてActivityの再生成を防ぐ。Activityの破棄、再生成時に状態を保持するように処理を追記する。今回サンプルプログラムでは2.の方法で実装しました。1.回転時の処理を独自に実装にしてActivityの再生成を防ぐこちらの実装は簡単で、まずは「AndroidManifest.xml」に「android:configChanges=”orientation|screenSize”」の記述を追記します。すると、画面の回転時にActivtyの再生成が行われずに「onConfigurationChanged」が実行されます。これで、画面の回転でActivityが初期化される事はありませんが、横になっても、レイアウトが横になりません。「onSaveInstanceState」でデータの保存を「onRestoreInstanceState」でデータの復元を行います。これで、インスタンス変数の情報を保持します。今回の場合は「onSaveIncetanceState」で、このように、Bundleにインスタンス変数のUriを保存して「onRestoreInstanceState」でこのようにデータの復元を行います。注)表示される画像の角度が撮影時と違うと思いますが、Exif情報から修正する為には、こちらの記事を参考にして下さい。6android.git.kernel.orgが休業状態中でもandroidのソースを見る方法こちらの記事の情報は2012年1月21日時点では、もう古くなってしまっています。Androidのソースを参照する為の記事を書いたのでこちらを参照下さい。2011年9月6日時点、Androidのソースコードが置いてあったgitが「このような事件」により参照することが出来なくなっています。アプリ作っていると本家のソースコードを見て参考にしたいなと思う部分というのが、いくつか出てくると思います。そのような時には、「Googleソースコード検索」を使うと便利です。対象のgitのurlが分かっているなら対象のurlで検索します。検索結果が表示されると思うので対象箇所をクリックするそうするとGoogleさんが持っているキャッシュが表示されるので参照する事が可能となります。以下のようなgitURLで検索してください。「git://android.git.kernel.org/platform/packages/apps/Settings.git」このような検索結果の一覧が表示されるので、一覧の中の見たいものをクリックします。09/06コメントを書くAndroidでカメラアプリを作る場合の注意点Androidでカメラアプリを作る場合、「Camera.autoFocus」又は、「Camera.takePicture」を使うと思うのですが、その時に気を付けないとエラーを吐いてしまいます。その気を付けないと行けない点は、排他処理です。シャッターボタンを押下した時に走る、onClick処理が排他制御しないと画像取得のプロセスが2重に動作してしまい落ちてしまいます。}こんな感じで、排他処理を行うようにしました。みなさんも気をつけてください。08/30コメントを書くAndroidのFaceDetectorの精度についてAndroidでデフォルトで付いている顔認識のAPI「FaceDetector」が使えるのかなと思い検証してみました。遠目の集合写真のような顔がはっきりしていいないものは、認識出来にくい。このような結果がでました。集合写真のようなものに加工を加えるようなアプリでは使うのは難しいかなと思います。NAVI«1...32333435363738»INFORMATION最近、Arduinoに興味あります。