Android的I/O基本上和Java的I/O是一样的,只有一点点不同的地方,比如:
1:需要加入sdcard的操作权限
2:需要判断sd卡是否存在,存在才能操作
3:放在sdcard的文件是公共的,而放到自己应用目录里面的文件才是私有的
常用的功能
1:在AndroidManifest.xml添加sdcard读写操作权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
</uses-permission>
2:在AndroidManifest.xml添加能创建和删除sdcard文件的操作权限
<uses-permission android:name= "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
3:判断SD卡是否插入
Environment.getExternalStorageState().equals(android.os.Enviroment.MEDIA_MOUNTED)
4:获得SD卡根目录
Android7及以下版本,使用:Environment.getExternalStorageDirectory()可以获得如下路径“/Android/data/<package_name>/files/”
Android8及以上版本,建议使用:Context的getExternalFilesDir(type)方法,type表示你想要访问什么样的子目录,比如Environment.DIRECTORY_MUSIC,如果访问根目录,就传入null。
从SD卡上读文件,基本就是Java里面I/O的操作,这里以读对象为例:
java代码:
- public Object readFile(String filePathName) {
- Object ret = null;
- FileInputStream fins = null;
- ObjectInputStream os = null;
- try {
- File file = new File(Environment.getExternalStorageDirectory() + filePathName);
- fins = new FileInputStream(file);
- os = new ObjectInputStream(fins);
- ret = os.readObject();
- } catch(Exception err){err.printStackTrace();}finally{
- try {fins.close();}catch(IOException e){e.printStackTrace();}
- try {os.close();}catch(IOException e){e.printStackTrace();}
- }
- return ret;
- }
- 比较遗憾的是,目前加上BufferedInputStream就出错
向SD卡上写文件,基本就是Java里面I/O的操作,这里以写对象为例:
java代码:
- public void writefile(String filePathName,Object obj){
- FileOutputStream fouts = null;
- ObjectOutputStream os = null;
- try {
- File file = new File(Environment.getExternalStorageDirectory() +filePathName);
- if(file.getParentFile().isDirectory() && !file.getParentFile().exists()){
- file.getParentFile().mkdirs();
- }
- if(!file.exists()){ file.createNewFile(); }
- fouts = new FileOutputStream(file);
- os = new ObjectOutputStream(fouts);
- os.writeObject(obj);
- } catch (Exception err) {err.printStackTrace();
- }finally{
- try {fouts.close();}catch(IOException e){e.printStackTrace();}
- try {os.close();}catch(IOException e){e.printStackTrace();}
- }
- }
- 如果要保存成Cache文件,可以使用Context的getExternalCacheDir方法
-
相关推荐
第七部分(2):数据存储【】Android4开发入门经典 ? 第三部分【】Android4开发入门经典 ? 第九部分【】Android4开发入门经典 ? 第二部分【】Andr 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
第一部份 Android的入门基础 第二部份 Android应用核心基础知识 第三部份 理解Activity 第四部份 用户界面 第五部份 Service 第六部份 BroadCast Receiver 第七部份 数据存储 第八部份 数据库操作
第7章 良好的学习开端——Android基本组件介绍 7.1 第一印象很重要——界面UI元素介绍 7.1.1 视图组件(View) 7.1.2 视图容器组件(Viewgroup) 7.1.3 布局组件(Layout) 7.1.4 布局参数(LayoutParams) 7.2 我的美丽我...
第7章 良好的学习开端——Android基本组件介绍 7.1 第一印象很重要——界面UI元素介绍 7.1.1 视图组件(View) 7.1.2 视图容器组件(Viewgroup) 7.1.3 布局组件(Layout) 7.1.4 布局参数(LayoutParams) 7.2 我的美丽我...
《Android开发从入门到精通》包括Android世界、界面布局实战演练、基本控件实战演练、数据存储实战演练等内容。 目录: 第1章 走进Android世界 第2塞界面布局实战演练 第3章 基本控件实战演练 第4章 数据存储实战...
第7章 良好的学习开端——Android基本组件介绍之友好地互动交流——对话框(Dialog)介绍与实例-2 第7章 良好的学习开端——Android基本组件介绍之温馨的提醒——Toast和Notification应用 第8章 移动信息仓库——...
第7章 良好的学习开端——android基本组件介绍 63 7.1 第一印象很重要——界面ui元素介绍 63 7.1.1 视图组件(view) 63 7.1.2 视图容器组件(viewgroup) 63 7.1.3 布局组件(layout) 64 7.1.4 布局参数...
第7章 opengl es介绍 7.1 opengl es概述以及关注它的原因 7.1.1 编程模型:一个比喻 7.1.2 投影 7.1.3 规范化设备空间和视口 7.1.4 矩阵 7.1.5 渲染管道 7.2 开始之前 7.3 glsurfaceview:从2008年...
《flash+flex+air移动开发入门经典——适用于android、ios和blackberry》 第1章 flash、flex和air简介 1 1.1 adobe flash 1 1.2 actionscript 3.0 2 1.2.1 ecmascript 2 1.2.2 关键概念 3 1.3 flex框架 11 ...
《Android开发入门与实战》内容上涵盖了用Android开发的大部分场景,从Android基础介绍、环境搭建、SDK介绍、Market使用,到应用剖析、组件介绍、实例演示等方面。从技术实现上,讲解了5个Android平台下的完整综合...
8、android的数据存储操作 9、Internet和Broadcast面对面 10、Service应用实例 11、开发android应用的基本步骤 12、android综合案例一 13、android综合案例二 14、android综合案例三 15、android综合案例四 16、...
【第一版第七章】老罗Android开发视频--服务器端Web编程(6集) 【第一版第八章】老罗Android开发视频-常用UI控件(33集) 【第一版第九章】老罗Android开发视频--存储数据和文件(7集) 【第一版第十章】老罗...
第14章 Android综合案例三——基于Android的豆瓣网(Web2.0)移动客户端开发 14.1 关于豆瓣网和豆瓣网API 14.1.1 豆瓣网介绍 14.1.2 豆瓣网API介绍 14.1.3 豆瓣网API认证 14.1.4 豆瓣网API快速入门 14.1.5 豆瓣网API...
第7章 Android中的核心Intent 7.1 Intent的作用 7.1.1 多Activity的Android应用 7.1.2 Activity之间的消息传递 7.2 Intent的分类 7.2.1 Action Intent 7.2.2 Broadcast Intent 7.3 解析Intent的实现 7.3.1 Intent ...
第7章 网络与加密 7 1 客户端Socket 7 2 服务端Socket 7 3 非阻塞I O 7 4 WebView控件 7 5 HTTP和HTTPS 7 6 加密技术 第8章 蓝牙与Wi Fi 8 1 蓝牙 8 2 Wi Fi 第9章 电话 短信和联系人 9 1 来电和回电 9 2 短信 9 3 ...
8、android的数据存储操作 9、Internet和Broadcast面对面 10、Service应用实例 11、开发android应用的基本步骤 12、android综合案例一 13、android综合案例二 14、android综合案例三 15、android综合案例四 16、...
第7章 良好的学习开端—Android基本组件介绍。介绍了Android提供的一些组件,使得读者可以很快地掌握并使用这些组件,这是以后开发的基础。通过本章的学习,可以掌握常见组件的使用方法和技巧,为后续快速开发提供...