Android
 Computer >> コンピューター >  >> プログラミング >> Android

KotlinでAndroidアプリにテキストファイルを作成し、データを書き込む方法

はじめに

Kotlinを使ってAndroidアプリ内にテキストファイルを作成し、そこへデータを書き込む方法を、ステップごとにわかりやすく解説します。画面に入力した文字列を内部ストレージ上のファイルとして保存するシンプルなサンプルを通じて、Androidにおける基本的なファイル操作の流れを習得できます。

手順1:新規プロジェクトを作成する

Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目をすべて入力してプロジェクトをセットアップしてください。

手順2:レイアウトファイル(activity_main.xml)を編集する

res/layout/activity_main.xml に以下のコードを追加します。タイトル表示用のTextView、テキスト入力用のEditText、保存ボタン用のButtonを配置したシンプルな構成です。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="70dp"
        android:background="#008080"
        android:padding="5dp"
        android:text="TutorialsPoint"
        android:textColor="#fff"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView"
        android:layout_marginTop="40dp"
        android:ems="10">
        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/editText"
        android:layout_centerInParent="true"
        android:layout_margin="5dp"
        android:background="@android:color/holo_orange_light"
        android:onClick="saveTextFile"
        android:text="Save File"
        android:textColor="@android:color/background_dark"
        android:textStyle="bold" />
</RelativeLayout>

手順3:MainActivity.kt を実装する

src/MainActivity.kt に以下のコードを記述します。ボタンがタップされると openFileOutput() によって「mytextfile.txt」というファイルが作成され、EditTextに入力されたテキストが書き込まれます。MODE_PRIVATE を指定しているため、作成されるファイルはこのアプリからのみアクセスできるプライベートなファイルになります。保存に成功すると「File saved successfully!」というトーストメッセージが表示されます。

import android.content.Context
import android.os.Bundle
import android.view.View
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import java.io.FileOutputStream
import java.io.OutputStreamWriter

class MainActivity : AppCompatActivity() {
    lateinit var editText: EditText

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"
        editText = findViewById(R.id.editText)
    }

    fun saveTextFile(view: View) {
        try {
            val fileOutputStream: FileOutputStream = openFileOutput("mytextfile.txt", Context.MODE_PRIVATE)
            val outputWriter = OutputStreamWriter(fileOutputStream)
            outputWriter.write(editText.text.toString())
            outputWriter.close()
            // ファイル保存完了のメッセージを表示
            Toast.makeText(baseContext, "File saved successfully!", Toast.LENGTH_SHORT).show()
        } catch (e: Exception) {
            e.printStackTrace()
        }
    }
}

手順4:AndroidManifest.xml を編集する

androidManifest.xml に以下のコードを追加します。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.q11">

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

なお、アプリの内部ストレージにファイルを保存するだけであれば、通常 WRITE_EXTERNAL_STORAGE 権限は不要です。この権限が必要となるのは、共有ストレージなどの外部ストレージに書き込む場合です。

アプリを実行してみよう

それでは、実際にアプリを実行してみましょう。ここでは、実機のAndroidスマートフォンをパソコンに接続しているものとします。Android Studioからアプリを起動するには、プロジェクト内のいずれかのアクティビティファイルを開き、ツールバーにある実行アイコン KotlinでAndroidアプリにテキストファイルを作成し、データを書き込む方法 をクリックします。デバイス選択のダイアログで接続したモバイルデバイスを選択すると、端末側でアプリが起動し、初期画面が表示されます。

KotlinでAndroidアプリにテキストファイルを作成し、データを書き込む方法

  1. Androidアプリでテキストファイルを簡単に読み込む方法【サンプルコード付き】

    この記事では、Androidアプリでシンプルなテキストファイルを読み込む方法を、実際のサンプルコードとともにステップごとに解説します。res/rawフォルダに配置したテキストファイルを読み込み、画面に表示するまでの一連の流れを学ぶことができます。 ステップ1:プロジェクトの作成とテキストファイルの配置 まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成しましょう。 続いて、新しいAndroidリソースディレクトリとして「raw」フォルダを作成し、読み込みたいテキストファ

  2. 【Android】XMLファイルを使ってアニメーションを作成する方法をわかりやすく解説

    この記事では、AndroidアプリにおいてXMLファイルを使用してアニメーションを作成する方法を、実際のコード例とともに段階的に解説します。View Animation(Tween Animation)は、res/animディレクトリに配置したリソースファイルとして定義できるため、フェードインやズーム、点滅といった演出をJava側のコードをほとんど書かずに実現できるのが特徴です。 ステップ1:新規プロジェクトの作成 Android Studioを起動し、メニューから「File」⇒「New Project」を選択して新しいプロジェクトを作成します。ウィザードに従って必要な情報を入力し、プロジェク