2012-02-07 5 views
0

ここにコードを入力してくださいAxis2 WebサービスとAndroid KSOAP2クライアントを使用した実装に関する基本的な質問があります。SOAPトランザクション - 同期されていますか?

テーブルから未閲覧のエントリを取得するサーバーのAPIを持っています テーブル:キー、cul1..culn、culViewes - 閲覧されたかどうかのビット。

続くように私は(サービス中)GetUnViewedAPIを実現します。接続は、(モバイルクライアントで)途中で失われた場合

public int[] getUnviewed() 
{ 
    ... getting all unviewed ids... 
    ... marking them as viewed... 
    ... return the unviewed ids.. 
} 

何? 未視聴のエントリは表示されません。表示されているとマークされていますが、結果がユーザーに届いていないためです。

ユーザーがそれぞれのids(またはすべてのtogather ...)のACKを送信する必要がありますか? または... ???? 通常どのように処理されますか?

Yoav

答えて

1

これを分割します。まず、未視聴のものをすべてユーザーに渡します。次に、ユーザは、例えば、すべてを選択し、表示されたボタンを押した後、サーバーに戻って見たものを押して、それをそのようにマークします。

これをすべて自動的に行うと、ユーザーが実際に見たことがあるのか​​、それともそれを受け取ったのか分かりません。 Theoretically Soapはws *標準の1つの一部としてトランザクションサポートを持っていますが、私はそれがあなたのユースケースで役立つのではないかと疑います。私はまた、ksoap2アンドロイドがそれらをサポートしているとは思っていません。(そして私はプロジェクトオーナーです。)

+0

私はyoutポイントを参照しています....私は何をしていますか - Viewedフラグです - Lをデバイスに送信します。私はデバイスに格納するので、これらのエントリは、サーバーからすべての時間のロットの多くのデータを照会する必要はありません。私が理解しているように、ローカルDBに保存するたびにサーバーにメッセージを送信することをお勧めしますか?またはすべてのtogather ...そして、それがサーバー(D/L)として表示されているようにマークします。この場合、D/Lをチェックし、エントリが存在する場合DBに挿入する必要があります – user1136875

+0

これは基本的に手動でトランザクションを作成しています.WSトランザクションなどを使用しようとする可能性がありますが、それは難しいかもしれません。 .. –

関連する問題