内容发布更新时间 : 2024/12/25 10:56:29星期一 下面是文章的全部内容请认真阅读。
1.1 实验要求
1) 学习使用4种数据存储的方式; 2) 熟练SQLite数据库的使用;
3) 学习使用Content Providers来实现各个不同应用程序之间数据的传递
和共享。 1.2
实验主要步骤
1) 阅读文献《Android应用开发揭秘》第六章,了解数据存储的基本方法; 2) 运行示例程序,分析程序代码,学习使用Shared Preferences、Files、
Network等数据存储技术;
3) 阅读文献,了解SQLite数据库;
4) 运行示例程序,分析程序代码,学习SQLite编程,熟练SQLite数据库
的基本操作;
5) 运行示例程序,分析程序代码,熟练使用Content Providers,学习查
询数据、修改数据、添加数据、删除数据、创建Content Provider等方法。
实验五
姓名:马征 学号:2011303502 班级:14011107 一、Android中的数据存储基本方法 1、 Android数据储存初步了解
通过学习,我了解到,数据存储时程序最为基本的问题,所有的企业系统和应用软件都必须解决这个问题,数据存储必须用一种合理的方式来保存,在保证数据不能丢失的前提条件下,可以有效、简便的使用和更新这些数据。
在Android中,我通过阅读pdf了解到一共提供了四中数据存储方式,然而由于存储的数据都是应用程序私有的,所以在其他的应用程序使用这些数据的时候,需要使用Android提供的Content Providers,先列举四种数据存储方式: Shared Preferences Flies 用来存数“key-value paries”格式的数据,是一个轻量级的键值存储机制,只可以存储基本的数据类型 通过FileInputStream和FileOutputStream对文件惊醒操作,但是在Android中,文件是一个应用程序私有的,所以一个应用程序无法读写其他应用程序的文件 Android提供的一个标准的数据库文件,支持SQL语句 通脱网络来存储和获得数据 SQLite Network 这四种存储方式的特点:
Shared Preferences:主要针对系统配置信息的保存。
Files:包需要保存的东西通过文件的形式记录下来,当需要这些数据的时候,通过读取这个文件来获取这些数据。Ps:由于Android是Linux核心的,所以在Android中,文件也是Linus的形式
SQLite:是一个开源的关系型数据库,具有ACID的特性,可以用来存储大量的数据,并且
能够容易的对数据进行使用、更新、维护。
Network:用于将数据存储于网络,需要使用java.net.*和android .net.*类。
2、 Android数据存储中的SharedPreferences
Shared Preferences类似于常用的ini文件,保存应用程序的属性设置。 通过getPreferences()方法来获得Preferences对象
通过“SharedPreferences.Editor editor = uiState.edit();”取得编辑对象 通过“editor.put()”方法添加数据
通过commit()方法保存这些数据。
通过Activity。getPreferences()保存数据私有。
public class Activity01 extends Activity {
/* 装载数据 */
// 取得活动的preferences对象.
SharedPreferences settings = getPreferences(Activity.MODE_PRIVATE);
mMIDIPlayer = new MIDIPlayer(this);
mTextView = (TextView) this.findViewById(R.id.TextView01); /** Called when the activity is first created. */ @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.main); private MIDIPlayer mMIDIPlayer = null; private boolean private TextView
mbMusic
= false;
mTextView = null;
}
// 取得值.
mbMusic = settings.getBoolean(\, false); if (mbMusic) { } else { }
mTextView.setText(\当前音乐状态:关\); mTextView.setText(\当前音乐状态:开\); mbMusic = true;
mMIDIPlayer.PlayMusic();
public boolean onKeyDown(int keyCode, KeyEvent event) { }
if (keyCode == KeyEvent.KEYCODE_BACK) { }
return super.onKeyDown(keyCode, event);
/* 这里我们在推出应用程序时保存数据 */ // 取得活动的preferences对象.
SharedPreferences uiState = getPreferences(0); // 取得编辑对象
SharedPreferences.Editor editor = uiState.edit(); // 添加值
editor.putBoolean(\, mbMusic);
// 提交保存 editor.commit(); if ( mbMusic ) { }
this.finish(); return true;
mMIDIPlayer.FreeMusic();