2

複数のアプリケーション(アクティビティ?)がアクセスできるように、カスタムContentProviderを作成しようとしています。これを行う方法についていくつか質問がありますが、

それがContentProviderであることをコードで宣言するにはどうすればよいですか?他のアプリケーション(アクティビティ?)はContentProviderをどのように使用またはインポートしますか?

4

2 に答える 2

4

コンテンツプロバイダーに関する広範な開発者ガイドのトピックとは別に、独自のコンテンツプロバイダーの作成に関する情報については、メモ帳のチュートリアルメモ帳のサンプルコードを参照してください。

于 2010-05-04T07:31:56.757 に答える
0

コンテンツを提供するアプリケーションのマニフェストでは、次のようになります。

<provider android:name="Inventory" android:authorities="com.package.name.Inventory" />

そして、コンテンツを取得するアプリケーションで

    String inventoryItem = "dunno";
       try {
          Uri getItem = Uri.parse(
            "content://com.package.name.Inventory/database_items");
            String[] projection = new String[] { "text" };
            Cursor cursor = managedQuery(getItem, projection, null, null, null);
            if (null != cursor && cursor.moveToNext()) {
              int index = cursor.getColumnIndex("text");
              inventoryItem = cursor.getString(index));     
            }
            cursor.close();
       } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
       }

外部プログラムでは、これはitem_socksの下にリストされているアイテムを返しますが、これはその名前でリストされているアイテムを1つだけ持つ一般的な例にすぎません。次のようなdatabase_itemsという名前のデータベーステーブルをクエリします。

id | タイトル| 文章

1 | item_socks | ブラウンペアレッドストライプ

その場合、inventoryItemは「茶色のペアの赤いストライプ」と等しくなります。

于 2010-10-27T15:00:21.510 に答える