Android Studioでアプリ(プロジェクト)の新規作成方法と最初の設定

Kotlin×Android

はじめに

この記事では、私が行っている新しいAndroidアプリ(プロジェクト)を作成し、基本的な設定を行う方法を紹介します。これからAndroidアプリ開発を始める方に向けた手順を説明します。

開発環境

Android StudioAndroid Studio Ladybug Feature Drop | 2024.2.2 Patch 2
OSWindows 11 Home

新規プロジェクトの作成

  1. Android Stuidoを起動します。
  2. 左上のメニューから「File > New > New Project」を選択します。

3. 「Empty Views Activity」を選択して「Next」をクリックします。

4. プロジェクトの詳細を設定 を行い「Finish」

  • Name: 任意のアプリ名(例: “My Application”)
  • Package Name: アプリの一意の識別子(例:サイトを持っている人はドメインからとるのが一般的です。一番後ろのドットの後にアプリ名をつけます。)
  • Save Location: プロジェクトの保存先
  • Language: KotlinまたはJava(私はKotlinにしています。)
  • Minimum SDK: 「API 23: Android 6.0 (Marshmallow)」など適切なものを選択(Help me chooseをクリックすれば、各SDKの詳細が見れます)

「Finish」クリック後、新規プロジェクトの編集画面が立ち上がります。
(立ち上がらければ、「File > Open」で作成したものを選ぶ)
Android Studioが初期設定を行っているので、右下のバーが落ち着くまで待ちます。

必要なファイルの自動インポート設定

アプリを作っている際、必要なファイルを毎回手動でインポートするのは面倒なので設定で自動でインポートされるようにしています。「File > Settings」をクリックし、「Settings」の画面が開いたら左側尾メニューから「Ediitor > General > Auto Import」を開き、次の4点にチェックを入れます。

  • JavaのAdd unambiguous import on the fly
  • JavaのOptimize imports on the fly
  • KotlinのAdd unambiguous import on the fly
  • KotlinのOptimize imports on the fly

「Apply」して「OK」で閉じます。

ViewBindingの設定

次に、ViewBindingの設定をします。これを行うことで以下のようなメリットがあるそうです。

  • Null安全findViewById() を使う場合と違い、コンパイル時に型チェックが行われ、NullPointerException のリスクが減る。
  • 型安全 – キャスト不要で、Viewの型が自動的に推測される。
  • パフォーマンス向上findViewById() よりも効率的にViewを参照できるため、処理が高速化される。
  • コードの簡潔化 – XMLのIDをそのまま利用でき、冗長なコードが不要になる。
  • FragmentやRecyclerViewで便利onCreateView()onBindViewHolder() で簡単にViewを扱える。

設定の実践

まず、Gradle Scriptの中にあるbuild.gradle.kts(Module :app)の中のandroid{}の内側に次のコードを追加します。

Kotlin
android {
//省略・・・
    buildFeatures {
        viewBinding = true
    }

  }

すると画面右上に「Sync Now」という表示がでるのでクリックしてしばらく待ちます。

続いて「app > cotlin+java」の中にあるMainActivity.ktを開いて次のように修正します。
1. MainActivityのクラスの下に ActivityMainBindingの追加

Kotlin
class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding // ここを追加
    
// 省略・・・
  
  } 

2. OnCreateの中でbindingの設定とsetContentViewの修正をする。

Kotlin
  override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()

        //setContentView(R.layout.activity_main)  //ここを削除

        // View Bindingの設定 (ここを追加)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
        
  // 省略・・・
  
  }

viewBindingを使ったコード簡潔化の例

viewBindingを使った場合のコードの簡潔化の例を、ボタンを押すと TextView のテキストが変更されるだけのシンプルなコードのビフォーアフターで紹介します。

・ビフォー↓

Kotlin
        val button: Button = findViewById(R.id.button)
        val textView: TextView = findViewById(R.id.textView)

        button.setOnClickListener {
            textView.text = "Hello, ViewBinding!"
        }

・アフター↓

Kotlin
        binding.button.setOnClickListener {
            binding.textView.text = "Hello, ViewBinding!"
        }

findViewById を使わず、binding.buttonbinding.textView で直接アクセスできます。val buttonval textView の宣言が不要になり、コードがスッキリします。型安全になり、間違ったビューIDを指定するミスを防げます。

おわりに

以上が私が行っているプロジェクトの作成と最初の設定です。ご参考まで。

昔はfindViewByIdで迷子になっていたけど、ViewBindingのおかげで「おまえを探していたんだ…!」ってならなくなったよ。

コメント

タイトルとURLをコピーしました