UIなしのアクティビティの使用方法を教えてください。私はコードが長すぎると感じるMainActivityを持っています。私は、各タスクのUIなしで個別のアクティビティを作成し、メインアクティビティで呼び出すことを考えていました(またはヘッドレスフラグメントを使用していますか? 。それは悪いアプローチですか? 1つのアクティビティで比較的長いコードをどのように管理しますか?メンテナンス可能なコードを書き込むためのUIのないアクティビティ
1
A
答えて
1
これは悪い考えです。あまりにも大きすぎる/複雑すぎる場合、アクティビティを複数のクラスに分割するのは理にかなっています。これらの部分にUIがある場合、それは基本的に断片です。彼らがしなければ、彼らは他のクラスにすべきです。しかし、それらをアクティビティにする理由はありません。彼らは単なるクラスです。
ヘッドレスのアクティビティを持つのが理にかなっている場所はほとんどありません。これらの場所のほとんどは、Androidでコンテキストを開始する必要がある場所ですが、まだ起動する場所がわからない場合があります(たとえば、マニフェストに入れるには複雑すぎるURLルーティングを行うヘッドレスのアクティビティなど)。
0
質問には多くの問題があります。
最初... UIなしのアクティビティの場合、doestnはアクティビティである必要があります。
第2に、クラスとは何か、またクラスを使用する理由を理解する必要があります。
第3に、ロングコードがあると、ロジックが悪い場合は、他のクラスのコード(例:アダプター、ヘルパー、タスクなど)を分離することができます。コンセプトを知っていればどのように正しくseparteを考えてください、もしあなたがもっとあなたを助けることができるコードを投稿してください。
関連する問題
- 1. 再利用可能なコードを書き込むためのベストプラクティス
- 2. メンテナンス可能なイベントドリブンコードの書き出し
- 3. 入力の検証のために読み込み可能なif文を書き込む方法は?
- 4. ルアの書き込み可能なテーブル?
- 5. シーク可能なAACオーディオストリームをFFMPEGでMP4ファイルに書き込む
- 6. シンプルでメンテナンス可能なコードの再利用
- 7. Tensorflow TFRecordsデータファイルを書き込むための純粋なJava/Scalaコード
- 8. 与えられた列の次の利用可能なセルに書き込む
- 9. Apolloクライアントクエリを更新しないUIを書き込む
- 10. 1バイトのみを書き込むための便利なメソッド
- 11. コードを書き込むための仮想空間
- 12. テキストファイルを作成して書き込むためのJavaコード
- 13. CassandraにJSON応答を書き込むためのサンプルJavaコード?
- 14. TomcatサーバーをCD-ROM(または書き込み不可能なディスク)に埋め込む
- 15. のRakeタスクプロンプト安全でない書き込み可能なディレクトリ
- 16. Androidで書き込み可能な既存の画像のためのベストストレージファイル
- 17. ArrayListにデータを書き込むための簡潔な方法
- 18. データを書き込むための正確な列
- 19. 埋め込みビューコントローラのコードをcontainerViewに書き込む場所
- 20. 書き込み可能なselectInputセレクタ
- 21. Javascript + Selenium、書き込み可能なテスト
- 22. 書き込み可能なページのためJITパフォーマンスが低下しますか?
- 23. C#FileStream:大きなファイルを書き込むための最適なバッファサイズ?
- 24. 実行可能なジャーにGTKのルックアンドフィールを埋め込む
- 25. クリック可能なフローチャートをkentico 10のウェブサイトに埋め込む
- 26. ヘッダーとツールバーのない編集可能なGoogleドキュメントスプレッドシートを埋め込む
- 27. axios.getとaxios.postの再利用可能なコンポーネントを書き込む方法は?
- 28. OpenBSDで書き込み可能で実行可能なマークバイナリ
- 29. bazel - テスト実行時の書き込み可能なアーカイブ可能なパス
- 30. アンドロイドのログインアクティビティとログインダイアログボックスの再利用可能なコードを書き込む方法は?
"比較的長いコードを1つのアクティビティでどのように管理しますか?" - それを一般的でない別の'Activity'クラスに移動します。 Android(MVC、MVP、MVVMなど)に適用されているGUIアーキテクチャについてはかなり書かれています。 – CommonsWare
@CommonsWareあなたは良い出典を教えてもらえますか?私は内部/匿名/ネストされたクラスに精通しており、セッター/ゲッターとクラスを分けています。しかし、より複雑な操作のために別のクラスを使用する方法については、より多くの情報を使用できます。私が持っているタスクの1つと同様に、私はMediaRecorderの目的とMediaPlayerのオブジェクトを作成してから、オーディオファイルの軽量比較を行う必要があります。そして同じ活動の中でこれと長さに似た仕事がいくつかあります。 – Zack
"軽量のオーディオファイルの比較" - これは特にアクティビティとは何の関係もないようです。だから、おそらく 'Object'(つまり、クラス宣言の' extends'キーワード)を継承している別のJavaクラスに移動してください。アクティビティによってそのオブジェクトのインスタンスが作成され、そのオブジェクトのメソッドが呼び出されますが、コード自体は他の場所に存在します。 IOWでは、あまり複雑ではない操作の場合と同じように、「複雑な操作」についても同じことを行います。 – CommonsWare