問題タブ [robospice]

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 に答える
1638 参照

java - RoboSpice と ORMLite - データへのアクセス

新しい Android アプリケーションに RoboSpice を使い始めました。RoboSpice を ORMLite および SpringAndroidSpiceService と共に使用して、REST Web サービスから JSON を読み取ります。

今のところ、次のことができました。

  • カスタム SpiceService を作成する
  • WS からデータを取得するためのリクエストをほとんど行わない
  • ORMLite を使用してデータを DB に永続化する

... 「robospice-sample-ormlite」サンプルのおかげです

私のアプリの主な部分 (下の質問):

ベースアクティビティ

スプラッシュ アクティビティ

マイスパイスサービス

アプリケーションは、スプラッシュ スクリーン (SplashActivity) とその他のアクティビティで構成されます。スプラッシュ スクリーンは、数秒後に MainActivity を開始します (今のところタイマーのみ)。

私がやりたいことは、スプラッシュ画面からすべてのデータをダウンロードし (RoboSpice はこれらのデータを SQLite DB に既にキャッシュ/保持しています)、他のアクティビティからアクセスすることです。


質問 1: SplashActivity の外部でデータベース データにアクセスして操作することは可能ですか? どのように (いくつかのコード例を提供できますか)?

「RoboSpiceDataBaseHelper」に関するWiki ページは、私にはあまり明確ではありません。「RoboSpiceDataBaseHelper は、データベースの作成とバージョン管理を管理するために使用される」と記載されていますが、次の段落では、「データベースからのデータのクエリと取得を可能にするいくつかの方法」と記載されています。 "。RoboSpice サンプルでは、​​他のアクティビティからのデータの取得については何もありません。ORMLite のパワーを活用するには?

Snicolasのこの Google グループのトピックを読みました。

RoboSpice キャッシングは透過的であることを意図しており、SpiceService に完全にカプセル化されていることに注意してください。キャッシュシステム(あなたの場合はデータベース)への共有参照(サービスとアクティビティによって共有)を介して直接キャッシュシステムにアクセスできるはずです。また、その場合、同時アクセスやデータベースの不整合などの副作用を防ぐことはできません。

それで、どうやって?私は完全に迷っています:(

編集 03/01: RoboSpice と ORMLite の能力が不足しているため、そのようなソリューションを実装する方法や自分で (少なくとも効率的に) 行う方法について混乱しています。RoboSpiceDatabaseHelper、InDatabaseObjectPersister、InDatabaseObjectPersisterFactory の使用/結合方法がわかりません...


質問2:

私の最後の質問は、データ アクセスとは関係ありません (このトピックを使用して質問します)。

getSpiceManager().execute(barsRequest, new Integer(1), DurationInMillis.ONE_HOUR, null)(RequestListener へのコールバックなしで) 何もしないのはなぜですか? 実際、私の場合 (スプラッシュ スクリーン)、コールバックは必要ありません。避けることはできますか?


ありがとう!

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

java - Android の Robospice で bing トランスレータ API を使用しようとしています

翻訳アプリでネットワーキングの部分を実行するために、robospice を実装する必要があります。以前は async タスク クラスを使用していて問題なく動作していましたが、今は robospice を実装してアプリケーションを改善したいと考えています。次のコードを実行しようとしていますが、実行されないだけで例外はスローされません....

log cat で最後に表示されるのは Request First です!! その後は何もありません。Request Listener onRequestFailure に到達することさえありません。私が間違っていることを教えてもらえますか?

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

android - アプリがバックグラウンドになってからフォアグラウンドになった場合、Robospice リクエストは終了しませんか?

REST API を呼び出すための RoboSpice ライブラリを使用してアプリを開発しています。1つのことを除いて、すべてがライブラリで正常に機能します。私は RoboSpice で利用可能なキャッシュを使用していないため、すべてのリクエストはキャッシュなしで行われます。現在、リクエストが進行中で、ユーザーがホームボタンを押すと、 onStop() が呼び出され、スパイスマネージャの shouldStop() が呼び出され、通知のためにすべてのリクエストリスナーの登録が解除されます。アプリが再びフォアグラウンドになると、リスナーに通知されていないため、UI の更新は行われません。

Robospice が提供する Cache を使用したくありません。キャッシュを使用せずに UI 更新通知を取得できる他の方法はありますか??

0 投票する
0 に答える
459 参照

android - Android 用 REST サービスからのエンティティ関係の永続化

REST API 経由でアクセスできるデータベースのローカル ストアを維持しようとしています。私は素晴らしい RoboSpice と Spring ライブラリを REST クライアントに使用しようとしています。Jackson は JSON 応答を解析/キャッシュし、ORMLite は結果のオブジェクトを永続化します。

問題は、取得した JSON 応答の外部オブジェクトの関係を保存する方法がわからないことです。JSON オブジェクトがネストされている場合もあれば、ID によって参照されている場合もあります。

典型的なシステム応答

大会対応

別の大会の反応

ネストされたオブジェクトは正常に動作しますが、それを殺すのは id による参照がある場合です。次のように、データ モデルに 2 つのクラスがあります。

システムクラス

競技クラス

system_id を参照する 2 つのプロパティを持つことは決定的に悪い考えのように思えますが、私が望む動作の代替手段を見つけることができません。システム オブジェクトがコンペティション オブジェクトにネストされていない場合でも、システムの ID が常に提供されるため、コンペティションはローカル データベース内のシステム オブジェクトとの関係をマップできる必要があります。

もう 1 つの問題は、JacksonObjectPersister と InDatabaseObjectPersisterFactory (ORMLite で使用するために RoboSpice が提供) という 2 つのオブジェクト永続化プログラムを使用していることです。その理由は、オブジェクトがネストされているリストをデータベースに保持したくないからです。私の理解では、Jackson はサーバーからの JSON 応答をキャッシュする必要があり、ORMLite はデータ モデルをキャッシュする必要があります。

これは私が得ているエラーです

頭を壁にぶつけています。要約でこのエッセイを締めくくろうとします...

私が提供した JSON 応答に対して Jackson と ORMLite を使用してオブジェクトの関係をまとめる方法はありますか?

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

java - JSON データを含む RoboSpice Google Http Java Client モジュールを使用してファイルをアップロードする方法

私は使用しており、データを使用してリクエストをRoboSpice Google Http Java Client module正常に実行しています。POSTJSON

問題: 私の問題は、リクエストにbyte[]データを添付する必要POSTがあることですが、これを行う方法が見つかりませんRoboSpice Google Http Java Client module

ここに私のコードスニペットがあります:

使ってみMultipart HTTP Requestsたけどダメ。