問題タブ [aidl]
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 - サービス IPC 接続を使用した CalledFromWrongThreadException
ここのチュートリアルを使用して、 (現在) TimerTask
to do をSystem.out.println("tick")
毎秒実行しているサービスを開発しています。私のコードは、いくつかの名前の変更を除けば、サイトのコードとまったく同じです。サービスからアクティビティに文字列を渡そうとしないと、すべてが機能します (サービスが実行され、「ティック」が出力されます)。
私が達成しようとしているのは、メイン アクティビティの TextView を、サービスから受け取った文字列で更新することです。TextView を新しいテキストで更新するappend(String)
メソッドが正常に機能しています。したがって、サービスTimerTask
に追加listener.handleMessage("tick")
し、アクティビティにリスナー機能を実装します。
アプリケーションを実行するとSystem.out
、「ティック」が表示され、問題の原因としてメソッドをCalledFromWrongThreadException
指しているスタックトレースが表示されます。append()
この例外についていくつか質問があることは承知していますが、それらのほとんどは懸念事項Thread
とHandler
問題です。サービスについては何も見つかりませんでした。これが可能かどうか知っている人はいますか?
解決
実行可能な拡張:
コールバックをグローバル Handler への呼び出しに置き換えます。
java - Android で IPC 経由でキュー オブジェクトを渡す
キューを実装するクラス X があります。
クラス X のオブジェクトを AIDL インターフェイスに渡したい。.aidl ファイルにクラス X をインポートすると、Eclipse にエラーが表示され、「クラス com.test.X のインポートが見つかりませんでした」と表示されます。クラスはあるのに。
Google で検索すると、サービス内で使用するクラスごとに個別の .aidl ファイルを作成する必要があることがわかりました。そのため、X.aidl を作成しましたが、機能しませんでした。誰でも何かを提案できますか?
ありがとう。
android - AIDL インターフェースで継承を使用することは可能ですか?
AIDL を介してインターフェイスをクライアント アプリケーションと共有したいと考えています。コンパイル時エラーが発生しています。コード スニペットは次のとおりです。
AIDLセット(全て同梱) -->
ChildListener.aidl - 上記のコードが含まれています。
Class1.aidl - Class1 をパーセル可能として宣言します。Class1 の定義は parcelable を実装しています。
ParentListener.aidl - ParentListener を宣言します。
エラー -->
コンパイル時エラーが発生します (サービスのコンパイル中に)
AIDL インターフェイスでは継承を使用できないようですか? それとも、ここで何かが欠けているということですか。任意のポインタをいただければ幸いです。
よろしくお願いします
android - AIDL の使用例
Androidを理解するAIDL
には、実際の例が 1 つ必要です。これは、開発のどのシナリオで使用する必要があるかを意味しますAIDL
。
Androidドキュメントを読むことで...混乱し、非常に多くの質問が発生するため、ドキュメント全体を読むのは困難です。誰か助けてください
電話の外と通信するためのものです。
または、さまざまなアプリとの通信 (他のアプリと通信する必要がある理由)
彼らがドキュメントで話しているサービスの種類
android - Eclipse で AIDL ベースのリモート サービスをデバッグする
AIDL を使用して、クライアント アプリにいくつかの機能を提供するリモート サービスを構築しています。サービスのコードでいくつかの問題に直面しており、デバッグしたいと考えています。残念ながら、Eclipse はリモート サービスの AIDL 関数内のブレークポイントで停止しません。
AIDL インターフェイス スタブを実装するサービス内で Eclipse を停止するにはどうすればよいですか?
android - Android アプリ内課金 - IMarketBillingService.java が生成されない
アプリ内課金を実装したプロジェクトがあります。現在、市場に出回っており、すべて正常に動作しています。アップデート用に新しいビルドを作成したいと思ったので、状況は逆さまになりました。プロジェクトをクリーンアップしましたが、ImarketBillingService.java
ファイルが生成されなくなりました。私が試したこと:
100 万回更新、クリーンアップ、再インポート
プロジェクト ビルダーのチェック/チェック解除
プロジェクトに IMarketBillingService.aidl ファイルを再度追加する
他の API レベルの構築
私のプロジェクトの古いバージョンから生成されたJavaファイルを追加します(署名は問題ありませんでしたが、APKをデバイスにインストールした後、請求サービスに必要なファイルが見つからなかったため、アプリはすぐにクラッシュしました)
android - AIDLとメッセンジャーを同時に
AIDLとメッセンジャーを同時に使用する方法のデモを書こうとしていますが、エラーが発生し、理由がわかりません。
MessengerDEMOActivity.java
MessengerDEMOServiceConnection.java
MessengerDEMOService.java
そしてスタックトレース:
これらの行がないと、コードは機能します。
AIDLなしで動作し、AIDLを「単独で」動作します。onBinderを複数回呼び出すことはできますか?
android - Dalvik形式への変換がエラー1-で失敗しました-なぜですか?
既存の完全に機能するプロジェクト、ファイルにのみ追加しましたcom/android/vending/billing/IMarketBillingService.aidl
(私はまだサービスを使用しようとしていないので、(market_billingサンプルから)他に何も追加していません)
完全にコンパイルおよびビルドされますが、実行しようとすると、コンソールに次のように表示されます。
なぜこれが起こっているのか考えていますか?
注:この追加された.aidl
ファイルは外部jarではないため、私の場合、ここでの回答は役に立ちません。
更新:その疑わしい.aidl
ファイルを削除し、プロジェクトをクリーンアップしましたが、問題は解決しませんでした。変。
更新:私はそれを知っていました!SDKを9から16に「アップグレード」する前に完全に実行されていた既存のプロジェクトを実行しようとしましたが、そこでも同じエラーが発生します。私はその「アップグレード」を避けるべきだったと知っていました。今では、計画された制御された移行を実行できずに、強制されたときではなく、計画に従ってアップグレードするまでは発生しなかったはずの問題のトラブルシューティングに時間を浪費する必要があります。アプリのリリースが遅れました...
更新:からへのバグのある自動変換への接続があるようですが、すべての変換エラーを手動で修正default.properties
しproject.properties
たにもかかわらず、問題は解決しません。私は今、開発環境がありません。ばかげてる。
android - .aidlをライブラリプロジェクトに配置できないのはなぜですか?
私はこの答えのコメントに出くわしました。それは図書館プロジェクトを述べています:
- .aidlファイルを保持できません。
- 別の図書館プロジェクトに依存することはできません、
- 資産を保有できません
さて、そのコメントは約1年半前に行われたものであり、私は完全に機能するプロジェクトを持っているので、項目2はもはや真実ではないことを確信を持って伝えることができます。別のライブラリプロジェクトに依存します。
だから、私の質問は2つです。
.aidl
ライブラリプロジェクトがファイルを保持できないというのはまだ本当ですか?- #1の答えが「はい」の場合、その理由は何ですか?
ところで、実験として、IMarketBillingService.aidl
(アプリ内課金のサンプルから)ライブラリプロジェクトに(まだ何も使用せずに)配置しようとしましたが、プロジェクトは以前と同じようにビルドおよび実行されます。したがって、ライブラリプロジェクトにを含めることがまだ不可能な場合は.aidl
、これはもっと深いものである必要があります...
android - AndroidでPublicKeyオブジェクトをサービスからアクティビティに渡しますか?
PublicKey
サービスからアクティビティにオブジェクトを渡そうとしています。ただし、 はそのタイプAidl
をサポートしていないようです。PublicKey
これを行う方法についてのアイデアはありますか?