PackageManagerクラスを利用することでデバイス上にインストールされている
パッケージの情報を簡単に取得することができます。
以前に紹介した「アプリケーションのヴァージョン情報を取得する」でも同じクラスを使用しています。
今回はデバイスにインストールされているパッケージを
リストビューに表示するサンプルをご紹介します。
詳細は続きからどうぞ。
まずリストビューをレイアウトファイルに記述します。
属性にidだけ付けておきます。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ListView android:id="@+id/MyListView" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
そして、ソースコードは以下になります。
public class PackageManagerSample extends Activity { private ListView listView = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //リストビューのオブジェクトを取得 listView = (ListView) findViewById(R.id.MyListView); //リストビュー用のArrayAdapterを作成 ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1); //PackageManagerのオブジェクトを取得 PackageManager pm = this.getPackageManager(); //インストール済パッケージ情報を取得する List<ApplicationInfo> list = pm.getInstalledApplications(0); //パッケージ情報をリストビューに追記 for (ApplicationInfo ai : list) { arrayAdapter.add(ai.packageName); listView.setAdapter(arrayAdapter); } } }
ポイントは21行目のgetInstalledApplicationsメソッドです。
ここでインストール済パッケージ情報のリストを取得し、
24行目-27行目でリストの内容をリストビューに書き出しています。