精华内容
下载资源
问答
  • data文件夹就是我们常说的内部存储,当我们打开data文件夹之后(没有root的手机是不能打开该文件夹),里面有两个文件夹值得我们关注,如下: 一个文件夹是app文件夹,还有一个文件夹是data文件夹,app文件夹里存放...

    彻底了解Android中的内部存储与外部存储

    1.内部存储

    data文件夹就是我们常说的内部存储,当我们打开data文件夹之后(没有root的手机是不能打开该文件夹),里面有两个文件夹值得我们关注,如下:
    文家市的就阿喀琉斯角度来看大苏打撒旦大苏打大苏打大苏打撒旦大苏打大苏打
    一个文件夹是app文件夹,还有一个文件夹是data文件夹,app文件夹里存放着我们所有安装的app的apk文件,其实当我们调试一个app的时候,可以看到控制台输出的内容,有一项是uploading。。。。就是上传我们的apk到这个文件夹,上传成功之后才开始安装。另一个重要的文件夹就是data文件夹了,这个文件夹里边是一些包名,打开这些包名之后我们会看到这样一些文件:

    1. data/data/包名/shared_prefs
    2. data/data/包名/databases
    3. data/data/包名/files
    4. data/data/包名/cache

    如果打开过data文件,应该都知道这些文件夹是干什么用的,我们在使用SharedPreference的时候,将数据持久化存储于本地,其实就是存在这个文件夹中的xml文件里,我们App里边的数据库文件就存储于databases文件夹中,还有我们的普通数据存储在files中,缓存文件存储在cache文件夹中,存储在这里的文件夹我们都称之为内部存储。

    参考文档

    彻底了解Android中的内部存储与外部存储

    2.外部存储

    外部存储是我们平时操作最多的,外部存储一般就是storage文件夹,当然也可能是mnt文件夹,这个不同厂家有可能不一样。

    一般来说,在storage文件夹中有一个SDCard文件夹,这个文件夹又可以分为两类,一类是共有目录,还有一类是私有目录,其中的共有目录有九大类,比如DICM、DOWNLOAD等这种系统为我们创建的文件夹,私有目录就是Android这个文件夹,这个文件夹打开之后里边有一个data文件夹,打开这个data文件夹,里边有许多包名组成的文件夹。

    说到这里,我想大家应该已经可以分清楚什么是外部存储了吧?接下来,我们就看如何去操作内部存储和外部存储。

    3.操作存储空间

    一般来书,我们不会自己去操作内部存储空间,没有root权限的话,我们也无法操作内部存储空间,事实上,内部存储主要是由系统来维护的,不过在代码中我们是可以访问到这个文件夹的。由于内部存储空间有限,在开发中我们一般都是操作外部存储空间,Google官方建议我们App的数据应该存储在外部存储的私有目录中该App的包名下,这样当用户卸载掉App之后,相关的数据会一并删除,如果你直接在/storage/sdcard目录下创建了一个应用的文件夹,那么当你删除应用的时候,这个文件夹就不会被删除。

    经过上面的介绍,我们可以总结出下面一个表格:
    在这里插入图片描述
    一目了然,什么是内部存储,什么是外部存储。
    如果按照路径的特征,我们又可以将文件存储的路径分为两大类,一类是路径中含有包名的,一类是路径中不含有包名的。含有包名的路径,因为和某个App有关,所以对这些文件夹的访问都是调用Context里边的方法;而不含有包名的路径,和某一个App无关,我们可以通过Environment中的方法来访问,如下图:
    Alt
    大家看到,有包名的路径我们都是调用Context中的方法来获得,没有包名的路径,我们直接调用Environment中的方法获得,那么其中有两个方法需要传入一个String类型的参数,这个参数我们使用了Environment中的常量,参数的意思是我们要访问这个路径下的哪个文件夹,比如getExternalFilesDir方法

    本文参考链接

    展开全文
  • Android系统/data目录就是常说的内部存储,里面主要有两个文件夹值得我们关注: “/data/app/”目录 此目录存放着手机上所有安装app的apk文件。比如使用Android Studio调试app,将app安装到手机时,会先上传...
    1. 内部存储
      Android系统/data目录就是常说的内部存储,里面主要有两个文件夹值得我们关注:
      这里写图片描述
      “/data/app/”目录
      此目录存放着手机上所有安装app的apk文件。比如使用Android Studio调试app,将app安装到手机时,会先上传相应的apk文件到此目录,然后才开始安装。

      Android提供/res目录存放资源文件,此时R.java里面自动生成相应资源ID,可以在代码里面直接使用相关资源。另一方面,可以把资源文件存放在/assets目录下,但是此时在/assets目录下面不会在R.java里面自动生成相应资源ID,只是原封不动地打包进apk中,存在在/data/app目录下,此类文件可以通过AssetManager进行访问(Context.getAssets().list(path),其中path为相对路径)。

      “/data/data/包名/”目录
      此目录为app的私有目录,包含shared_prefs、databases、files、cache等文件夹,app中使用sharedPreferenced时,数据持久化存储于本地,就存在shared_prefs文件夹下的xml文件里,app的数据库文件存储于databases文件夹中,普通数据存储在files中,缓存文件存储在cache文件夹中。此目录下的文件可以通过Application Context访问(getFilesDir()、getCacheDir()、deleteFile()、fileList()等),也可以通过Environment 类访问(Environment.getDataDirectory();)。若用户卸载app时,系统会自动删除”/data/data/对应包名”文件夹及内部所有内容。

    2. 外部存储
      由于系统内部存储有限,部分数据可以存储在外部存储中,外部存储就是常说的SD卡。
      外部存储目录下只要分为两类,公有目录和私有目录。
      “SD根目录/Android/data/包名/”私有目录
      此目录和”/data/data/包名”目录类似,若在系统设置内对某个app选择清除数据,系统会清除”/data/data/包名”和”SD根目录/Android/data/包名”两个目录及内部所有内容。

      公有目录
      包含系统创建的DCIM、DOWNLOAD等文件夹,以及其他应用创建的文件。

      至于SD根目录,则可能有多种表示形式:

      /sdcard/
      /mnt/sdcard/ (Android版本 < 4.0)
      /storage/sdcard0/ (Android版本 4.0+)
      /storage/emulated/0/
      /storage/emulated/legacy/ (部分手机不存在)

      其中/sdcard//storage/sdcard0/ (Android版本 < 4.0)/mnt/sdcard/ (Android版本 4.0+) 的symlink,所指的目录为同一个目录;/storage/emulated/0/

    展开全文
  • 根据我的经验,这与无限制地增长日志文件有关,当您添加有限的内部存储大小(通常只有1 GB)时,您有两种解决方案: 借助工具来合并/调整分区大小 继续手动从日志文件夹中删除日志文件 由于我不喜欢这种干涉式解决...
  • 我们都知道,一完整Android应用,可能会存在各种第三方,各种依赖库,这些依赖都会被编译到dex里面,所以这Jar包里面会存在很多不同包名的类文件,为了方便找到破解应用的包名,我们可以借助adb打印栈顶activity...
  • 新版Android开发教程.rar

    千次下载 热门讨论 2010-12-14 15:49:11
    分析认为,谷歌并不想做一简单的手机终端制造商或者软件平台开发商,而意在一统传统互联网和 移 动互联网。----------------------------------- Android 编程基础 4 Android Android Android Android 手机新...
  • Android 上百实例源码分析以及开源分析 集合打包4

    千次下载 热门讨论 2012-07-10 21:54:03
    换句话说,zirco是一个Android的开源替代浏览器,功能很强大,除常见的功能外,还支持自定义搜索引擎、自定义usergent、支持导入火狐的书签、页面查找、主页自定义、地址栏搜索、插件支持、无限制的选项卡浏览,左右...
  • 在Eclipse或者Android studio新建两个项目 称为Basic端和Expand端 分别导入对应的SDK Basic端的Activity继承自ZwrActivity 实现InitListener接口 在onCreate方法 先super 再 Bmob initialize ...
  • •注释时用两个手指滚动翻页 •合并和分割 PDF 文件;旋转页面 •针对 SPen 和其他精选手写笔进行了优化 •缩略图浏览器,用于删除页面,更改页面顺序和插入空白页面 签署和填写 PDF 表格 •填写,保存并发送 PDF ...
  • 1.4.1 第一个android应用程序 12 1.4.2 android应用程序的项目结构 14 1.4.3 android应用程序的调试 16 1.4.4 实际设备的联机调试 18 1.5 android应用程序运行的机制 19 1.5.1 应用程序的系统架构 ...
  • 1.4 第一个android应用程序的开发 25 1.4.1 第一个android程序 26 1.4.2 android应用程序的调试 27 1.5 android应用程序运行的内部机制 29 1.5.1 android应用程序的项目结构 30 1.5.2 android 应用程序的系统...
  • 当useWidth为true时,Photo实体类中会orientation,若bitmap不是用户手机内图片,填0即可。 重要:新增.complexSelector(boolean singleType,int videoCount,int pictureCount),支持复杂选择情况,singleType为...
  • 有两次把工程下面几目录的.gradle , .idea , build 三个文件夹删除,然后clear、rebuild。andrion版本的10.X小米 连接到电脑,打开andrion studio,通过 run app ,在andrion版。的10.X小米生成的APP能正常访问...
  • Trebla是一个Android应用程序,它使用智能手机的传感器并将其连接到外部设备,以便执行传感器记录或执行器命令。 它使用内置的通信系统(WiFi)将数据转发给用户。 在该项目中,将用作外部设备。 最终目标是将...
  • MingQQ Android版发布了,可以在Android手机上登录你的QQ,收发消息哦... 最近为了学习Android开发,特意将原来写的MingQQ Windows版移植到了Android上面,以此练手。通过这次练习,学习到了不少Android开发的...
  • 款定时提醒休息工具-IT人士必备

    千次下载 热门讨论 2012-03-14 11:31:20
    久坐并不是很难克服的坏习惯,关键在两个细节:日常活动、注意久坐时间。我们先来看看久坐是怎样影响身体的吧。 •久坐对身体产生的伤害评估 要想准确地评估出久坐对身体带来多大的伤害是件困难的事,因为这还与...
  • 还有一个Android和iOS应用程序,但它们尚未开放。 虚拟桌面 查看文件夹dd20-vtt 作为节点项目,您需要做的第一件事就是下载所有需要的库。 您可以在几分钟之使用免费的node.js服务器(如heroku)创建自己的服务器...
  • Trebla是一个Android应用程序,它使用智能手机的传感器并将其连接到外部设备,以便执行传感器记录或执行器命令。 它使用内置的通信系统(WiFi)将数据转发给用户。 在该项目中,将用作外部设备。 最终目标是将...
  • apk编辑器电脑版

    2013-11-16 14:44:23
    通过apk manager可以修改很多东西,比如这是我最的简单修改HD的rom里面皮肤文件 石板皮肤slate.apk,在解锁图片上印了两个小绿人。。像修改软件的图标,修改电量显示图标(修改system/framework/framework-res.apk)...
  • 适用于 Android 的 Total Commander 是适用于装有 Android 智能手机或平板电脑的 Total Commander 版本。 它也适用于 OUYA。 在 OUYA 上,它显示了不同的用户界面。 BlackBerry 存在单独的版本。 对于此版本,二进制...
  •   在组件化方案中,资源命名冲突是一个比较严重的问题,由于在打包时会进行资源的合并,如果两个模块中有两个相同名字的文件,那么最后只会保留一份,如果不知道这个问题的小伙伴,在遇到这个问题时肯定是一脸懵逼...
  • Java EJB中、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在状态SessionBean中,用...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    Java EJB中、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在状态SessionBean中,用累加...
  • 为此我们给每个组件增加一个ApplicationLike类,里面定义了onCreate和onStop两个生命周期函数。 看到网上个方案说:主项目负责加载组件,由于主项目和组件之间是隔离的,那么主项目如何调用组件ApplicationLike的...
  • SmaliInjector20170719

    2017-07-19 17:48:39
    main.bat 内有两个便捷开关,赋值表示启用,参数留空表示开关不启用 Resign_Only 是否只做 重签名 的动作,可用于验证目标 apk 有没有做签名保护 SkipDex2jar 是否跳过 dex 转 jar 的步骤,转换很耗时,第二次...
  • Dalvik字节码编辑器

    2014-04-22 17:30:08
    【概括介绍】 Dalvik字节码编辑器是一强大安卓程序修改器,它运行在手机上,...保存代码,再按次返回键,按功能键 保存Dex, 打开META-INF文件夹删除里面的ANDROID.RAS和ANDROID.SF。按功能键 保存。 修改到此完成。

空空如也

空空如也

1 2 3
收藏数 42
精华内容 16
关键字:

手机内有两个android文件夹