問題タブ [android-contentprovider]
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.
android - Androidのコンテンツプロバイダーを介して電話の画像にアクセスする
コンテンツ プロバイダーを介して電話の画像/メディアにアクセスするためのサンプル コードまたはチュートリアルが必要ですか?
私は次のことを知っています。次は何ですか?
java - Android アプリケーションでは、テーブルごとに 1 つのコンテンツ プロバイダを持つべきですか、それともアプリケーション全体に対して 1 つだけ持つべきですか?
私は Microsoft .NET 開発 (主に C#) で長年の経験があり、Android と Java の速度を上げるために取り組んできました。ここまでで、いくつかの画面と機能するコンテンツ プロバイダーを備えた小さなアプリケーションを作成しました。
コンテンツ プロバイダーを開発するために私が見たすべての例は、通常、1 つのテーブルで動作するため、これが規則であるという印象を受けました。
他のテーブル用にさらにいくつかのコンテンツ プロバイダーを作成し、それらをテストしようとしたときに「不明な URI」IllegalArgumentException に遭遇しました。コンテンツ プロバイダーの 1 つによって例外がスローされていますが、呼び出すつもりだったプロバイダーではありません。
私のアプリケーションは、AndroidManifest.xml ファイルの最初のコンテンツ プロバイダを使用しているようです。このため、アプリケーション全体に対して 1 つのコンテンツ プロバイダのみを使用する必要があるかどうか疑問に思っています。
Android アプリケーションで複数のテーブルを操作するためのベスト プラクティスや例はありますか? テーブルごとに 1 つのコンテンツ プロバイダーを使用する必要がありますか?それとも、アプリケーション全体に対して 1 つのみにする必要がありますか? 前者の場合、URI を適切なプロバイダーに解決するにはどうすればよいですか? 後者の場合、コンテンツ プロバイダーのコードが switch ステートメントで汚染されないようにするにはどうすればよいですか?
android - Sqlite結合を使用して処理すると、カーソルが生成されます
ローカルのSqliteデータベースには1対多の関係があります。かなり基本的なもの。左外側の結合を行うと、次のような結果が返されます。
結果のカーソルには、次のような複数の行があります。
等々...
このような結果を処理するための標準的な方法または方法はありますか?明らかにA1しかありませんが、多くのBn関係があります。「リレーショナルデータベースの方法」の代わりに、複数のクエリを使用することに近づいています。うまくいけば、私は物事を行うためのより良い方法を知らないだけです。
私はこのクエリをコンテンツプロバイダーを介して公開するつもりであり、すべてのコンシューマーが同じ集計ロジックを作成する必要があることを嫌います。
android - 「グループ化」オプションを使用して MEDIA プロバイダーからクエリを実行する方法は?
私はAndroidの初心者です。実際には、コンテンツ プロバイダーとコンテンツ リゾルバーを使用して、メディア プロバイダーからデータをクエリしたいと考えています。
GROUP BY
私の質問は、句を使用して、以下のようにメディアプロバイダーからデータを照会するにはどうすればよいですか?
私は次のように設定projection
してみwhere
ました:
とwhere
:
しかし、クエリ オプションの設定方法がわかりませんでしたGROUP BY _id
。
私を助けてください。
android - コンテンツプロバイダ変更時のアプリ起動
誰かがコンテンツ プロバイダを変更したときに、アプリケーションを開始したいと考えています。具体的な設定です。設定フレームワークは、値が設定されると「通知」を呼び出します。
私のアプリが開始された場合、 registerContentObserver() を使用すると思いますが、開始されていません。
アプリケーションをウェイクアップするインテント フィルターをマニフェストで定義できます。バックアップ計画は、リスナーを登録したサービスを常に実行することですが、それは無駄またはリソースのように思えます。
ありがとう、オラ
android - カスタム コンテンツ プロバイダー
Android でカスタム コンテンツ プロバイダを作成するにはどうすればよいですか?簡単な例を教えてください
android - コンテンツプロバイダーリソース$NotFoundException
コンテンツプロバイダーを使用してプロファイルを作成しました。正しく実行した後、テーブルに3つのフィールドを追加しました。しかし、今では正しく機能していません。次のようなエラーが表示android.content.res.Resources$NotFoundException: String resource ID #0x4d2
されます。解決策はありますか?
java - コンテンツ プロバイダーを介してバイナリ BLOB を渡す
私の一連の Android アプリケーションに合わせてカスタマイズされたコンテンツ プロバイダーがあり、公開する必要があるものの 1 つは小さな (20 ~ 30 KiB) バイト配列です。これらの BLOB の URI は次のようになります。
#
は行番号です。結果のカーソルには、標準_id
列とデータ列があります。MatrixCursor
プロバイダーのquery()
メソッドでa を使用しています:
その後、データを使用するアプリケーションで次のことを行います。
ただし、データには元のバイト配列の内容が含まれていません。むしろ、[B@435cc518
配列の内容よりもアドレスのように見える のようなものが含まれています。の実装でバイト配列をラップしようとしましたjava.sql.Blob
が、コンテンツ プロバイダー サブシステムは SQLite で使いやすいように作成されているため、それを探している可能性があると考えましたが、役に立ちませんでした。
誰かがこれを機能させましたか?データがファイル システムにあった場合ContentProvider
、マーシャリングInputStream
されたデータをクライアントに提供するために使用できる方法がありますが、返送しようとしているデータは、コンテンツ プロバイダーの APK のリソースとして存在します。
android - ClassCastException: android.app.Application
エラーの原因となるクラスを以下に示します。
xml ファイル:
ActivityImgGrid クラスで使用されるクラス:
android - コンテンツ プロバイダー
コンテンツ プロバイダーに問題があります。コンテンツ プロバイダーを作成しようとしています。
これは、データベースからデータを抽出してリストビューに表示したいので、データベースにつながります。その後、プロバイダーを挿入するマニフェストを編集する必要があります
- URI は正しく解析されていますか?
- クラスを Content Provider に拡張すると、データベース ファイルがめちゃくちゃになります。もっと簡単な方法はありますか?
ただし、one.two.databases が存在しないというエラーが表示されます。