問題タブ [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.
android - Android 4.x:連絡先でカスタムアカウントタイプのリストを取得する
私はAndroid用の独自の同期アダプターを作成しようとしています。SDKのサンプル同期アダプターを調べていますが、ひどく文書化されていません。連絡先アプリに連絡先を表示させることができます。しかし、それらを編集したり、新しいものを作成したりすることはできません。
自分のアカウントタイプをデフォルトの連絡先アプリで作成するためにリストする方法や、編集可能にする方法に関する情報を見つけるのは非常に困難です。androidですでにサポートされているカスタムstüffのみのフィールドとデータを追加したくありません。
同期アダプターをデフォルトの連絡先アプリに統合する方法(交換同期のように)に関するチュートリアルまたはサンプルを教えてもらえますか?
- AndroidManifest.xmlに追加する必要があるもの
- contacts.xmlに追加する必要があるもの
- syncadapter.xmlに追加する必要があるもの
- 動作するために追加する必要のあるコードはありますか?
ちなみに、
私はICSより前のAndroidバージョンは気にしません。2.xの連絡先アプリはこれをサポートしていませんが、3.x以降はサポートしていることをどこでも読んでいます。2.xはテーブルから外れているので、私はそれを行うためのICSの方法を探しています。
前もって感謝します
android - RESTful コンテンツ プロバイダーは SyncAdapter を使用する必要がありますか?
正常に動作するカスタム コンテンツ プロバイダーと同期アダプターがありますが、サーバーへの非同期要求を開始するためのベスト プラクティスが不明です。たとえば、クライアントがコンテンツ プロバイダーにクエリ リクエストを送信すると、クライアントはローカル データ データベースにクエリを実行します。今度は、サーバー コンテンツをチェックする必要があります。
サーバー要求に推奨される方法は次のうちどれですか?
1)より多くのコンテンツを得るために、コンテンツプロバイダー内のサーバーへの直接非同期リクエストを開始するか、syncadapterがある場合、2)ContentResolver.requestSync(...これを間接的に達成するためにコンテンツプロバイダー内で作成しますか?
(1) は (2) を実装することになるようですが、コンテンツ プロバイダー内から同期アダプターが使用されている例は見たことがありません。UI はカーソル アダプターとオブザーバーによって駆動されるため、サーバーの同期がどのように行われるかについて確信を持つことは非常に役立ちます。
ありがとう
android - SyncAdapters 使用時に 2 回ログインする
SyncAdapter
データベース同期を処理するために使用する新しい Android アプリを作成しています。すべてが整っており、アプリは正常に動作していますが、2 回ログインしていることに気付きました。
最初のログインは、AuthenticatorActivity
クラス (拡張AccountAuthenticatorActivity
) がユーザーとパスワードを検証するときに行われます。
ユーザーとパスワードが正しい場合は、次のようになりますAuthenticatorActivity
。
- が存在しない場合は、
account
それを使用して作成しますmAccountManager.addAccountExplicitly()
- を使用
authToken
して保存されますintent.putExtra(AccountManager.KEY_AUTHTOKEN, authToken);
これは基本的に Android のサンプルからコピペしたものなので、問題ないと思います。
問題は、SyncAdapter
起動して使用するときです
拡張するクラス内のgetAuthToken()
メソッドが呼び出されます。そして、このメソッド内で、もう一度ログイン エンドポイントにアクセスしています。Authenticator
AbstractAccountAuthenticator
それ以降は、有効期限が切れるまで、ログイン エンドポイントに再度ヒットすることはありませんauthToken
。
これはあまり気になりませんが、ログインを 2 回行わないようにする方法があれば教えてください。
android - NTLM 資格情報を使用して WCF サービスを使用する Android 用の SyncAdapter
Dobjanschiのパターンに従って、rest-client-application を開発しようとしています。
したがって、Google の「samplesync」のサンプルを使用していますが、NTLM 認証を必要とする WCF サービスを使用する必要があるという問題があります。
linkのスキーマに従って、Webサービスへの接続をすでに正常に確立しています。
しかし、私が言ったように、Webサービスを開発するためのパターンに従いたいので、私の質問は、Googleの同期モデルにntlm認証を統合するにはどうすればよいですか?
AuthenticatorActivity または Authenticator クラスのどこかに設定する必要があると思いますが、正しく動作する SyncAdapter を確立するために、どこでどのように設定すればよいか正確にはわかりません。
誰かがこれで私を助けることができれば、本当に感謝しています。
お時間をいただき、ご支援いただきありがとうございます。
android - AndroidアプリでContentResolver.setMasterSyncAutomaticallyを実行するのは悪い習慣ですか、それとも失礼ですか?
コア機能のために、アプリケーションでsyncadaptorを広範囲に使用しています。また、syncadaptorが提供する定期的な更新も使用します。したがって、「アカウントと同期」が電話で無効になっていると、私のアプリケーションはほとんど役に立たなくなります。同期をオンにするためにContentResolver.setMasterSyncAutomatically(true)を実行することは、悪い習慣または失礼と見なされますか?メインアカウントと同期が無効になっていると定期的な同期が機能しないため、ContentResolver.setIsSyncableを実行するだけでは役に立ちません。このシナリオを処理する一般的な方法は何ですか?
前もって感謝します、
-v-
android - SyncAdapter を使用して *ローカル* の gmail および facebook アプリのデータと同期する
私が開発する必要があるアプリの場合、SyncAdapter を使用して gmail と facebook の両方のデータと同期できる必要があります。リモートサーバーではなく、ローカルのFacebookおよびGmailアプリ(利用可能な場合)と同期したいと考えています。ローカル アプリと同期すると、バッテリーの使用量が減り、ネットワークの使用量が減り、同期が速くなります。もちろん、必要に応じて、適切な権限を設定します。
私の質問:
- アプリ (gmail/facebook) のいずれかが利用可能な場合、それらにデータ (メッセージ、イベントなど) を照会することは可能ですか?
- そうでない場合、ユーザーがそれぞれのユーザー名とパスワードを再度入力する必要なくサーバーにクエリを実行できるようにする認証トークン (または任意の種類の資格情報) をそれらから取得することは可能ですか?
- それが可能であれば、facebook または gmail アプリの同期の直後に自動的に同期して、新しいデータをすぐに取得することもできますか?
これらのいずれも利用できない場合は、自分でデータをフェッチする必要があると思うので、この質問には関係ありません。
android - 同期間の遅延に対する SyncResult フィールドの使用
私は SyncAdapter の実装に取り組んでいます。不思議に思っていたのは、onPerformSync メソッドに SyncResult 型のパラメーターがあることです。SyncResult にはフィールド - delayUntil が含まれます。ドキュメントに記載されているように、同期間の遅延に使用されます。しかし、 ContentResolver.requestSync を呼び出すと、無視されます。それで、誰かがそれを適切に使用する方法を知っていますか?
android - 電話の連絡先をアプリと同期する
電話の連絡先 (名前と電話番号) をアプリの contentProvider の「連絡先」と同期したいと考えています。そこで、ContentOberver と SyncAdapter の 2 つの方法を検索して見つけました。
私の場合、Internt との接続は必要ないため、アプリのデータベースとのみ同期します。ユーザーが自分のデータベースでも削除したい連絡先を削除した場合、更新または挿入についても同じです。
この場合、ContentObserver がより良い方法でしょうか?
連絡先のキーを知る方法はありますか? db の行のキーのようなものです。はいの場合、データベースを頻繁に更新できます (ユーザーは時間を選択できます)。
android - 選択したアカウントをユーザー定義の頻度で同期
ユーザー定義の頻度で選択したアカウントを同期する Android アプリケーションを開発しています。
authority
とextras
の代わりに指定する必要がある値は何ですかaddPeriodicSync()
。これには sync-adapter を書く必要がありますか?
android - syncAdapterを適切に設定するにはどうすればよいですか?
私はsyncAdapterの初心者です。私はグーグルIOビデオ(ここで講義のプレゼンテーション)を見ました、そして私はそれについての2つのチュートリアル(こことここ)を読みました。
チュートリアルのコードも試しましたが、syncAdapterを正しく実装する方法がわからないのはイライラします。
私が信じているのは、いくつかの設定(マニフェストまたはxmlファイルのいずれか)が間違っているということですが、理由がわかりません。
同期アカウントの追加を許可し、アイコンで表示することに成功しました。
しかし、私はそれらが発生する理由を理解できないいくつかの奇妙な問題に直面しています:
アカウントの同期を許可します。エンドユーザーは同期ボタンを押すことができません。また、アカウントの追加時にそのようなものを追加しようとしても、自動同期されないようです。
アカウントを追加すると、エンドユーザーはアカウントの奇妙な説明「res / xml/authenticator.xml」を見ることができます。どこに設定されているかわからない。
アカウントをクリックすると(追加された後)、空のリストが表示されます(これは確率です。そこにアイテムを追加するにはどうすればよいですか?将来、FacebookやGmailとも同期する必要がありますが、イベントを成功させることはできませんこのリストに自分のcontentProviderを追加します。
実際の承認を行う必要はないので、AccountAuthenticatorActivityから拡張するアクティビティ内で代わりに次のコードを使用します。
また、ここで説明されているものを使用して、自動同期を設定し、同期を有効にしようとしました。