問題タブ [android-contentresolver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2093 参照

android - Android:SDカードの特定の場所からサムネイルを取得する

AFAIKが経由して画像のサムネイルにアクセスするMediaStore.Images.Thumbnailsと、最初の試行でサムネイルが生成されます。これは、SDカードの特定の場所に対して実行する必要があるものです。

問題は、特定のフォルダの下のコンテンツに有効なURIを作成する方法です。

私が見つけることができるすべての答えはMediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI、URIと同じように使用できますmanagedQuery。その結果、すべてのsdcardイメージを指すカーソルが作成されますが、特定のフォルダーのみにアクセスする方法の例はありません。

0 投票する
4 に答える
16727 参照

android - Android プレイリストを作成

コードで Android にプレイリストを追加する方法を知っている人はいますか?

コンテンツ リゾルバーに挿入する必要があることはわかりましたが、曲 ID だけを挿入する必要がありますか、それとも曲のすべてのデータを挿入する必要がありますか?

サンプルコードを探していますが、まだ見つかりません。

編集:ここで答えが見つかりました。私はそれを行う方法です:

0 投票する
3 に答える
12780 参照

android - Androidコンテンツプロバイダに大きなブロブを保存する方法は?

コンテンツ プロバイダーに保存する必要がある大きなファイル (画像とビデオ) がいくつかあります。アンドロイドのドキュメントは示しています...

テーブル自体に入れるには大きすぎるバイト データ (大きなビットマップ ファイルなど) を公開している場合、データをクライアントに公開するフィールドには、実際には content: URI 文字列が含まれている必要があります。これは、クライアントがデータ ファイルにアクセスできるようにするフィールドです。レコードには、そのファイルのデバイス上の正確なファイル パスをリストする「_data」という名前の別のフィールドも必要です。このフィールドは、クライアントによる読み取りではなく、ContentResolver による読み取りを意図しています。クライアントは、アイテムの URI を保持するユーザー向けフィールドで ContentResolver.openInputStream() を呼び出します。ContentResolver はそのレコードの「_data」フィールドを要求し、クライアントよりも高い権限を持っているため、そのファイルに直接アクセスして、ファイルの読み取りラッパーをクライアントに返すことができるはずです。-- http://developer.android.com/guide/topics/providers/content-providers.html#creating

例を見つけるのに苦労しています。特に、ImageView のコンテキストでビットマップを使用したいと考えています。次のコードの準コードを検討してください(機能しません)...

観察/問題...

  1. 保存/回復されたURIを正しく再構築するにはどうすればよいですか? (表中のテキストです)
  2. setImageURI 実装はコンテンツ解決 openInputStream を利用するため、これは機能するはずです。

    --frameworks/base/core/java/android/widget/ImageView.java

私はそれを働かせました。MediaStore と MediaProvider からヒントを得ました。データを含むファイルには、コンテンツ プロバイダー (ディレクトリ)、列名、行 ID、およびメディア タイプに基づいて名前が付けられます。コンテンツ リゾルバーは、次のようにファイル記述子を取得します...

...そして、コンテンツ プロバイダーは親切に対応します...

0 投票する
1 に答える
481 参照

android - コンテンツサービスのクラッシュ

奇妙な例外が発生します:

10-31 09:09:51.308:ERROR / ContentService(59):ContentServiceのクラッシュ10-3109:09:51.308:ERROR / ContentService(59):java.lang.NullPointerException 10-31 09:09:51.308:ERROR / ContentService(59):android.content.ContentService $ ObserverNode.collectObserversLocked(ContentService.java:620)10-31 09:09:51.308:ERROR / ContentService(59):android.content.ContentService.notifyChange(ContentService。 java:134)10-31 09:09:51.308:ERROR / ContentService(59):android.content.IContentService $ Stub.onTransact(IContentService.java:91)10-31 09:09:51.308:ERROR / ContentService( 59):android.content.ContentService.onTransact(ContentService.java:83)10-31 09:09:51.308:ERROR / ContentService(59):android.os.Binder.execTransact(Binder.java:288)10 -31 09:09:51.308:ERROR / ContentService(59):dalvik.system.NativeStart.run(ネイティブメソッド)で

その後、エミュレータの再起動のみが役立ちます。誰もがこれが何であるか知っていますか?

オリ

0 投票する
1 に答える
629 参照

android - sqlite データベースにバイナリ データを書き込む Android の ContentResolver

Androidのソースをいくつか読んでいますが、これを読みました:

ビットマップ (ビットマップ) をデータベースに格納しようとした場合 (uri はデータベース内の行の URI です)。私が理解できる限り、openOutputStream はバイナリ データをデータベースに格納できますが、ファイルのパスのみが DB に配置されます。ファイルはファイルシステムのどこかに配置されます。これは正しいです?私の質問は、この方法で保存されたファイルの正確な場所を指定するにはどうすればよいですか? 明確にしていただきありがとうございます。

0 投票する
1 に答える
756 参照

android - AndroidのMMSデータベースからmms番号、送信/受信、本文、および添付ファイルの詳細が必要です...どうすればいいですか?

「content://mms」コンテンツ リゾルバを使用し、mms データベースを取得しています。そこから番号、送受信、本文、添付ファイルの詳細を取得する方法は?

0 投票する
2 に答える
4505 参照

android - ContentResolver.insert は null を返します

アクティビティ内からサウンドを着信音/通知として設定するときに問題が発生することがあります。

ほとんどの場合、uri は "content://media/external/audio/media/23" のようなものですが、null の場合もあります。問題がどこにあるのかわかりません。オーディオ ファイルは問題ありません (問題なく再生されます)。もちろん、挿入メソッドは例外をスローしません。ドキュメントを調べましたが、null を返すメソッドについては何もありません。何が問題なのですか?

0 投票する
2 に答える
5450 参照

android - Android 用 ContentProvider の作成と使用

Android ContentProvider を呼び出すと、次の例外が発生します。

java.lang.RuntimeException: アクティビティ ComponentInfo を開始できません{de.harm.android.couchone/de.harm.android.couchone.CouchContactClient}: java.lang.IllegalArgumentException: 不明な URL content://de.harm.android.couchone .プロバイダ/test2

これらはプロジェクトです:

Android はいわゆるContentResolverを使用して通信しContentProvider、次に永続化機能 (データベースへのアクセス) を処理します。

ContentProvider一意の Uri で登録されます。は、このUri を使用して をContentResolver呼び出し、ContentProviderSQL クエリ文字列や保存するデータなどの追加データを渡します。

CouchOneProvider/AndroidManifest.xmlには、次のものがあります。

プロバイダーが使用する

を呼び出すためにCONTENT_URIによって使用されるを処理するには:ContentResolverContentProvider

  • 両方のいずれかに権限がありませAndroidManifest.xmlんか?
  • 権限をAndroidManifest.xml間違って定義していますか?
  • CONTENT_URI間違っていますか?

アップデート:

追加情報があります:

Logcat は次のように述べています。

de.harm.android.couchone.provider のプロバイダー情報が見つかりませんでした

これが出発点であるべきです。しかし、これまでのところ、解決策を見つけることができませんでした。

ContentProvider実装の完全修飾クラス名は次のとおりです。

AndroidManifext.xml名前が小文字であることを除いて、これは権限として正確に指定されていますが、これで問題ありません。

パッケージ名はxmlファイルであらかじめ定義されているので、「.Provider」でもOKです。

例外に見られるように、クライアントは次を呼び出します。

Logcatsの答えは次のとおりです。

de.harm.android.couchone.provider のプロバイダー情報が見つかりませんでした

何が欠けているのかわかりません。おそらく、Eclipse またはエミュレーターの問題でしょうか?

「run project as Android application」でプロバイダーをインストールします。

0 投票する
1 に答える
31502 参照

android - Androidのすべてのカメラ画像を一覧表示

Androidデバイスのすべてのカメラ画像のリストを取得するにはどうすればよいですか?

MediaStore経由ですか?どのように?

0 投票する
1 に答える
2746 参照

android - ContentResolverはどのようにして対応するContentProviderを見つけますか?

これは深い魔法の質問です。ContentResolverメソッドの呼び出しがContentProviderに固有のURIを取得することを理解していますが、Androidは実際にどのように関連付けを行いますか?

AndroidManifest.xmlのContentProviderで提供される権限に一致するURIが含まれていると思います。要求は、その権限を含むすべてのプロバイダーに送信されますか?権限が別の権限の前に付くプロバイダーを作成しようとすると、それは問題になりますか?

ContentProviderが実行されているかどうかを確認する方法はありますか?getType()メソッドのダミー応答が活気を示しているのではないかと思います。