androidアプリ作成時のメモです。
1554 views
androidアプリで、特定のファイルが更新されたらアクションしたいというような場合に使えるのがFileObserver。
サンプルコードを記す。
package com.konishisoft.fileobserversample
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import java.io.File
class MainActivity : AppCompatActivity() {
val fileName = "a.txt"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var filePath = File(applicationContext.filesDir.absolutePath ,fileName)
val myFileObserver = MyFileObserver(applicationContext.filesDir.absolutePath)
myFileObserver.startWatching()
val button = findViewById<Button>(R.id.button)
button.setOnClickListener {
//ここでファイルを作成する
filePath.writer().use {
it.write("aaa")
}
}
}
}
package com.konishisoft.fileobserversample
import android.os.Build
import android.os.FileObserver
import android.util.Log
import java.io.File
class MyFileObserver(path:String): FileObserver(path, FileObserver.ALL_EVENTS) {
override fun onEvent(p0: Int, p1: String?) {
Log.d("sample", "イベント${p0}")
Log.d("sample", "ファイル名${p1}")
}
}
Page 10 of 19.
すぺぺぺ
本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。
https://www.osumoi-stdio.com/novel/