私はAndroid Studioプロジェクトで作業しています。 アクティビティの1つは、50の編集テキストを含むフォームです。 多くのEditTextが存在するため、アクティビティのファイルは1200行以上あり、完成した後はさらに300〜400個も増えるはずです。 ファイル内のコードをナビゲートするのは困難で時間がかかるようになっています。Androidのアクティビティが多すぎる
この状況で私が従うべき基準はありますか? 今すぐ行動の最良のコースは何ですか?
私はAndroid Studioプロジェクトで作業しています。 アクティビティの1つは、50の編集テキストを含むフォームです。 多くのEditTextが存在するため、アクティビティのファイルは1200行以上あり、完成した後はさらに300〜400個も増えるはずです。 ファイル内のコードをナビゲートするのは困難で時間がかかるようになっています。Androidのアクティビティが多すぎる
この状況で私が従うべき基準はありますか? 今すぐ行動の最良のコースは何ですか?
非常に多くの編集テキストがある場合は、RecyclerViewを使用できます。 それを介して行く -
https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html
これは本当に答えではありません。コメントには十分なスペースがありませんでした。
1)50の編集テキストだけでは大きな問題はありません。これを分割して、ユーザーがフラグメントからフラグメントに移動してフォームに入力する際に、そのセクションに移動できるようにしてください。
2)すべてのアクティビティを1つのアクティビティに保存したい場合は、折りたたむことができるメソッドを作成します。たとえば、編集テキストをインスタンス化するために50行のコードがあるとします。これをメソッドの一番下に置き、メソッドをonの中で呼び出します。
3)ピギーバックナンバー2 ...何度も何度も繰り返しているコードのメソッドを作成します。メソッドを作成すると、すべてのコードがそのメソッドの中にあるときに、メソッドを1つの行にまとめることができます。コードを読みやすくします。うまくいけばそれは理にかなっている。
私は、単一の画面上に50 'EditText'ウィジェットを持っていないことから始めます。これを分割して(たとえば、ウィザードページなどに)展開すると、順番にコードが分割される傾向があります(たとえば、これらのウィザードページに入るフラグメント)。 – CommonsWare
データバインディングは、50個のフィールドを持つモデルに変換することで、アクティビティのビュー数を減らすことができます。リストの場合は、RecyclerViewなどのListコンポーネントを使用する必要があります。また、ラインを消費する別のものは、たとえば、sqliteからカーソルを開いて結果を解析するなど、アクティビティーで簡単に使用できる特別なクラスにルーチンを抽出する必要があります。 –
AsyncTasksおよびJSON/XMLパーサーの抽出 –