インストール済パッケージを取得する


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行目でリストの内容をリストビューに書き出しています。

5 Comments