Android数据持久化技术 — — —文件存储
文件保存
package com.example.datastroredtest; import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText; import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter; public class MainActivity extends Activity { EditText username = null;
EditText password = null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); username = (EditText)findViewById(R.id.username);
password = (EditText)findViewById(R.id.password); } @Override
protected void onDestroy() {
super.onDestroy();
String fileName ="data";
String user_name = username.getText().toString();
String pass_word = password.getText().toString();
save(fileName,user_name,pass_word);
} public void save(String fileName, String username, String password) { FileOutputStream fos = null;
BufferedWriter writer = null;
try{
fos = openFileOutput(fileName,MODE_PRIVATE);
writer = new BufferedWriter(new OutputStreamWriter(fos));
writer.write("<username>");
writer.write(username);
writer.write("</username>");
writer.write("\n");
writer.write("<password>");
writer.write(password);
writer.write("</password>"); }catch(IOException e){
e.printStackTrace();
}finally{
try{
if(writer != null){
writer.close();
}
}catch (IOException e){
e.printStackTrace();
}
} }
}
package com.example.datastroredtest; import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText; import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList; public class MainActivity extends Activity { EditText username = null;
EditText password = null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); username = (EditText)findViewById(R.id.username);
password = (EditText)findViewById(R.id.password); } @Override
protected void onDestroy() {
super.onDestroy();
String fileName ="data";
ArrayList<String> values = load(fileName);
username.setText(values.get(0));
password.setText(values.get(1));
} public ArrayList<String> load(String fileName) { FileInputStream fis = null;
BufferedReader reader = null;
ArrayList<String> content = new ArrayList<String>(); try{
fis = openFileInput(fileName);
reader = new BufferedReader(new InputStreamReader(fis));
String line = null;
while ((line = reader.readLine()) != null){
content.add(line);
} }catch (IOException e){
e.printStackTrace();
}finally {
try{
if(reader != null){
reader.close();
}
}catch (IOException e){
e.printStackTrace();
}
} return content;
}
}
Android数据持久化技术 — — —文件存储的更多相关文章
- Android学习--持久化(一) 文件存储
持久化之 文件存储 这里把Android持久化全都整理一下,这一篇文章先简单的说一下文件的存储,通过下面一个简单的Demo,理解一下这个文件存储,先说说下面Demo的思路: 1.创建EditTex ...
- Android数据持久化技术 — — —SharedPreferences
SharedPreferences是使用键值对的方式来存储数据. 要想使用SharedPreferences来存储数据,必须获取SharedPreferences对象,获取SharedPreferen ...
- IOS开发--数据持久化篇文件存储(二)
前言:个人觉得开发人员最大的悲哀莫过于懂得使用却不明白其中的原理.在代码之前我觉得还是有必要简单阐述下相关的一些知识点. 因为文章或深或浅总有适合的人群.若有朋友发现了其中不正确的观点还望多多指出,不 ...
- python(四)数据持久化操作 文件存储
1.写入 导入pickle包 然后组织一个列表my_list,保存为pkl格式,可以是任意格式 在磁盘下回出现一个保存的文件 2.读取
- Android面试收集录 文件存储
1.请描述Android SDK支持哪些文件存储技术? 使用SharePreferences保存key-value类型的数据 流文件存储(openFileOutput+openFileInput或Fi ...
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一) —— 总览
Android数据的四种存储方式SharedPreferences.SQLite.Content Provider和File (一) —— 总览 作为一个完成的应用程序,数据存储操作是必不可少的. ...
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences
除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data ...
- (转)Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences
除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data ...
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (四) —— ContentProvider
ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制.一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制.并且此种方式忽略了底层的数据存储实现,Cont ...
随机推荐
- express+gulp构建项目(四)env环境变量
这里的文件的作用是负责设置env环境变量和日志. index.js try { require('dotenv').load({silent: true}); //dotenv从一个.env文件中读取 ...
- 【adb】adb基本命令总结
adb常用基本命令如下: adb devices 列出你的devices aapt dump badging <file_path.apk> 查看包名 adb ...
- A flash of Joy
import re from datetime import timedelta from tornado import httpclient, gen, ioloop, queues peoples ...
- height和line-height有什么区别?
<div style="height:120px;">是用来规定整个div的高度,文字还是默认会在顶端开始向下排列<div style="line-he ...
- Java—多线程编程
一个多线程程序包含两个或多个能并发运行的部分.程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径. 进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程.一个线程不能独立的存 ...
- iOS开发:自定义控件实现手势解锁
自定义控件 1.提供initWithFrame:及initWithCoder:方法来初始化: 2.解锁控件只负责展示.触摸.绘图等,存储轨迹.判断轨迹等操作不是解锁控件要做的.因此要定义一个代理,将轨 ...
- 虚拟机启动linux系统报错,此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态
在使用虚拟机启动linux的时候报错,如下: 已将该虚拟机配置为使用 64 位客户机操作系统.但是,无法执行 64 位操作. 此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态. ...
- java map的默认排序问题
import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import java.util.Tre ...
- JavaEE SpringMVC 基础概念(如需详细资料请留言)
SpringMVC Web开发核心思想: 模型与视图相分离: 控制逻辑与业务逻辑相分离: 视图选择与具体视图技术相分离: 非侵入式开发(尽量少使用框架特定API),易于测试. SpringMVC是什么 ...
- jquery选择相同ID
jQuery中$("#id")只能选择第一个对象,不能选择所有相同id的元素. 通过 $("input[id='xxxx']"); 可以选择多个相同id的元 ...