問題タブ [android-syncadapter]

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 投票する
9 に答える
207496 参照

android - Androidアプリとウェブサーバー間でデータを同期する

Androidアプリとサーバー間でデータ(dbレコード、メディアなど)を同期したい。あなたがEvernoteまたは同様のアプリケーションを見たことがあるなら、あなたは確かに私が何を意味するかを理解しています。

いくつか質問があります(DBレコードを同期したいとします):

  1. すべてのユーザーは、自分用のサーバースペースの一部(EvernoteまたはなどDropbox)を持っています。たぶん、ユーザーは携帯電話で新しいレコードを作成し、サーバーで新しいレコードを作成します。これらのレコードを一致させるにはどうすればよいですか?同じIDのレコードがある場合、どのアルゴリズムを提案しますか?

  2. JSONを除いて、携帯電話デバイスとサーバー間でデータを送信する方法はありますか?

  3. SyncAdapterContentProviderが私の問題を解決できる場合は、正確に説明してください。(サンプルやチュートリアルを私に提供していただければ、または私の検索を広げたりガイドしたりするのに役立つアドバイスやキーワードもいただければ幸いです)。

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

android - SyncAdapter が自動的に同期しない

コンテンツが変更されてから 30 秒後に自動同期が行われることを理解しています。それよりも長く logcat で脂肪を監視すると、自動同期が発生しないことが証明されます。少なくとも、私のカスタム SyncAdapter ではありません。

ユーザープロバイダー:

UserSyncAdapter:

ランチャー:

何か不足していますか?または、私の検索に役立つように、この件に関する詳細情報を誰かに教えてもらえますか?

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

android - アカウントが存在しない場合に Android Authenticator がログイン画面を起動する

私はAuthenticatorを構築し、SyncAdapterを構築しました(どちらもエミュレータの設定から手動で実行できます)。

アカウントが見つからない場合、アプリの起動時にアプリケーションでログイン画面 (addAccount メソッド) を起動するにはどうすればよいですか?

これが私のManifest.xmlです...

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

android - 双方向接点同期アダプターを作成します

こんにちは、Stackoverflowersさん!

私はAndroid2.3.3用のCardDAV同期ソースを使用していますが、考えがわかりません。私はsamplesyncadaptaterに関するドキュメントを注意深く読みました。これは、離れたサーバーからの連絡先を読み取るためにのみ機能します。
しかし、私の場合は、サーバーからの連絡先の読み取りとサーバーへの連絡先の書き込みの両方に音声で送信するソースを追加しようとしています。

この時点で:
-Androidで同期ソースを追加するときに、私のプロジェクトが表示されます。
-ソースをパラメータ化して認証を機能
させる-連絡先アプリに移動してアカウント表示オプションに移動すると(メニュー名は電話のROMによって異なります)、ソースを選択して連絡先を表示できます
-しかし、連絡先を作成しようとすると、私のgmailとOutlookのソースのみが提供されています。たぶん私は私が必要とする様々なxmlファイルのいくつかを見逃しています。

Plzは、さまざまなxmlファイルを配置するのに役立ちます...

これがManifest.xmlです

これがsyncadaptater.xmlです:

そして最後に、authenticator.xmlがあります:

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

android - Androidsyncadapter-特定のデバイスで連絡先同期を表示しない

学校のプロジェクトで、連絡先をアプリと同期するための機能する同期アダプターを実装しました。エミュレーターとAndroid4.0.3のHTCEvo3Dで試してみましたが、動作します。

ただし、特定のデバイス(HTCHero4.0.3およびXperiaX102.3.7)で、アプリのアカウントを追加すると、アカウントに連絡先を同期するための行が表示されません。これらのデバイスで、logCatでWRITE_SECURE_SETTINGSが許可されていないことを確認しました。

その間、マーケットアプリ(システムアプリではなく、例:Hotmail)が、私が持つことができないのと同じ連絡先のアカウントを持つことができるのを見てきました。

彼らはどのようにそれをしますか?そして、私はそれについて何ができますか?

簡単な回答が必要です。締め切りは非常に近いです。

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

android - Android SyncAdapter は自動的に同期を初期化します

SyncAdapterアプリ用の と、アプリAccountManagerアカウントを Android アカウント マネージャーに追加する があります。アカウント マネージャーにアカウントを追加するときのコードは次のようになります。

設定からアカウント マネージャーにアカウントを正常に追加できますが、エミュレーターでバックグラウンド データと自動同期設定が有効になっている場合でも、設定でアカウントの同期を手動で有効にする必要があります。手動で同期を有効にすると、同期は正常に実行されますが、デフォルトでは開始されません。

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

android - AndroidデータベースをAbstractThreadedSyncAdapterと同期します:onPerformSyncは呼び出されません

AbstractThreadedSyncAdapterを使用して、ローカルデータベースをサーバーと同期しようとしています。私は見つけたガイドに従いましたが、それを機能させることができません。Android2.2用です。

オーセンティケーターシステムが機能しています。AccountAuthenticatorActivityで、アカウントを作成した後、次のことを行います。

SyncServiceを作成し、マニフェストで宣言します。いくつかの機能:

次に、SyncAdapterを実装しました。onPerformSync関数は空です。呼び出されたかどうかを知りたいだけですが、呼び出されることはありません。

私のxml/sync_adapter.xmlには次のコードがあります。

マニフェストのサービス部分は次のとおりです。

私が従ったガイドがそれが必要であると言って、マニフェストでもそれを宣言したので、私は自分のContentProviderを作成しました(関数は空で、ログに書き込むだけです)が、どの関数も呼び出されません。

onPerformSync関数が呼び出されない理由を誰かが知っていますか?SweetSyncServiceのonBind関数が呼び出され、SweetSyncAdapterが作成されますが、これ以降、ログにメッセージが表示されません。

読んでくれてありがとう、私はたくさんのコードをタイプしたことを知っています、しかし私はそれをしばらくの間取り組んできました、そして私はそれを修正することができません。

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

android - REST呼び出し、データの永続性、ContentProviderの同期と監視を処理する方法

この質問は何度も聞かれていることは知っていますが、私が対象としている問題は少し異なり、おそらくもっと複雑だと思います。

RESTful Webサービスを使用し、次の要件が必要なアプリケーションを開発します。

  • アプリは、いくつかの本、その著者、および編集者をリストに詳細に表示する必要があります

  • アプリは本の検索も許可する必要があります

  • 書籍、著者、編集者は、RESTfulWebサービスから取得されます

  • アクティビティを開くと、古いデータ(存在する場合)が最初に表示され、新しいデータがネットワークから更新されるように、すべてのエンティティをキャッシュする必要があります。

  • エンティティが更新されるたびに、関係者に通知する必要があります(ContentObserver?通常のListener実装?)

  • 呼び出しがすでに実行されている場合(toapi/books/1337またはtoなどapi/editors)、呼び出し元にデータをロードしていることを通知し、元の呼び出し元であるかのように古い呼び出し元(存在する場合)を与える必要があります。

  • 一部のデータ(本と著者のみ)はN分ごとに更新する必要があり(ユーザーが決定)、オブザーバーに通知する必要があります(SyncAdapter?)

質問

Google I / O2010でVirgilDobjanschiによって提案されたすべてのコンポーネントを見て研究した後、ここに私の疑問があります。

  1. 発信者の「エンティティが更新されている」という概念を透過的に処理するにはどうすればよいですか。実装する必要があるので使用する必要ContentObserverContentProviderありますか?

  2. Iを使用するContentObserverと、(Dobjanschiによって提案されたように)単一のエンティティのステータスフラグを簡単に設定できます。たとえば、、などUPDATINGですINSERTING。しかし、リストをどのように処理する必要がありますか?書籍のリストが必要だとしましょう。ステータスフラグはどこに置くべきですか?リストのみのステータステーブルに入れる必要がありますか?もしそうなら、私は2つのを観察するCursor必要があります。1つはステータス用で、もう1つは実際のリスト(つまり、テーブル/コンテンツURI)用です。そして、私が求めているエンティティが(まだ)存在しない場合、またはREST呼び出しがを返す場合はどうなり404ますか?コールバックを処理するにはどうすればよいですか?

  3. すべてのRESTメソッドをに配置した場合、ネットワークからエンティティ/エンティティリストを更新するよう**SyncAdapter**に「強制」できますか(したがって、適切なテーブルに配置できますか)。SyncAdapterこのように、ステータスフラグが役立ちます。

  4. メソッドしかないので、複数のエンティティ(実際には、本や編集者を時々更新したいので、エンティティリスト)でSyncAdapter作業できますか?performSync

  5. 私のSyncAdapter実装がデバイス設定でユーザーによって無効にされている場合、それは何も更新しません(そしてそれは問題ありません)。しかし、ユーザーがアクティビティの[書籍を更新]ボタンをクリックした場合でも、performSyncメソッドを呼び出すことはできますか、それとも無効になりますか?

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

android - AccountManagerがアカウントを削除すると、SyncAdapterに通知が届きますか?

だから、私の質問は、[設定]-> [アカウントと同期]に移動しSyncAdapterて、クラウドサーバーと同期している作成されたアカウントを選択し、[アカウントの削除]を選択すると、あなたSyncAdapterに関する限りどうなりますか?確認を求めるダイアログが表示され、そのアカウントに関連付けられている電話のデータが削除されます。フレームワークがローカルデータベースに保存したデータを自動的に削除できるとは簡単に信じられませんがSyncAdapter、アカウントを削除するとそのデータが削除されることを意味しているようです(そうすべきであることに同意します)。SyncAdapterローカルデータベースからのすべての適切なデータの削除を処理するためのアカウント削除のコールバックとして機能する追加機能はありますか?多分それはを通して行われなければならないAccountManager代わりは; AccountManagerアカウントが削除されると通知が届き、そこから。なしでデータの削除をトリガーできますSyncAdapter

SyncAdapter編集:関連するメモで、同期マネージャーは、新しいアカウントが追加されたときに同期するアカウントごとに自分を呼び出していますか?onPerformSync(...)アカウントを追加すると、以前に追加したアカウントと追加したばかりのアカウントが実行されているのがわかります。それを停止したいと思います。

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

android - 毎分アカウントを同期

私の場合、次の行をAccountAuthenticatorActivity使用して、アカウントの同期オプションをセットアップしてみます。addAccountExplicitly

syncFrequencySeconds86400 (24 時間ごと) に設定されます。しかし、私の同期アダプターはまだ毎分トリガーされています。私は何を間違っていますか?(同期自体は問題なく動作します)