問題タブ [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 投票する
1 に答える
901 参照

android - Android:モバイルを傾けると、ImageViewコンテンツが消える/URIが更新される

よろしくお願いします。私はかなり些細な問題に直面しています。ハードウェア:Motorola(Androidフォン)

imageviewに画像を表示しています。画像自体は、ContentResolverを介してURIから取得されます。問題は、携帯電話を傾けると、imageviewが空白になることです。ログと変数をトレースすることで、モバイルを傾けるたびに、関連するURIがデフォルト(つまりnull)の値に戻ることがわかりました。

もちろん、回避策があります。つまり、静的変数を使用します。しかし、関数でURIを渡して、アプリケーションで必要なことを実行したいので、別の解決策があるかどうか疑問に思っています。

誰かが何が起こっているのか知っていますか?

よろしく。

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

android - レコードのないコンテンツ プロバイダーにクエリを実行していますか?

カーソルを使用してコンテンツ プロバイダーにクエリを実行する方法に取り組んでいます。レコードを削除すると、loadfromProviderメソッドが呼び出され、配列リストが更新されます。通常、コンテンツ プロバイダーにはレコードが含まれていますが、すべてのレコードを削除してクエリを自動的に実行すると、例外がスローされます。これが私の方法です:

コンテンツ プロバイダーにレコードがない状態でこれを実行すると、次のメッセージがスローされます。

java.lang.IndexOutOfBoundsException: 無効なインデックス 1、java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257) でのサイズは 1 です

これは、カーソルが null 値を解析しようとしていることが原因だと思います。カーソルがレコードを返さない場合、残りのコードをバイパスして何も起こらない方法を見つけようとしています。

どんな助けでも大歓迎です。ありがとう

0 投票する
7 に答える
20968 参照

android - applyBatch を使用した何千もの連絡先エントリの挿入が遅い

多くの連絡先エントリを挿入する必要があるアプリケーションを開発しています。現時点では、合計 6000 の電話番号を持つ約 600 の連絡先があります。最大の連絡先には 1800 の電話番号があります。

今日の時点で、連絡先を保持するためのカスタム アカウントを作成したので、ユーザーは連絡先ビューで連絡先を表示することを選択できます。

しかし、コンタクトの挿入は非常に遅いです。ContentResolver.applyBatch を使用して連絡先を挿入します。さまざまなサイズの ContentProviderOperation リスト (100、200、400) で試してみましたが、合計実行時間は約 1 分です。同じ。すべての連絡先と番号を挿入するには、約 30 分かかります。

SQlite での遅い挿入に関して私が見つけたほとんどの問題は、トランザクションを引き起こします。しかし、私は ContentResolver.applyBatch メソッドを使用しているため、これを制御することはできず、ContentResolver がトランザクション管理を処理してくれると思います。

それで、私の質問に:私は何か間違ったことをしていますか、それともこれをスピードアップするためにできることはありますか?

アンダース

編集: @jcwenger: なるほど。良い説明!

そのため、最初に raw_contacts テーブルに挿入し、次に名前と番号を含むデータテーブルに挿入する必要があります。失うのは、applyBatch で使用する raw_id への後方参照です。

データ テーブルで外部キーとして使用するために、新しく挿入された raw_contacts 行のすべての ID を取得する必要がありますか?

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

java - Android | 電話番号で連絡先の写真を取得するための最良の方法は何ですか?

特定の連絡先の写真を取得する必要があるアプリケーションがあります。連絡先の電話番号を知っていますが、ContentResolverまたはその他のフォームを使用して電話番号で連絡先の写真が存在する場合、その写真を取得する方法はありますか?探していましたが、答えが見つかりませんでした。

電話番号を使用して連絡先の写真が存在する場合はそれを取得することの重要性を強調したいと思います。ありがとうございました。

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

android - 電話帳をアプリケーションに取り込む

連絡先の詳細を取得するために、次のコードを記述しました。問題は、私が取得している電話番号がnullを示していることです。手伝って頂けますか?

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

android - 一度に複数の連絡先を選択するにはどうすればよいですか?

次のコードを使用して、アプリケーションの電話帳の連絡先を取得します。

しかし、複数の連絡先を選択してDBにアップロードしたいと思います。これは可能ですか?もしそうなら、どうすればこれを行うことができますか?

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

android - Android 2.2 の ContentResolver [問題]

Androidフォンにaduioファイルを挿入しようとしています。Android 2.1でも同じコードが正常に機能します

しかし、Android 2.2で使用しようとすると; ContentResolver への挿入は成功しましたが、できません

ギャラリーで自分のオーディオ ファイルを見つける (ユーザーには見えないようにする)


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

android - Android ContentProvider が ContentResolver を見つけられない

私の目標は、Activity のない ContentProvider を作成することです。テストのために、私はテストを書きました-独自のアプリでのアクティビティ。Android にはまだロガーが含まれていると言いたい人のために、私はこれを知っています。

これはContentProviderの一部です

そのため、コンテンツ プロバイダー情報も manifest.xml に追加します。

これは、別のアプリにある私のクライアントアクティビティの一部です。

LogCat は、TestClient が ContentProvider を見つけられないことを教えてくれます

05-27 12:42:52.099: エラー/ActivityThread(548): de.xyz.android.log4android のプロバイダー情報が見つかりませんでした

私のエラーはどこにありますか。私の意見では、次の記事で言及したことはすべて実行しました。アンドロイド。ヒントを頂ければ幸いです。理解するためにさらにコードの断片が必要な場合は、私に尋ねてください。

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

android - ContentResolver.query()を使用してこのAndroidクエリを実行できますか?(左の参加とケース)

Androidで次のクエリ(擬似コード)を実行しようとしています。

連絡先がグループのメンバーであるかどうかを示す0/1フィールドとともに、デフォルトの連絡先ContentProviderを介して、システムアドレスブック内のすべての連絡先のIDと名前を選択しようとしています?

もちろん、すべての連絡先を簡単に取得してから、Adapterクラスでメンバーシップを個別にループしてクエリするのは簡単ですが、1つの外部結合クエリとして2つのクエリを実行すると、パフォーマンスが大幅に向上すると思います。

標準の高レベルの文字列投影とContentResolver.query()メソッドでこれを行うことはできますか?または、この種のクエリでは、より直接的なSQL実行を掘り下げる必要がありますか?

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

android - 生のSQLiteカーソルのregisterContentObserver()

私が使用registerContentObserver()した例はすべて、インターフェースを介して実行しContentProviderます。しかし、カーソルには呼び出しがあるので、Androidの人々は、アクティブな結果セットの行の1つが変更されたときregisterContentObserver()に、カーソルの更新を取得できるようにするいくつかの深い魔法をまとめたのではないかと思いました。SQLite私が間違っているか、そのような魔法はありません。これが私が使用しているコードです。ボタンをクリックして行#1の値を更新すると、onChange()コールバックが返されることが期待されます。何か案は?