AndroidStudio(kotlin) 텍스트 문자열을 내부 스토리지에 저장 및 읽기
11277 단어 AndroidStudioKotlin
하고 싶은 일
화면
녹색 영역에 문자열을 입력하고 "저장"을 누른 다음 "읽기"를 누르면 분홍색 영역에 문자열이 표시됩니다.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/saveBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginLeft="32dp"
android:layout_marginEnd="32dp"
android:layout_marginRight="32dp"
android:layout_marginBottom="32dp"
android:text="保存する"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/readBtn"
app:layout_constraintHorizontal_bias="0.029"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/readBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="32dp"
android:layout_marginRight="32dp"
android:layout_marginBottom="32dp"
android:text="読み出す"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<EditText
android:id="@+id/inputContents"
android:layout_width="339dp"
android:layout_height="109dp"
android:layout_marginTop="32dp"
android:background="#D6ECC7"
android:ems="10"
android:gravity="start|top"
android:inputType="textMultiLine"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/displayContents"
android:layout_width="338dp"
android:layout_height="298dp"
android:background="#46F235F8"
android:text="ここに表示される。"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/inputContents" />
</androidx.constraintlayout.widget.ConstraintLayout>
메인 처리
package com.example.yamato200610c
import android.content.Context
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*
import java.io.BufferedReader
import java.io.File
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val fileName = "contents.txt"
// 保存ボタン押下時の挙動。
saveBtn.setOnClickListener(View.OnClickListener {
val contents = inputContents.text
saveFile(fileName, contents.toString())
})
// 読み出すボタン押下時の挙動。
readBtn.setOnClickListener(View.OnClickListener {
val buf: BufferedReader = readFile(fileName)
val result = buf.use{it.readText()}
displayContents.text = result
})
}
// 保存処理。
private fun saveFile(file: String, str: String) {
applicationContext.openFileOutput(file, Context.MODE_PRIVATE).use {
it.write(str.toByteArray())
}
}
// 読み出し処理。
private fun readFile(file: String): BufferedReader {
val readFile = File(applicationContext.filesDir, file)
return readFile.bufferedReader()
}
}
Reference
이 문제에 관하여(AndroidStudio(kotlin) 텍스트 문자열을 내부 스토리지에 저장 및 읽기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kenichiro-yamato/items/c47d94ac90b1858b9fb7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/saveBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginLeft="32dp"
android:layout_marginEnd="32dp"
android:layout_marginRight="32dp"
android:layout_marginBottom="32dp"
android:text="保存する"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/readBtn"
app:layout_constraintHorizontal_bias="0.029"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/readBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="32dp"
android:layout_marginRight="32dp"
android:layout_marginBottom="32dp"
android:text="読み出す"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<EditText
android:id="@+id/inputContents"
android:layout_width="339dp"
android:layout_height="109dp"
android:layout_marginTop="32dp"
android:background="#D6ECC7"
android:ems="10"
android:gravity="start|top"
android:inputType="textMultiLine"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/displayContents"
android:layout_width="338dp"
android:layout_height="298dp"
android:background="#46F235F8"
android:text="ここに表示される。"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/inputContents" />
</androidx.constraintlayout.widget.ConstraintLayout>
package com.example.yamato200610c
import android.content.Context
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*
import java.io.BufferedReader
import java.io.File
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val fileName = "contents.txt"
// 保存ボタン押下時の挙動。
saveBtn.setOnClickListener(View.OnClickListener {
val contents = inputContents.text
saveFile(fileName, contents.toString())
})
// 読み出すボタン押下時の挙動。
readBtn.setOnClickListener(View.OnClickListener {
val buf: BufferedReader = readFile(fileName)
val result = buf.use{it.readText()}
displayContents.text = result
})
}
// 保存処理。
private fun saveFile(file: String, str: String) {
applicationContext.openFileOutput(file, Context.MODE_PRIVATE).use {
it.write(str.toByteArray())
}
}
// 読み出し処理。
private fun readFile(file: String): BufferedReader {
val readFile = File(applicationContext.filesDir, file)
return readFile.bufferedReader()
}
}
Reference
이 문제에 관하여(AndroidStudio(kotlin) 텍스트 문자열을 내부 스토리지에 저장 및 읽기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kenichiro-yamato/items/c47d94ac90b1858b9fb7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)