Android开发实现文件存储功能

 更新时间:2020年07月27日 16:07:15   作者:强强爱学习  
这篇文章主要为大家详细介绍了Android开发实现文件存储功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Android开发实现文件存储的具体代码,供大家参考,具体内容如下

这个程序只有一个Activity, Activity中只有一个Edittext。实现的功能是在Activity销毁之前将EditText的内容存储到一个文件中,在Activity创建的时候,从该文件中读取内容并写道EditText中。代码如下,在onCreate加载数据,在onDestroy中保存数据。

MainActivity.kt

package com.example.filetest

import android.content.Context
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
import java.io.*
import java.lang.StringBuilder

class MainActivity : AppCompatActivity() {
 override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(R.layout.activity_main)

  editText.setText(loda())
 }

 override fun onDestroy() {
  super.onDestroy()
  save(editText.text.toString())
 }

 private fun save(inputText:String){
  try {
   //此函数接收两个参数,分别是文件名和打开模式
   //函数的默认存储路径是/data/data/<package name>/file
   //打开模式主要是MODE_APPEND(追加)和MODE_PRIVATE(覆盖)
   val output = openFileOutput("data", Context.MODE_PRIVATE)
   val write = BufferedWriter(OutputStreamWriter(output))
   write.use {
    it.write(inputText)
   }
  }catch (e:IOException){
   e.printStackTrace()
  }
 }

 private fun loda():String{
  val result = StringBuilder()
  try {
   val input = openFileInput("data")
   val reader = BufferedReader(InputStreamReader(input))
   reader.use {
    reader.forEachLine {
     result.append(it)
    }
   }
  }catch (e : IOException){
   e.printStackTrace()
  }
  return result.toString()
 }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent">

 <EditText
  android:id="@+id/editText"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:hint="请输入一段话"/>

</LinearLayout>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Android系统默认对话框添加图片功能

    Android系统默认对话框添加图片功能

    这篇文章主要介绍了Android系统默认对话框添加图片的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-01-01
  • Android实现购物车添加商品动画

    Android实现购物车添加商品动画

    这篇文章主要为大家详细介绍了Android实现购物车添加商品动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Android网络编程之简易新闻客户端

    Android网络编程之简易新闻客户端

    这篇文章主要为大家详细介绍了Android网络编程之简易新闻客户端的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Android开发之日历CalendarView用法示例

    Android开发之日历CalendarView用法示例

    这篇文章主要介绍了Android开发之日历CalendarView用法,简单分析了日历CalendarView组件的功能、属性设置方法、界面布局、事件监听等相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • Android仿微信支付密码弹出层功能

    Android仿微信支付密码弹出层功能

    最近项目中使用到了支付密码功能,感觉这类界面应该是比较常用的,涉及支付密码的输入的一般都会用到吧,所以单独地把这部分抽取出来,有需要的朋友可以拿去用用
    2017-04-04
  • Android使用Sqlite存储数据用法示例

    Android使用Sqlite存储数据用法示例

    这篇文章主要介绍了Android使用Sqlite存储数据的方法,结合实例形式分析了Android操作SQLite数据库的相关步骤与操作技巧,需要的朋友可以参考下
    2016-11-11
  • Android调用相机并将照片存储到sd卡上实现方法

    Android调用相机并将照片存储到sd卡上实现方法

    Android中实现拍照有两种方法,一种是调用系统自带的相机,还有一种是自己用Camera类和其他相关类实现相机功能,这种方法定制度比较高,需要的朋友可以了解下
    2012-12-12
  • Android自定义ProgressDialog加载图片

    Android自定义ProgressDialog加载图片

    这篇文章主要介绍了Android自定义ProgressDialog系统加载框,通过本文大家可以尝试利用Android自定义ProgressDialog,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Android实现无标题栏全屏的方法

    Android实现无标题栏全屏的方法

    这篇文章主要介绍了Android实现无标题栏全屏的三种方法,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • Android栗子の图片验证码生成实例代码

    Android栗子の图片验证码生成实例代码

    这篇文章主要介绍了Android栗子の图片验证码生成实例代码,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-12-12

最新评论