,我们必须借助第三方软件的帮助才能实现自动保存
,下面就是具体的方法。
首先在百度上搜索Autosave Your Edit,找到该软件,
下载下来,并安装好。安装的方法非常简单,双击打开安装,然后一直点击next
安装完成以后,你会看到这个对话框,点击【later】,意思是以后再注册
打开软件以后,我们先来更改一下界面语言,,依次执行:view--language--chinese
我们看到界面已经变成了中文,然后点击【被保存的程序】
在打开的下拉列表中,点击【增加被保存程序】
任意打开一个记事本,只要让记事本程序运行就可以了
回到刚才的这个对话框,然后点击右侧的【p】按钮
在运行程序列表中,选中notepad,然后点击确定按钮
然后我们看到在热键这里已经有了ctrl+s,点击加号按钮,添加热键
接着根据你自己的需要设定一下自动保存的时间间隔,然后点击增加按钮。
Android应用开发中,给我们提供了5种数据的存储方式1 使用SharedPreferences存储数据
2 文件存储数据
3 SQLite数据库存储数据
4 使用ContentProvider存储数据
5 网络存储数据
不同的业务逻辑,或者需求,用不同的实现方式,以下是这几中数据存储方式的说明用及法:
第一种: 使用SharedPreferences存储数据
SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存。
以下为示例代码:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
//获取SharedPreferences对象
Context ctx = MainActivity.this
SharedPreferences sp = ctx.getSharedPreferences("SP", MODE_PRIVATE)
//存入数据
Editor editor = sp.edit()
editor.putString("STRING_KEY", "string")
editor.putInt("INT_KEY", 0)
editor.putBoolean("BOOLEAN_KEY", true)
editor.commit()
//返回STRING_KEY的值
Log.d("SP", sp.getString("STRING_KEY", "none"))
//如果NOT_EXIST不存在,则返回值为"none"
Log.d("SP", sp.getString("NOT_EXIST", "none"))
}
}
第二种: 文件存储数据
关于文件存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。
文件可用来存放大量数据,如文本、图片、音频等。
默认位置:/data/data/<>/files/***.***。
代码示例:
public void save(){
try {
FileOutputStream outStream=this.openFileOutput("a.txt",Context.MODE_WORLD_READABLE)
outStream.write(text.getText().toString().getBytes())
outStream.close()
Toast.makeText(MyActivity.this,"Saved",Toast.LENGTH_LONG).show()
} catch (FileNotFoundException e) {
return
}
catch (IOException e){
return
}
}
第三种: SQLite数据库存储数据
SQLite是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, PHP, Python)都使用了 SQLite。
SQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。
SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展 SQLite 的内核变得更加方便。
读取文件示例:
public void load(){
try {
FileInputStream inStream=this.openFileInput("a.txt")
ByteArrayOutputStream stream=new ByteArrayOutputStream()
byte[] buffer=new byte[1024]
int length=-1
while((length=inStream.read(buffer))!=-1) {
stream.write(buffer,0,length)
}
stream.close()
inStream.close()
text.setText(stream.toString())
Toast.makeText(MyActivity.this,"Loaded",Toast.LENGTH_LONG).show()
} catch (FileNotFoundException e) {
e.printStackTrace()
}
catch (IOException e){
return
}
}
第四种 使用ContentProvider存储数据 ContentProvider其实也是通过数据库的方式来存储数据的,因此这里不再做详细介绍
第五种 网络存储数据 也就是说将数据保存在服务器,android上只需要通过httpclient发起一个请求,向服务器获取数据即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)