APK安装时如何拷贝apk里的文件到sdcard
来源:互联网 发布:汇川plc编程手册pdf 编辑:程序博客网 时间:2024/05/18 02:15
一、效果:
安装apk到用户手机上时在用户的SDCard创建文件夹(其实就是建立你唯一的应用的目录咯),以及复制一些你不想编译而有用的文件到你的目录下!
二、关键点:
1、得到sdcard的路径:Android.os.Environment.getExternalStorageDirectory().getAbsolutePath()一般都会得到路径“/mnt/sdcard"
2、将你需要复制到用户sdcard的文件放到android代码res/raw路径如”res/raw/flycatdeng.txt",放在raw中的文件不会被编译。通过getResources().openRawResource(R.raw.flycatdeng);方式来获得这个资源,返回InputStream输入流。
3、得到目录或文件 File file=new File(String path); 判断是否有这个文件或目录file.exists(),返回true则表示存在;
4、如果目录不存在则需要创建目录(文件夹),file.mkdirs();//这里非常需要注意,如果是只有一个文件夹的话可以用mkdir(),但是如果你要再文件夹中还要有文件夹的话则需要用到mkdirs()
5、输入输出文件流,可见以下代码
6、最最最关键的是一定要在AndroidManifest.xml文件中配置添加用户权限:
sdcard创建和删除的文件的权限:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
sdcard文件写入内容的权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
三、源码:
- public class MainActivity extends Activity {
- private String fileDirPath = android.os.Environment
- .getExternalStorageDirectory().getAbsolutePath()// 得到外部存储卡的数据库的路径名
- + "/Mulu01/Mulu02/Mulu03";// 我要存储的目录
- private String fileName = "flycatdeng.txt";// 要存储的文件名
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- createFile();// 创建目录及文件
- }
- private void createFile() {
- String filePath = fileDirPath + "/" + fileName;// 文件路径
- try {
- File dir = new File(fileDirPath);// 目录路径
- if (!dir.exists()) {// 如果不存在,则创建路径名
- System.out.println("要存储的目录不存在");
- if (dir.mkdirs()) {// 创建该路径名,返回true则表示创建成功
- System.out.println("已经创建文件存储目录");
- } else {
- System.out.println("创建目录失败");
- }
- }
- // 目录存在,则将apk中raw中的需要的文档复制到该目录下
- File file = new File(filePath);
- if (!file.exists()) {// 文件不存在
- System.out.println("要打开的文件不存在");
- InputStream ins = getResources().openRawResource(
- R.raw.flycatdeng);// 通过raw得到数据资源
- System.out.println("开始读入");
- FileOutputStream fos = new FileOutputStream(file);
- System.out.println("开始写出");
- byte[] buffer = new byte[8192];
- int count = 0;// 循环写出
- while ((count = ins.read(buffer)) > 0) {
- fos.write(buffer, 0, count);
- }
- System.out.println("已经创建该文件");
- fos.close();// 关闭流
- ins.close();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- APK安装时如何拷贝apk里的文件到sdcard
- APK安装时如何拷贝apk里的文件到sdcard
- 把apk安装到Android模拟器中、把文件拷贝进sdcard
- 安装APK文件到Android模拟器和Android sdcard的使用
- 安装APK文件到Android模拟器和Android sdcard的使用
- 安装APK文件到Android模拟器和Android sdcard的使用
- 安装APK文件到Android模拟器和Android sdcard的使用
- 安装APK文件到Android模拟器和Android sdcard的使用
- 预置APK文件到sdcard下
- 获取SDCard上未安装的apk文件的信息
- 如何安装Apk文件到Android模拟器
- 如何安装Apk文件到Android模拟器
- 如何安装Apk文件到Android模拟器
- Apk文件如何安装到Android模拟器的方法详解
- 安装apk到手机里
- 安装ASSETS下的APK,(拷贝到本地安装)
- 如何将谷歌商店里的apk下载到电脑里
- 双击运行Android模拟器、创建SDcard、AVD、安装APK文件、上传文件到模拟器
- APNs的文档
- demo源码
- Java-cannot resolve method 'XXX'
- JavaScript复习第二天元素节点的增删操作
- sql server 查询db事务没有提交的情况
- APK安装时如何拷贝apk里的文件到sdcard
- 基于HTK的连续语音识别系统搭建学习笔记(四)
- 学生信息管理系统.jsp
- tomcat 在停止服务时使用ngix抛出一个停机页面
- 全文索引原理介绍
- 《中华经典名著全本全注全译丛书:老子》读后感
- 学习笔记之网络访问基础
- 鼠标拖拽效果原理及完整代码实现
- 非阻塞connect