1

Android contentprovider と JSON ベースのサーバーの間でデータ (この場合は連絡先) を簡単に同期する方法はありますか?

私の問題は、アンドロイドがカーソルなどを使用し、反対側に JSON 形式があることです。2 番目の問題: 同じ値に 2 つの異なる名前が付けられているため、2 つの異なるデータ ソースの値をマッピングする必要があります。

私の最初のアプローチは、「ユーザー」クラスを定義することでした。データを入力するためのさまざまな方法と、データを取り戻すためのさまざまな方法があります。問題は、このアプローチでは、すべてのメソッドで Android contentprovider と JSON サーバーの間のマッピングを行う必要があることです。

AndroidContact->(Mapping)->User-Object->(Mapping)->JSON-Format

JSON-Format->(Mapping)->-User-Object->(Mapping)->AndroidContact

ご覧のとおり、通信全体で少なくとも 4 回はマッピングを行う必要があります。これは、連絡先が持つことができるすべての情報を同期しているため、非常に大変なことです。

そのため、マッピング全体を複数回定義せずに、Android の連絡先を JSON サーバーと同期する賢い方法を探しています。

うまくいけば、私が探しているものを明確にすることができます。そうでない場合は、お気軽にお問い合わせください。

乾杯 L0rdAli3n

4

2 に答える 2

0

MatrixCursor を使用して、xml または json 形式のデータを返すことができます。

MatrixCursor : オブジェクトの配列に基づく変更可能なカーソルの実装。

final MatrixCursor cursor = new MatrixCursor(SEARCH_COLUMN_NAMES);              
for (OpenSearchHandler.Result result : results) {                       
     cursor.addRow(new Object[] { result.id, result.title, result.description, result.url });
}
于 2011-11-14T20:51:53.087 に答える
0

After another day searching the web for a preexisting solution for my problem (I didn't want to reinvent the wheel) I came up with the following solution:

I added a MappingContentProvider to hold the mapping informations and all those methods filling the User-Class with data or get the data back from it can now use it.

于 2011-07-05T22:05:01.020 に答える