Androidアプリの開発をしよう07 データの共有②

フォトを利用する

実機があると便利です

目次

  1. やはり事前準備をします
  2. コンテントプロバイダを使う
  3. 画像を取得するアプリ
  4. プログラムの解説
  5. さいごに

やはり事前準備をします

今回はAndroidエミュレータに画像を追加します。
実機で行っている場合は、画像(写真)の一つも保存してあると思いますのでこの作業は不要と思います。
まずはエミュレータのホーム画面に戻してください。
ホーム画面に戻したら、PC内の適当な画像をドラッグ&ドロップしてください。
これで準備は完了です。

コンテントプロバイダを使う

コンテントプロバイダから画像を取得するには、コンテントリゾルバ(ContentResolver)クラスのメソッドを使い、内容を読み込めるようにします。
ではさっそくアプリを作成してみましょう。

画像を取得するアプリ

以下のプログラムを実行してください。

実行結果は以下のようになります。

プログラムの解説

標準アプリを起動し、そこから結果を取得するにはインテントにアクションの設定をし、startActivityForResult()メソッドを起動します。
これは前回と同様です。
ここではギャラリーの起動に対応できるように「Intent.CATEGORY_OPENABLE」を指定しています。
ここですべての画像を取得するために”*/*”をsetType()の引数として渡しています。

この選択結果はURIとして取得できます。
コンテントリゾルバクラスのメソッドによって、指定された画像のURIを解析し、ビットマップに画像を格納し、イメージビューで表示させます。

さいごに

コンテントプロバイダについてお判りいただけたでしょうか?
次回は少し長いプログラムに挑戦したいと思います。

このサイトをフォローする!