1.表題
これまで作成したことがなかったのですが、今度大きめのAndroidアプリを
開発するという目標を立てたので、手始めに簡素な入力して表示するだけのAndroidアプリをAndroidStudioで初めて作成しました。
以下、GitHubに公開しています。
https://github.com/Fukuta-Y/AndroidTest
2.動作環境
AndroidStudio、Kotlin
3.仕様
※名称を入力して、送信ボタンをクリックする。
(2)表示画面
※(1)の内容が「あなたの入力:<入力内容>」で表示されます。
4.レイアウト(AndroidManifest.xml)
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MyFirstApp"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.MyFirstApp">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
5.kotlin側
MainActivity.kt
package com.example.myfirstapp
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// EditText, Button, TextViewの参照を取得
val inputText: EditText = findViewById(R.id.inputText)
val submitButton: Button = findViewById(R.id.submitButton)
val outputText: TextView = findViewById(R.id.outputText)
// ボタンのクリックリスナーを設定
submitButton.setOnClickListener {
// 入力されたテキストを取得
val userInput = inputText.text.toString()
// 入力されたテキストをTextViewに表示
outputText.text = "あなたの入力: $userInput"
}
}
}
6.設定ファイル(gradle.ktsファイル)
build.gradle.kts
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
}
android {
namespace = "com.example.myfirstapp"
compileSdk = 35
defaultConfig {
applicationId = "com.example.myfirstapp"
minSdk = 21
targetSdk = 35
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
}
buildFeatures {
compose = true
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
}
7.終わりに
Andoroid Studioもこれまで触ったことがなく、簡素なデモでも動かすの苦戦したのでこれをきっかけに開発の幅を広げていきたいです。