androidd 程序默认安装位置和数据存储位置(公用和私用)
默认安装位置:
android App 安装到外置SD卡中,缓解手机内置内存的压力:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.org.hl.john.androidstt"
android:installLocation="internalOnly">
// 在manifest中加入android:installLocation="preferExternal" 安装到外置SD卡上;
// 加入android:installLocation="internalOnly"安装到自身内存上
//或者直接用android:installLocation="auto" 根据系统自行选择
如果是直接安装到外置SD卡上必须获得SD卡权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
数据储存位置:
把数据都储存到SD卡中,缓解自身内存压力
首先判断SD卡是否可用,检测他的状态:
/**
* 判断内存卡是否可写
* @return true 可以写入, false 不可写
*/
private boolean isExternalStorageWritable(){
String state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_MOUNTED)){
return true;
}
return false;
} /**
* 判断内存卡是否可读
* @return true 可读 false 不可读
*/
private boolean isExternalStorageReadable(){
String state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_MOUNTED)||state.equals(Environment.MEDIA_MOUNTED_READ_ONLY)){
return true;
}
return false;
}
然后根据个人需要储存的数据把数据存储到一个私有或者公用的位置:
/**
* 保存到内存中
* @param context 上下文
* @param string 传入要保存的内容
*/
private void saveFile(Context context,String string){
File file = new File(context.getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS) + "/tad.txt" );
//getExternalFilesDir()是存储到一个私有的地方,在应用程序卸载时一起删除(主要是看存储什么数据);
// getExternalStoragePublicDirectory()存储到一个指定的位置,可供大家使用(照片,音乐等等),在应用卸载时不会删除,如果不用,可以自己去删了就行了。
//Environment.DIRECTORY_DOCUMENTS是你所存储的文件类型,会自行给你在应用包下建一个文件夹。
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
String strContent = string + "\r\n";
try {
RandomAccessFile raf = new RandomAccessFile(file, "rwd");
//RandomAccessFile 控制文件的读写速度快 写这类文件还不错。
raf.seek(file.length());
//seek(index) 移动存储位置,比如需要添加一个数据到这个字符串的第五位则用 seek(4)
raf.write(strContent.getBytes());
raf.close();
//使用完关闭
} catch (Exception e) {
Log.e("TestFile", "Error on write File:" + e);
}
}
ok 完工!
androidd 程序默认安装位置和数据存储位置(公用和私用)的更多相关文章
- Android eclipse 运行项目设置程序默认安装到SD卡
Android eclipse 运行项目设置程序默认安装到SD卡 1.在Android手机启用USB调试功能 2.在Windows系统中打开命令提示符(开始菜单,选择运行,输入cmd回车即可),使用 ...
- ubuntu14.04 rabbitmq安装与使用 --修改RabbitMQ数据存储位置
参考:https://blog.csdn.net/tianjiewang/article/details/58383062 说明: ubuntu14.04 rabiitmq 默认 安装路径 /va ...
- 智能合约语言 Solidity 教程系列4 - 数据存储位置分析
写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 这部分的内容官方英文文档讲的不是很透,因此我在参考Soli ...
- 修改mysql数据存储位置
停止mysql服务. 在mysql安装目录下找到mysql配置文件my.ini. 在my.ini中找到mysql数据存储位置配置datadir选项,比如我电脑上的配置如下: # Path to the ...
- 【Java编程思想阅读笔记】Java数据存储位置
Java数据存储位置 P46页有感 一.前置知识 栈是由系统自动分配的,Java程序员对栈没有直接的操作权限, 堆是所有线程共享的内存区域,栈 是每个线程独享的. 堆是由程序员自己申请的,在使用new ...
- centos 7.1系统更改Mariadb数据存储位置步骤分享
一.首先确保你要更改Mariadb数据存储的位置的空间够大 现在已将Mariadb存储位置更改到/opt/目录下 1.然后将Mariadb服务stop:systemctl stop mariadb 2 ...
- 修改Docker默认镜像和容器的存储位置
一.Why Docker默认的镜像和容器存储位置在/var/lib/docker中,如果仅仅是做测试,我们可能没有必要修改,但是当大量使用的时候,我们可能就要默认存储的位置了. 二.How 2.1 修 ...
- Ubuntu 安装mysql & 自定义数据存储目录
一.安装 apt-get install mysql-server 执行过程如下: root@duke:~# apt-get install mysql-server 正在读取软件包列表... 完成 ...
- web sql database数据存储位置
Q1: 数据存储在哪儿? Web Storage / Web SQL Database / Indexed Database 的数据都存储在浏览器对应的用户配置文件目录(user profile di ...
随机推荐
- mongo的安装
windows: 1 安装scons (1): 下载python2.7, 使用x86_32位,因为scons只有32位安装包可用, http://www.python.org/download/rel ...
- 嵌入式Linux内核制作【转】
本文转载自:http://blog.csdn.net/coding__madman/article/details/51291316 1. Linux体系结构 从整体上来分,linux可以分为User ...
- 初识python第二天(2)
整理Python常见数据类型内置函数的使用方法如下: 一.int 首先我们来查看一下int包含了哪些函数 #python3.x print(dir(int)) #['__abs__', '__add_ ...
- Linux 奇技淫巧
为了整理这些命令,花了我一个晚上的时间,但是不弄明白,我就是不爽啊. 1.cmatrix 命令 黑客帝国,就是酷炫,先按F11全屏效果更佳 安装:luffy@ubuntu:~$ sudo apt-ge ...
- 基于webrtc的资源释放问题(一)
基于webrtc的资源释放问题(一) ——重复释放webrtc的相关资源 背景: 视频通讯大都只是作为一个功能存在于各种应用中,比如微信,qq .既然只是应用的一部分,这样就涉及反复的开启和关闭视频通 ...
- Java 新手学习 CSS样式列表 排版 格式布局
1,样式表分为 内联样式表 内嵌样式表 外部样式表 三种. 内联样式表是直接写在标签里面的 比如 <p style=“”></p> <div style=& ...
- 批量删除.pyo后缀的文件
find . -name "*.pyo" -exec rm {} \; 删除以.pyo后缀的所有文件 find . ! -name "*.pyo" -exec ...
- Android 反编译
Android 反编译 步骤:1.下载apktool 工具,这一步 主要是反编译 xml 文件. 步骤:2 把xx.smali 文件转为java 工具 (单个) 图形界面 下载dex2jar 和xj ...
- [问题2014S12] 复旦高等代数II(13级)每周一题(第十二教学周)
[问题2014S12] 设 \(A,B\) 都是 \(n\) 阶半正定实对称阵, 证明: \(AB\) 的所有特征值都是非负实数. 进一步, 若 \(A,B\) 都是正定实对称阵, 证明: \(AB ...
- 405 Method Not Allowed
今天在发布一个网站的时候遇到 标题上的问题,一直不明白是为何,刚开始以为是我的程序写的有问题,随即将项目发给同事来发布试试,在他的IIS上发布却没出现问题,一切正常,这可就怪了,于是想到了应该是IIS ...