Android基础教程数据存储之文件存储

Android基础教程数据存储之文件存储

将数据存储到文件中并读取数据

1、新建FilePersistenceTest项目,并修改activity_main.xml中的代码,如下:(只加入了EditText,用于输入文本内容,不管输入什么按下back键就丢失,我们要做的是数据被回收之前,将它存储在文件中)

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:id="@+id/edit" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Type something here"/> </LinearLayout>

2、修改MainActivity中的代码,如下:(save()方法将一段文本内容保存到文件中,load()方法从文件中读取数据,套用)

public class MainActivity extends AppCompatActivity { private EditText edit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edit=(EditText) findViewById(R.id.edit); String inputText=load(); if(!TextUtils.isEmpty(inputText)){ //对字符串进行非空判断 edit.setText(inputText); edit.setSelection(inputText.length()); Toast.makeText(this,"Restoring succeeded",Toast.LENGTH_SHORT).show(); } } @Override protected void onDestroy(){ //重写onDestroy()保证在活动销毁之前一定调用这个方法 super.onDestroy(); String inputText=edit.getText().toString(); save(inputText); } public void save(String inputText){ FileOutputStream out=null; BufferedWriter writer=null; try{ out=openFileOutput("data", Context.MODE_PRIVATE); writer=new BufferedWriter(new OutputStreamWriter(out)); writer.write(inputText); }catch(IOException e){ e.printStackTrace(); }finally{ try{ if(writer!=null){ writer.close(); } }catch(IOException e){ e.printStackTrace(); } } } public String load(){ FileInputStream in=null; BufferedReader reader=null; StringBuilder content=new StringBuilder(); try{ in=openFileInput("data"); reader=new BufferedReader(new InputStreamReader(in)); String line=""; while((line=reader.readLine())!=null){ content.append(line); } }catch(IOException e){ e.printStackTrace(); }finally { if(reader!=null){ try{ reader.close(); }catch (IOException e){ e.printStackTrace(); } } } return content.toString(); } }

运行程序,效果如下:(输入content后按back键返回,重新打开)

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2024-09-17 03:42:56

Android基础教程数据存储之文件存储的相关文章

利用maven与testng来进行测试Maven2 基础教程(3) - pom.xml 文件简介

Maven2 基础教程(3) - pom.xml 文件简介目标 本文用以说明如何修改maven2的主要配置文件pom.xml在适应我们的项目需要,通过本文您可以了解到 如何设定编译参数 设定编译环境为UTF-8编码 添加依赖项 添加TestNG框架支持 pom.xml 简介 如下是一个最基础的pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20

android数据存储之文件存储方法_Android

文件存储是 Android 中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动的保存到文件当中的. 概述 文件存取的核心就是输入流和输出流. Android文件的操作模式 文件的相关操作方法 文件读写的实现 openFileOutput和openFileInput方法 /** * openFIleOutput ,openFileInput * 这两种方法同sp一样只能讲文件保存到手机内存固定的路径中, * 默认为 /data/data/<packageName

android数据存储之文件存储方法

文件存储是 Android 中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动的保存到文件当中的. 概述 文件存取的核心就是输入流和输出流. Android文件的操作模式 文件的相关操作方法 文件读写的实现 openFileOutput和openFileInput方法 /** * openFIleOutput ,openFileInput * 这两种方法同sp一样只能讲文件保存到手机内存固定的路径中, * 默认为 /data/data/<packageName

详解Android开发数据持久化之文件存储(附源码)

其实我们在社交网络上面所发出的任何信息, 都希望能够保留下来. 那么如何实现呢? 数据持久化 数据持久化, 就是将内存中的瞬时数据保存在存储设备中, 保证即便关机之后, 数据仍然存在. 保存在内存中的数据是瞬时数据, 保存在存储设备中的数据就是处于持久状态的. 持久化技术则是提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换, Android系统中主要提供了3种方式用于简单地实现数据持久化功能, 即文件存储, SharePreference存储, 以及数据库存储. 当然你也可以将数据保存在

一种提高云存储中小文件存储效率的方案

针对基于HDFS的云存储系统中小文件存储效率不高的问题,采用序列文件技术设计了一个云存储系统中小文件的处理方案.该方案利用多维属性决策理论,综合读文件时间.合并文件时间及节省内存空间大小等指标,得出合并小文件的最优方式,能够在消耗的时间和节省的内存空间之间取得平衡:设计基于层次分析法的系统负载预测算法对系统负载进行预测,从而实现负载均衡的目的:利用序列文件技术对小文件进行合并. 实验结果表明,在不影响存储系统运行状况的基础上,该方案提高了HDFS(Hadoop distributed file

如何区分块存储和文件存储?

对于专业人员,这个问题呈现为"入门者的存储101".但是存储技术文献总是在谈论块数据和文件数据,却并没有明确的解释二者的关键区别和关联. 任何两台通过网络进行通信的设备都必须就其通信方式达成一致.标准协议就作为通信的具体实现方式.这样的网络协议有很多. 一般来说,存储设备和子系统都作为归档系统的附属,用来读写数据.归档系统就是所谓的文件系统或者数据库系统.例如说Windows 2000和NT的NTFS文件系统.DOS的FAT文件系统.多种Unix文件系统(UFS).Veritas文件系

android基础教程之开机启动示例_Android

Manifest.xml文件: 复制代码 代码如下: <service            android:name=".DaemonService"            android:enabled="true"            android:process=".DaemonService" >            <intent-filter android:priority="1000"

android基础教程之夜间模式实现示例_Android

复制代码 代码如下: package org.david.dayandnightdemo.cor; import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.graphics.Col

android基础教程之夜间模式实现示例

复制代码 代码如下:package org.david.dayandnightdemo.cor; import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.graphics.Colo