Activityを知る前に、良いことを知っています.

6496 ワード

入る前に...


Activityはアプリケーションの基本単位であり、最も一般的なコンポーネントです.次は、Activityについていくつかの記事でご紹介します.
その前に簡単な内容から始めましょう.

本格的にActivityを始める前にギター..。


活動性は必要な程度に維持しましょう。


アクティビティは、他の構成部品と同様にAndroidManifest.xmlで宣言する必要があります.設定ファイルにアクティビティを追加しただけですが、アクティビティの数が増えると維持しにくいので、不要なコンテンツをあまり作成しないことをお勧めします.内部UIの動作が多く、論理が多い場合は、アクティビティを優先し、他のアクティブデバイスでポップアップ表示される場合は、customレイアウトdialogまたはDialogFragmentPopupWindowを使用します.
標準は簡単です.独立した画面であれば活動性を考慮すべきであり,従属の画面であれば他のものをどのように使うかを考慮すべきである.

setContentView()メソッドを使用しない場合もあります


通常、ActivityでsetContentViewメソッドを使用してレイアウトを設定し、画面に表示します.ただし、setContentViewを実行せずに、論理的に分岐して他のアクティビティを解放する場合があります.setContentViewを実行しない場合、最終的にはUIのないアクティブデバイスになります.
  • ex)シナリオに従って他のアクティビティを切り替える:
  • AndroidManifest.xmlでは、intent-filterセグメントを複数のactivityにそれぞれ追加せず、1つのステージ(frontcontroller)キャラクタのactivityに複数のskemのintent-peterのみを追加する.
    このActivityでは、skimに従って他のActivityを起動し、自分で終了します.
    		<activity android:name=".FrontControllerActivity">
                <intent-filter>
                    <action android:name="android.intent.action.VIEW" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <data android:scheme="doc" />
                    <data android:scheme="xls" />
                    <data android:scheme="ppt" />
                </intent-filter>
            </activity>
    これは、doc、xls、ppt skemがandroid.intent.action.VIEW動作とともに伝達されると、FrontControllerActivityで処理されることを意味する.
    ではこのActivityはこのスキムを扱う内容があれば大丈夫です.
    class FrontControllerActivity : Activity {
    	val WORD_SCHEME = "doc"
        
        override fun onCreate(savedInstanceState: Bundle) {
        	super.onCreate(savedInstanceState)
            
            val uri = intent.data
            
            when(uri.scheme) {
            	WORD_SCHEME -> {
                	startActivity(Intent(this, WordActivity::class.java)
                }
            }
            finish()
        }
    }
    寺がスキンによって活動を開始すると、FrontControllerActivityが終了します.
    コール元の場合は、次のコードを使用するか、リンクをクリックします.
    val uri = Uri.parse("doc://microsoft/0000")
    val intent = Intent(Intent.ACTION_VIEW, uri)
    startActivity(intent)

    Reference

  • Androidプログラミング次の