
华联学院《android软件开发》课件06数据存储全方案--详解持久化技术
31页1、第六章数据存储全方案-详解持久化技术Android软件开发主讲:王海本章目标了解Android数据存储方式能够使用I/O流操作文件能够读写SD卡文件能够使用SharedPreferences存储能够熟练使用SQLite进行数据的增删改查Android软件开发主讲:王海数据存储Android提供了以下 三种数据存储方式: 文件存储:少量数据需要保存,且数据格式无需结构化 SharedPreferences存储:数据是以“key-value”键值对的方式进行组织和管理,并保存到XML文件中 SQLite数据库存储:用于数据量较多,且需要进行结构化存储Android软件开发主讲:王海I/O流操作文件通过Context对象提供的openFileInput()和openFileOuput()两个方法分别来获得文件的输入流和输出流: FileInputStream openFileInput(String name):用于获取应用程序的数据文件夹下指定“name”文件名的标准文件输入流,以便读取设备中的文件 FileOutputStream openFileOuput(String name,in
2、t mode):用于获取应用程序的数据文件夹下指定“name”文件名的标准文件输出流,以便将数据写入设备的文件中Android软件开发主讲:王海I/O流操作文件Context类中提供4个静态常量用于表示不同的输出模式模式功能描述Context.MODE_PRIVATE私有模式所创建的文件都是私有文件,只能被应用本身所访问Context.MODE_APPEND附加模式首先会检查文件是否存在,若文件不存在,则创建新文件;若文件存在,则在原文件的末尾追加内容Context.MODE_WORLD_READABLE可读模式,该模式的文件可以被其他应用程序读取Context.MODE_WORLD_WRITABLE可写模式,该模式的文件可以被其他应用程序读写从Android 4.2开始,不推荐使用Context.MODE_WORLD_WRITABLE可读模式和Context.MODE_WORLD_READABLE可写模式,由于这两种模式允许其他应用程序操作本应用程序所创建的文件数据,很容易会引起安全漏洞,因此在高版本的Android系统中尽量不要采用这两种模式。Android软件开发主讲:王海I/O
3、流操作文件方法功能描述File getDir(String name,int mode)在应用程序的数据文件夹下获取或创建name对应的子目录File getFilesDir()获取应用程序的数据文件夹的绝对路径String fileList()返回应用程序的数据文件夹下的所有文件boolean deleteFile(String name)删除应用程序的数据文件夹下的指定文件 Context上下文对象还提供了一些方法来访问应用程序的数据文件夹Android软件开发主讲:王海I/O流操作文件 获取文件输入流进行读取文件/定义文件名String file = qst.txt; /获取指定文件的文件输入流FileInputStream fileInputStream = openFileInput(file);/定义一个字节缓存数组byte buffer=new bytefileInputStream.available();/将数据读到缓存区fileInputStream.read(buffer);/关闭文件输入流fileInputStream.close(); 获取文件输出流进行写文件
4、/获取文件输出流,操作模式是私有FileOutputStream fileOutputStream = openFileOutput(file,Context.MODE_PRIVATE);String strContent = QST青软实训;/将内容写入文件fileOutputStream.write(strContent.getBytes();fileOutputStream.close();Android软件开发主讲:王海读写SD卡步骤 使用Environment.getExternalStorageState()方法判断是否插入SD卡,且应用程序具有读写SD卡的权限 使用Environment.getExternalStorageDirectory()方法获取SD卡的目录 使用文件输入流(FileInputStream、FileReader)或输出流(FileOutputStream、FileWriter)来读写SD卡中的文件SD卡(Secure Digital Memory Card)是一种基于半导体快闪记忆器的多功能存储卡,具有大容量、高性能、安全高等多种特点,被广泛地用于
5、便携式移动设备,例如手机、数码相机、PDA等。SD卡极大地扩充了手机的存储能力。Android软件开发主讲:王海读SD卡上的文件/ 1、如果手机插入了SD卡,而且应用程序具有访问SD的权限if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)/ 2、获取SD卡对应的存储目录File sdCardDir = Environment.getExternalStorageDirectory();Log.d(FileIO,+ sdCardDir);/3、 获取指定文件对应的输入流FileInputStream fis = new FileInputStream(sdCardDir.getCanonicalPath() + FILE_NAME);./读文件 Android应用程序读写SD卡中的文件时,需要注意以下两点: 确保已插入SD卡 在AndroidManifest.xml程序清单文件中配置SD卡的读写权限Android软件开发主讲:王海配置SD卡的读写权限除了使用Environment.getE
《华联学院《android软件开发》课件06数据存储全方案--详解持久化技术》由会员东***分享,可在线阅读,更多相关《华联学院《android软件开发》课件06数据存储全方案--详解持久化技术》请在金锄头文库上搜索。