1

私はアンドロイドプログラミングが初めてで、これまでに1つのアプリを実行しただけです。完成後、Androidアプリのアーキテクチャを考え始めます。

私のアプリでは、Activity同様のコントローラーとして使用しsetContentView、レイアウトビューを追加します。これは機能しており、別のビューに切り替えると、通常、別のアクティビティを使用するかViewFlipper、同じで複数のビューを使用し、メソッドActivityを使用してそれらを切り替えます。setContentView

今、このアーキテクチャをこのアーキテクチャに変更するのは良いことだと考えています-

アクティビティ

コントローラ

表示 - レイアウト XML

コントローラ クラスはアクティビティから独立しているため、次のようになります。

class Controller {

    public View view;

    .....

    // logic to deal with view operation
    public void init ()
    {
    }
}

アクティビティは次のようになります -

class MyActivity extends Activity {

    ControllerOne c0 = null;
    ControllerTwo c1 = null;

    .....

    protected void switchView (Controller c)
    {
        setContentView (c.view);
        c.init (); // or something else to restore states of this controller
    }
}

これがAndroidアプリのアーキテクチャに適しているかどうかはわかりません.Androidアプリのアーキテクチャについて何か良いアイデアはありますか? ありがとう。

4

1 に答える 1

1

Android の MVC アーキテクチャを無視するのは得策ではないと思います。アクティビティ クラスはコントローラーとして機能します。ただし、アクティビティに複数のコントローラーを使用するようなことを実現したい場合は、Android のFragmentsが表示されるはずです。

于 2012-09-03T06:04:00.303 に答える