2011-11-11 12 views
6

アンドロイド開発からちょうど始まります。まず、ギャラリー+画像ビューアのように機能するアプリケーションを構築しています。画像を素早く素早くサブフォルダに移動して、たくさんの写真を簡単に並べ替えることができます。Androidのベストプラクティス - ビュー/アクティビティ

これまでのところ、フルスクリーンの画像ビューとマルチスクリーンの目的のためのフルスクリーンサムネイルグリッドの2つのアクティビティがあります。

私はこれを初めて勉強したので、この二重の活動が賢明な決定かどうか疑問に思っていました。イメージビューからグリッドビュー(またはその逆)に切り替えるときに、全く異なるアクティビティを起動するよりも、単にコンテンツビューを切り替えるほうがよいでしょうか。

私が探しているのはもちろん、明白な賛否両論 - パフォーマンス、使いやすさ、使いやすさです。しかし、どちらかといえば、より基本的な「パターン」/ベストプラクティスの理由がある場合にも。あなたは戻るボタンのアクションを実装することで悩まされることはありませんよう

おかげ

答えて

5

私はあなたの二重の活動のアプローチが賢明だと思います。一般に、Androidのアクティビティ/ビューAPIは、アクティビティごとに1つの固定ビューを持つように構成されています。あなたのアクティビティのレイアウト内でビューを操作することはできますが、これはレイアウトの卸売りを置き換えるのではなく、ビューの表示/非表示に制限することを推奨します。

あなたがおそらく考慮すべきは、新しいFragments APIです。これは、ほとんどの場合、「活動内の活動」とみなすことができます。フラグメントは基本的に、UIの要素(レイアウトと動作)を再利用可能なコンポーネントでまとめられるようにします。したがって、具体的な例では、2つの異なるUIは1つのアクティビティ内のFragmentsになる可能性があります。

これには、他のアクティビティでのUIの再利用や、ファンキーなトランジションアニメーションの実行など、いくつかの利点があります。

+0

+1 Fragments APIのためにまだそれを使用していないが、それは本当にいいね。ありがとう。 APIレベル11(Android 3.0)からしか利用できません。つまり、それは私のためのものではありません。あまりにも悪い:( – Guillaume

+0

私は断片に興味を持っています。私がやりたいことの1つは、イメージビューとグリッドビューを切り替えるアニメーションでした。私が分かっているように、断片で達成することができます。もちろん、1つのアクティビティでこれを可能にし、メニューや一般的なテキストビューなどのいくつかの共通要素を再利用することもできます。しかし、私はそれらを別々のアクティビティに置くというコードの簡素化が好きです。 – Dynde

+1

実際、あなたが話しているその単純化(またはカプセル化)は、本質的にフラグメントと同様に明確です。あなたの活動は、あなたの断片のコンテナになります。 – tomtheguvnor

1

は二重活性は、動作するはずです。

+0

はい - 戻るボタンの動作を維持することが重要です。 – tomtheguvnor

+0

ありがとう - ええ、私は本当に戻るボタンについて考えていませんでした。しかし、私の選択肢として見ることは、実際の「Go to Grid」ボタンを使って、よりセマンティックに豊かになりました。もちろん、より多くの実装を意味しますが、よりユーザーフレンドリーで賛否両論です。 – Dynde

1

この目的のために活動が正確に行われました。必要に応じて、カスタムレイアウトエンジン(コンポーネントのリロードなど)を使用してアプリケーション全体を1つのアクティビティにすることができます。これは、「ポータブル」アプリケーションが必要な場合に行います(たとえば、 Andropid、Windows 7、iOSなど)を使用することができますが、Androidにしか行きたくない場合は、提供されたAPIを使用して、ホイールを再開発することをおすすめします。それはうまく動作し、ユーザーは自分の経験(それは他のAndroidアプリのように見えるし、感じる)の一貫性の慰め感を与えるでしょう。

私が働いている現在のプロジェクト(ゲーム)は、すでに10種類の活動を持っている、と私はより計画しています...

関連する問題