問題タブ [square-tape]
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.
java - Androidテープのインポートエラー
私は正方形ごとにテープを探索し始めました。サンプルアプリケーションをインポートすると、import error javax.inject.Inject
これを解決するにはどうすればよいですか?
android - テープ ObjectQueue から「悪い」タスクを削除するにはどうすればよいですか?
Square のTapeライブラリを使用して HTTP RequestTask
をディスクに保持しているので、ネットワーク エラーやサーバーの問題などでリクエストが失敗した場合でも、リクエストが失われることはなく、後で再試行できます。
から「悪い」タスクを削除するための推奨される戦略はありObjectQueue
ますか? 不正な HTTP リクエスト タスクを作成し、それをタスク キューに追加してから、テープ サンプル コードのようにサービスで処理しようとするシナリオが考えられます。リクエストの形式が正しくないため (またはヒットしようとしているサービスが廃止された可能性があります)、リクエストは決して成功せず、リクエストはキューに永久に留まり、さらに追加されたリクエストが処理されるのをブロックします。head タスクの試行の失敗回数を追跡することも 1 つのオプションであると思います。
java - AndroidのメインスレッドからSquare Tapeファイルバックアップキューを使用できますか?
Square にはオープン ソース プロジェクト名 Tape http://square.github.io/tape/があり、永続的なファイル バック キューを実装しています。すべての例は、オブジェクトをメインスレッドからキューに追加できることを示しているようです。ただし、Android の他のすべてのベスト プラクティスは、メイン スレッドで I/O を実行することは、ANR でチキンを遊んでいることを示しているようです。
Square Tape ファイル バッキング キューは、メイン スレッドから使用するように設計されていますか? もしそうなら、他の形式の I/O に対して ANR を恐れることなく、メインスレッドから確実に安全に使用できるのはなぜですか?
java - QueueFile テープの読み取り時の EOFException
Square のTapeライブラリを使用して、サーバーへのデータのアップロードをキューに入れています。
キューは JSON 形式で File に保存されます。アプリが起動すると、キューを初期化してアップロードを開始します (つまり、Wifi の場合)。ただし、ユーザーの一部のデバイスではEOFException
、'null'
メッセージが表示されます (crashlytics にログインしています)。
エラーはFileObjectQueue
、既存のファイルからオブジェクトを作成するときに発生します - デバッグ情報から収集した実際のファイルは ~1MB です。
これを引き起こしている原因、またはそれを防ぐ方法はありますか? - たぶん、java.io のほこりを払う必要があります。
編集:Tape v1.2.1を使用
更新- 1.2.2 にアップグレードしてから、このエラーも表示されます
android - Square の Tape ライブラリを使用して、抽象クラスの呼び出しを処理する方法
Square の Tape ライブラリを使用していますが、基本的に抽象的な TapeTask クラスが必要な要件に遭遇しました。ただし問題は、GsonConverter (サンプル プロジェクトで示されているように、ライブラリの FileObjectQueue.Converter を実装する) の逆シリアル化プロセスが、インターフェイス/抽象クラスでうまく機能しないことです。
Gson デシリアライゼーションの問題だと思ったので、Gson インスタンスをカスタム TypeAdapter に登録しましたが、それでもうまくいきません。FileObjectQueue.Converter と関係があると思います。
現在、サブタスクからの厄介なラッパー コールバック インターフェイスを使用して、この問題を回避しようとしています。
私の要件は、単一の TapeQueue を持ち、複数のタイプのタスクを送信できることです。したがって、TapeTask 抽象クラスがあり、ImageDownloadTask、ImageUploadTask、UrlPostWithRetrofitTask、GoogleAnalyticsTrackerTask などの具体的な実装があります。すべて 1 つのキューに入ります。
これを達成する方法はありますか。私の質問は、要約すると次のようになると思います: FileObjectQueue.Converter を抽象クラスでうまく機能させるにはどうすればよいですか?
ヒント:P : そのクラスの javadoc には、「シリアル化されたバイト配列に具体的なクラス名も含める必要がある」と書かれていますが、それが何を意味するのかわかりません。私の目的を達成する方法で、シリアル化されたバイト配列に名前を含める方法の説明を誰かが投稿できれば、私は感謝しています!
java - レトロフィットのサービスをテープに注入する短剣タスク
私はレトロフィットサービスを持っています:
そして短剣モジュールで:
//restAdapter もそのモジュールによって提供されることに注意してください。
そして、そのサービスを使用しているテープタスクで、試しました:
ただし、この mService は常に null です。MyTask はモジュールの @Module( injects = {...}) に既に追加されていますが。
だから私はタスクのコンストラクターにコンテキストを渡し、私のタスクに次のようなものを注入しようとしました:
しかし、それでも mService は常に null です。
また、代わりに MyService をアクティビティに挿入し、それを MyTask の単なるフィールドにしてから、既に作成されたものを渡す場合。MyTask はテープ タスク (square のテープ ライブラリ) であるため、次のようにシリアル化すると (当然のことながら) 失敗します。
Tape Task にレトロフィット サービス クラスを正しく挿入する方法はありますか?
正しく説明できたかどうかわかりません..必要に応じて追加情報を提供できます。
ありがとう。
android - Android の Square Tape で Google Volley を使用する
Android初心者はこちら。数か月前に他の初心者がハンドヘルド デバイス用に作成したアプリを修正するように依頼されました。問題は、デバイスが主にネットワークの信頼性が低く弱い地域で使用されていることです。その結果、ほとんどのデータ アップロード リクエストが失敗します。
元の作成者は、独自の REST クライアントを展開することを決定し、永続性も実装しませんでした。それらを実績のあるネットワーキングおよびキャッシング ライブラリに置き換えることを考えています。具体的にはGoogle Volley
、ネットワークとSquare Tape
アップロード データの永続化に使用することを考えています。私の検索では、この組み合わせが使用されているインスタンスがスローされていないため、少し自信がありません。
冗長Volley
にしますか?のキャッシングおよび再試行メカニズムは、のキューと同じ機能を提供しますかTape
? アプリのクラッシュによるデータ損失を防ぐためのプラスが見えますが、それ以外の場合でもVolley を使用する場合は必要ですか?Volley
Tape
Tape
Tape