0

Androidについて読み始めてから、しばらく経ちました。すでにいくつかの基本的なアプリケーションを作成しましたが、まだ何かが欠けています: アプリケーション コンポーネントの共有は実際にどのように行われているのでしょうか? これは Android Dev Guide が言うことです:

Android の中心的な機能は、1 つのアプリケーションが他のアプリケーションの要素を利用できることです (それらのアプリケーションが許可している場合)。たとえば、アプリケーションが画像のスクロール リストを表示する必要があり、別のアプリケーションが適切なスクローラーを開発して他のユーザーが利用できるようにしている場合、独自のスクローラーを開発するのではなく、そのスクローラーを呼び出して作業を行うことができます。あなたのアプリケーションは、他のアプリケーションのコードやリンクを組み込んでいません。むしろ、必要が生じたときに他のアプリケーションのその部分を起動するだけです。

このような質問に出くわしたと思いますが、まだ混乱していると思います。そのような「プライベート アプリケーション」情報を取得して、そのアプリケーションの開発者に連絡する唯一の方法はありますか?

アプリが操作するデータに関する情報も非公開ですか?AndroidManifest.xmlファイルに記載されている場合、他のアプリでも利用可能ですか、それともAndroidのみ利用可能ですか?

Android への関心を満たし始めたとき、私を引き付けたものの 1 つは、相互運用性が非常に優れているという印象でした...

:)

私は間違っていたのでしょうか、それともまだ道を見つけられていないのでしょうか?

ありがとう!

4

1 に答える 1

1

アプリケーション コンポーネントの共有は実際にどのように行われているのでしょうか。

それは、「アプリケーション コンポーネント」を何と見なすか、および「共有」を何と見なすかに完全に依存します。

これは Android Dev Guide が言うことです

これはドキュメントのかなり悪い部分です。これが私がそれを書く方法です:

Android の中心的な機能は、1 つのアプリケーションが他のアプリケーションのコンポーネント (アクティビティ、サービスなど) を利用できることです (それらのアプリケーションが許可している場合)。たとえば、アプリケーションが連絡先のリストを表示する必要があり、別のアプリケーションがそれを行うアクティビティを開発し、他のユーザーが利用できるようにしている場合、独自のアクティビティを開発するのではなく、そのアクティビティを呼び出して作業を行うことができます。あなたのアプリケーションには、他のアプリケーションのコードが組み込まれていません。むしろ、必要が生じたときに他のアプリケーションのその部分を起動するだけです。

そのような「プライベート アプリケーション」情報を取得して、そのアプリケーションの開発者に連絡する唯一の方法はありますか?

開発者があなたとの統合を意図しているか、そうでないかのどちらかです。そうであれば、その方法を文書化する必要があります (たとえば、コードをトリガーするIntentために使用する形式)。startActivity()そのような統合ポイントが文書化されていない場合は、開発者に追加を依頼できます。ただし、応答を得ることを期待して無作為Intentsに攻撃することは、たとえ一時的に機能したとしても、スクリプトキディの戦術とほとんど同じではありません。これらの開発者は、アプリをアップグレードするときにコードが機能することを確認する義務はありません.

アプリが操作するデータに関する情報も非公開ですか?

「アプリケーションが操作するデータに関する情報」が何を意味するのかわかりません。アプリケーションによって管理されるデータは、デフォルトで非公開です。ここでも、アプリケーション開発者はデータの統合ポイント (コンテンツ プロバイダー、リモート サービス API など) を提供できますが、そうする人もいれば、そうでない人もいます。

私を魅了したことの 1 つは、相互運用性が非常に高いという印象でした。

Android は、他の一部のモバイル プラットフォームよりも優れた相互運用性の可能性を提供します。ただし、その可能性を使用するには、相互運用者間の同意が必要です。気が向いたからといって、一方的に別のアプリのデータベースにハッキングしたり、プライベート アクティビティを呼び出したりすることはできません。

より多くの Android 開発者がより多くの統合ポイントを提供する必要がありますか? 抽象的には、確かに。ただし、これにはサポート コスト (統合に関する質問への回答など) が追加され、コーディングの柔軟性 (統合を行う人のために安定した API を維持する必要があるなど) が制限されることに注意してください。開発者がそのすべてを負担したくない場合でも、開発者を責めることはできません。

于 2010-12-02T18:52:26.840 に答える