1

一般的なアドバイスが必要です。

アイコンを介して(通常の方法で)起動できるアプリを構築していますが、通知領域のクリックによってトリガーされるインテントもあります(アプリは通知領域にアイコンを配置します)。タイムイベント・アラームが発生すると覚醒します。

アプリには 5 ~ 10 個のビューがあります。ビューごとに新しいアクティビティを開く方がよいでしょうか? 複数のタスクを開かないようにするにはどうすればよいですか? 私のアプリがActivity-A、Activity-B、Activity-Cであり、Activity-AとActivity-Bから開始できる場合(アイコンまたは通知領域から開いているかどうかによって異なります)...すべてをきれいにする方法アプリを閉じると?

それとも、1 つのアクティビティを使用して、ビュー (xml レイアウト) を切り替えるだけの方がよいでしょうか?

4

3 に答える 3

0

私はあなたが見てそして読むべきものから始めましょう。Androidでのナビゲーションは非常に簡単に間違ってしまうことは明らかです。Googleにはアプリごとに異なる方法で行ってきた歴史がありますが、それらは改善されています。つまり、アプリを実行する場合は、その動作がどのように意図されているかを知っておく必要があります。そのための最善の方法は、ドキュメントを読むことです。前述のように、IO'12では素晴らしい講演がありました。デザインサイトにも非常に優れたセクションがあり、最後にAPIガイドにも優れたセクションがあります。

要約すると、フルスクリーンはアクティビティです(これはフラグメントで構成できます)。アクティビティは、事実上すべての場合、ホームから起動されるアクティビティをルートとするツリーとして構造化する必要があります。すべてのアクティビティに対して、階層内であなたを取り上げる「アップ」アクティビティが必要です。これは、最後の全画面状態に戻る必要がある戻るとは異なることに注意してください。また、全画面は、たとえばタブが画面内のナビゲーションを提供するため、「戻る履歴」に記録されないことを意味することに注意してください。

通知をタップすることになると、ホームを押し、最近のビューからタスクを削除し(タスクをクリアし)、タスクを開き、最後に最短パスを使用して、通知の情報を提示するアクティビティに到達します。について話しました。複雑です、確かにそうです...しかし、少なくともJBとTaskStackBuilderと呼ばれるサポートライブラリにはヘルパークラスがあります。

これらすべての鍵は、Androidの設計ガイドラインに従ったUI設計です。時間をかけてアプリのデザインを作成し、必ず分離(静的)と元に戻す(一時的)ようにしてください。

于 2012-09-12T20:38:29.917 に答える
0

マニフェストで定義できる別の起動モードを使用するのと同じくらい簡単かもしれません。または、使用している inent で考えます。いくつかの実験が必要ですが、SingleTask または SingleInstance が適切な選択である可能性があります。

この場合、アクティビティは onNewIntent をサポートし、それが望ましい効果である場合に既存のアクティビティを再利用する必要があります。

于 2012-09-12T22:04:58.777 に答える
-1

この場合、1 つのアクティビティを使用するか、フラグメントを使用することをお勧めします。

于 2012-09-12T16:32:52.530 に答える