当前位置: 首页> 娱乐> 明星 > 江苏建设网官网_想要网站导航推广页_学生个人网页优秀模板_百度地图关键词优化

江苏建设网官网_想要网站导航推广页_学生个人网页优秀模板_百度地图关键词优化

时间:2025/7/14 7:00:00来源:https://blog.csdn.net/m0_69086552/article/details/146049397 浏览次数:0次
江苏建设网官网_想要网站导航推广页_学生个人网页优秀模板_百度地图关键词优化

注册获取外存权限

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

申请文件存入外存权限

// Activity中
// 1. 申请PackageManager
// 自己在onCreate调用这个initPermissionprivate fun initPermission() {val REQUEST_STORAGE_PERMISSION = 1if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) !=PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions(this,arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), REQUEST_STORAGE_PERMISSION)} else {// 权限已授予,可以直接保存文件
//            saveEmailAndPassword("user@example.com", "password123")//LocalStorage.saveEmailAndPasswordExternal(this, "user@example.com", "password123")}}
// 2. 回调override fun onRequestPermissionsResult(requestCode: Int,permissions: Array<out String>,grantResults: IntArray) {super.onRequestPermissionsResult(requestCode, permissions, grantResults)val REQUEST_STORAGE_PERMISSION = 1if (requestCode == REQUEST_STORAGE_PERMISSION) {if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {// 权限请求成功
//                saveEmailAndPassword("user@example.com", "password123")//LocalStorage.saveEmailAndPasswordExternal(this, "user@example.com", "password123")} else {// 权限请求失败Toast.makeText(this, "Storage permission denied", Toast.LENGTH_SHORT).show()}}}

LocalStorage

object LocalStorage {private const val FILE_NAME = "user_data.txt"/*** 保存邮箱和密码到公共路径(Documents 目录)*/fun saveEmailAndPasswordExternal(context: Context, email: String, password: String) {try {val documentsDir =Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)// /storage/emulated/0/DocumentsLog.d("注册", documentsDir.absolutePath)val file = File(documentsDir, FILE_NAME)FileOutputStream(file).use { outputStream ->outputStream.write("$email\n$password".toByteArray())}// 打印文件路径println("File saved to: ${file.absolutePath}")} catch (e: IOException) {e.printStackTrace()}}/*** 从公共路径(Documents 目录)读取邮箱和密码*/fun getEmailAndPasswordExternal(context: Context): Pair<String, String?> {return try {val documentsDir =Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)Log.d("注册", documentsDir.absolutePath)val file = File(documentsDir, FILE_NAME)if (!file.exists()) {return Pair("", null)}val data = file.readText()val lines = data.split("\n")Pair(lines[0], lines.getOrNull(1))} catch (e: IOException) {e.printStackTrace()Pair("", null)}}/*** 保存邮箱和密码到本地文件* 使用示例* LocalStorage.saveEmailAndPassword(context, "user@example.com", "password123")*/fun saveEmailAndPassword(context: Context, email: String, password: String) {try {val fileDir = context.getFilesDir().absolutePathLog.d("注册", "File storage path: $fileDir")// /data/user/0/com.example.advanced_signin/filescontext.openFileOutput(FILE_NAME, Context.MODE_PRIVATE).use { outputStream ->outputStream.write("$email\n$password".toByteArray())}} catch (e: Exception) {e.printStackTrace()}}/*** 从本地文件获取邮箱和密码* 使用示例* val (email, password) = LocalStorage.getEmailAndPassword(context)* println("Email: $email, Password: $password")* @return Pair<String, String?>,第一个元素是邮箱,第二个元素是密码*/fun getEmailAndPassword(context: Context): Pair<String, String?> {return try {val fileDir = context.getFilesDir().absolutePathLog.d("注册", "File storage path: $fileDir")context.openFileInput(FILE_NAME).use { inputStream ->val data = inputStream.bufferedReader().useLines { it.joinToString("\n") }val lines = data.split("\n")Pair(lines[0], lines.getOrNull(1))}} catch (e: Exception) {e.printStackTrace()Pair("", null)}}
}
关键字:江苏建设网官网_想要网站导航推广页_学生个人网页优秀模板_百度地图关键词优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: