🏠 技術系 プログラミング Android プログラミングAndroid アプリのテンプレートコード(空っぽのフラグメント)Android更新: 2021-02-25 / 作成: 2021-02-25XThreadsFacebookLINEHatena BookmarkPocketAndroid のアプリを作るときは、大体まっさらな Activity + Fragment の組み合わせで作り始めるんですが、そのようなクリーンなテンプレートコード(土台)を作るのが意外と大変だったりするので、ここにメモしておきます。図: 空っぽの Android アプリ下記は、Android TV アプリ用のテンプレートです。maku77/Template-AndroidTv: Template of Android TV App主なコードを抜粋。app/src/main/java/com/example/myapp/MainActivity.ktpackage com.example.myapp import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.commit // androidx.fragment:fragment-ktx class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) showMainFragment() } private fun showMainFragment() { supportFragmentManager.commit { add(R.id.fragment_container, MainFragment.newInstance()) //addToBackStack(null) // 戻るキー用にスタック } } }app/src/main/java/com/example/myapp/MainFragment.ktpackage com.example.myapp import androidx.fragment.app.Fragment class MainFragment : Fragment(R.layout.fragment_main) { companion object { fun newInstance() = MainFragment() } }app/src/main/AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myapp"> <uses-permission android:name="android.permission.INTERNET" /> <uses-feature android:name="android.hardware.touchscreen" android:required="false" /> <uses-feature android:name="android.software.leanback" android:required="true" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/Theme.AppCompat"> <activity android:name=".MainActivity" android:banner="@drawable/app_icon" android:icon="@drawable/app_icon" android:label="@string/app_name" android:logo="@drawable/app_icon" android:screenOrientation="landscape"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> </activity> </application> </manifest>app/src/main/res/layout/activity_main.xml<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" /> </FrameLayout>app/src/main/res/layout/fragment_main.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> </LinearLayout>関連記事Android開発: ContraintLayout で配置されたビューの実際のサイズを取得するAndroid開発: ダイアログ表示時の背景の暗転(ディミング)を防ぐAndroidメモ: RecyclerView にアニメーションを追加する方法Android開発: ShapeDrawable で基本図形を描くAndroid開発: TextureView に関するメモAndroid開発: Handler.post した Runnable タスクがメインスレッドで実行される仕組みAndroid開発: LowMemoryKiller の動きのメモAndroidAndroid プログラミングのメモへ戻る