默认安装位置:

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 程序默认安装位置和数据存储位置(公用和私用)的更多相关文章

  1. Android eclipse 运行项目设置程序默认安装到SD卡

    Android eclipse 运行项目设置程序默认安装到SD卡  1.在Android手机启用USB调试功能 2.在Windows系统中打开命令提示符(开始菜单,选择运行,输入cmd回车即可),使用 ...

  2. ubuntu14.04 rabbitmq安装与使用 --修改RabbitMQ数据存储位置

    参考:https://blog.csdn.net/tianjiewang/article/details/58383062 说明: ubuntu14.04   rabiitmq 默认 安装路径 /va ...

  3. 智能合约语言 Solidity 教程系列4 - 数据存储位置分析

    写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 这部分的内容官方英文文档讲的不是很透,因此我在参考Soli ...

  4. 修改mysql数据存储位置

    停止mysql服务. 在mysql安装目录下找到mysql配置文件my.ini. 在my.ini中找到mysql数据存储位置配置datadir选项,比如我电脑上的配置如下: # Path to the ...

  5. 【Java编程思想阅读笔记】Java数据存储位置

    Java数据存储位置 P46页有感 一.前置知识 栈是由系统自动分配的,Java程序员对栈没有直接的操作权限, 堆是所有线程共享的内存区域,栈 是每个线程独享的. 堆是由程序员自己申请的,在使用new ...

  6. centos 7.1系统更改Mariadb数据存储位置步骤分享

    一.首先确保你要更改Mariadb数据存储的位置的空间够大 现在已将Mariadb存储位置更改到/opt/目录下 1.然后将Mariadb服务stop:systemctl stop mariadb 2 ...

  7. 修改Docker默认镜像和容器的存储位置

    一.Why Docker默认的镜像和容器存储位置在/var/lib/docker中,如果仅仅是做测试,我们可能没有必要修改,但是当大量使用的时候,我们可能就要默认存储的位置了. 二.How 2.1 修 ...

  8. Ubuntu 安装mysql & 自定义数据存储目录

    一.安装 apt-get install mysql-server 执行过程如下: root@duke:~# apt-get install mysql-server 正在读取软件包列表... 完成 ...

  9. web sql database数据存储位置

    Q1: 数据存储在哪儿? Web Storage / Web SQL Database / Indexed Database 的数据都存储在浏览器对应的用户配置文件目录(user profile di ...

随机推荐

  1. js asp.net获取时间戳

    方法1: var timestamp = (new Date()).valueOf(); 结果:1280977330748 方法2: var timestamp=new Date().getTime( ...

  2. 161220、使用Spring AOP实现MySQL数据库读写分离案例分析

    一.前言 分布式环境下数据库的读写分离策略是解决数据库读写性能瓶颈的一个关键解决方案,更是最大限度了提高了应用中读取 (Read)数据的速度和并发量. 在进行数据库读写分离的时候,我们首先要进行数据库 ...

  3. 网页特殊符号HTML代码大全

    往网页中输入特殊字符,需在html代码中加入以&开头的字母组合或以&#开头的数字.下面就是以字母或数字表示的特殊符号大全.   ´ ´ © © > > µ µ ® ® &a ...

  4. [已解决]Tomcat启动报 java.net.BindException: Address already in use: JVM_Bind

    启动多个Tomcat的的时候记得要改3个端口: <Server port="8001" shutdown="SHUTDOWN"> <Conne ...

  5. HDU 5685:2016"百度之星" - 资格赛 Problem A

    原文链接:https://www.dreamwings.cn/hdu5685/2637.html Problem A Time Limit: 2000/1000 MS (Java/Others)    ...

  6. TextGrocery中文文本分类处理

    详细使用说明:http://textgrocery.readthedocs.io/zh/latest/index.html TextGrocery是一个基于LibLinear和结巴分词的短文本分类工具 ...

  7. OWASP top10

    PhishTank 是互联网上免费提供恶意网址黑名单的组织之一,它的黑名单由世界各地的志愿者提供,且更新频繁. 1.XSS 1.1. XSS简介 跨站脚本攻击,英文全称是Cross Site Scri ...

  8. CentOS下LAMP一键yum安装脚本

    本脚本适用环境: 系统支持:CentOS/Redhat/Fedora 内存要求:≥64M 硬盘要求:2GB以上的剩余空间 服务器必须配置好软件源和可连接外网 必须具有系统 root 权限 建议使用干净 ...

  9. java 导出Excel 大数据量,自己经验总结!(二)

    在上一次的基础上加上了样式,以及中文列名 package com.tommy.fundation.util; import java.io.OutputStream; import java.util ...

  10. boost 编译,windows平台

    下载Boost及生成bjam.exe文件 到Google网站搜索下载boost_1.52版本库,下载完成后,解压到X:下,这个地址自己随便定义.在解压的文件中搜索build.bat文件,把它所在的目录 ...