2

ここ数週間、Android アプリケーションを作成しようとしてきましたが、ほとんどすべてうまくいきましたが、疑問に思っていたことが 1 つあります。それは、インテントを使用したプラグイン機能です。

私が作成しようとしているのは、基本的にコミックリーダーです。現在使用しているバージョンでは、アプリケーションを開いてお気に入りのコミックのリストを取得し、1 つを入力して詳細ビューを取得し、最後にページにアクセスします。これは 3 つのアクティビティによって管理されます。リスト、詳細、ページ。ただし、現在、アプリケーションは 1 つのソース (サーバーからの特別な xml フィード) のコミックしか読み取ることができず、これを少し拡張できることを望んでいました (また、ページアクティビティやその他のものが必要です)で片付けられるので、一から作り直そうと思っていて、勉強のつもりで一からやってみようと思います)。そして、私は素晴らしいと思うアイデアを思いつきましたが、それが可能かどうかはわかりませんが、これは私が考えていることです:

  1. ユーザーはアプリケーションに入り、コミックの (最初は空の) リストを取得します。
  2. ユーザーがコミックを検索するボタンを押すと、「コミックを検索」などのインテントが起動します。これにより、システムは一致するすべてのアクティビティを表示する必要があります。これにより、さまざまなアプリケーションを通じてさまざまなコミック プロバイダを提供できるようになります。
  3. 別のアクティビティが開始され、ユーザーにいくつかのオプションが表示される場合があります (たとえば、ファイル ブラウザー)、または表示されない場合があります (xml フィードの例では、ロードする必要があります)。
  4. リストは最初のアクティビティに返され、ユーザーに表示されます。2 番目の (検索) アクティビティは終了しました。
  5. ユーザーはリストからコミックを選びます。これにより、いくつかの詳細アクティビティが開きます。詳細アクティビティは、選択したコミックに対応するキーを受け取る必要があります。これは、コミック プロバイダーの中でもユニークなはずです。詳細ビューは、何らかのコンテンツ プロバイダーまたはアクティビティ (いずれかが最も適している場合) を介してデータを取得する必要があります。
  6. ユーザーはページを選択できます。これは、ステップ 5 と同じルーチンである必要があります。

私の質問は、これは Android システムで可能ですか? もしそうなら、それは悪い考えですか? また、多かれ少なかれ同じことを達成するためのより良い方法はありますか?

4

1 に答える 1

0

Intentsを指定して、この動作の一部を実現できます。インテントは、ある種のサービスに接続された識別子です。たとえば、ユーザーがアプリから何かを共有できるようにする場合は、ACTION_SEND インテントを使用できます。これにより、OS はすべてのアプリを調べて、このインテントを処理し、ユーザーにリストとして表示するアクティビティが定義されているかどうかを確認します。コミック マネージャとコミック ダウンローダの 2 つのアプリケーションを作成すると、インテントを定義して、必要なすべてのデータをアプリケーション Web サイトに公開できます。別のコミック ダウンロードを作成したい人は、このインテントを使用するだけです。コミックマネージャーは、startActivityForResult呼び出し、ダウンローダが正しく構築されていて、定義されたキーまたは SD カード上のコミックへのパスを返す場合、プログラムは適切かつスムーズな方法で統合できます。

これはクールな動作であり、この方法でアプリを接続する Android の主な利点です。ただし、これには、ユーザーがアプリを使用するためにコミック ダウンロード アプリとリーダー アプリをダウンロードする必要もあります。おそらく、単純なダウンローダを統合して、他のすべての可能なダウンロードと同じ公開インテントをリッスンできる可能性があります。これにより、ユーザーは 1 つのアプリのみを必要とするだけでなく、アプリの「メッシュアップ」も可能になります (これについては情報がありません動作しますが、すぐにテストできます)。

于 2010-05-25T08:25:04.653 に答える