android app文件目录结构

android app文件目录结构,第1张

原来,只要把文件写在这里的话,可以不用动态申请权限,只要在manifest里面声明权限就ok了;

应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。

大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中。

这样当该应用被卸载后,这些数据还保留在SDCard中,留下了垃圾数据。

并且在API

60之后,根目录文件存储是需要用户授权的,就算你在AndroidManifestxml中配置了存储权限,用户不授权也是写不进去了。

SD卡读写权限:

如果你想让你的应用被卸载后,与该应用相关的数据也清除掉,该怎么办呢?

通过

可以得到

这个目录里面,一般放一些长时间保存的数据

方法可以获取到 SDCard/ Android /data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据

通过

方法可以获取到

如果使用上面的方法,当你的应用在被用户卸载后,SDCard/Android/data/你的应用的包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。并且

这个方法获得的文件存储路径适用于60以后系统,只要AndroidManifestxml配置读写权限了,就不需要用户再授权了。

正常开发中获取存储路径的方法是:

可以看到,当SD卡存在或者SD卡不可被移除的时候,就调用getExternalCacheDir()方法来获取缓存路径,否则就调用getCacheDir()方法来获取缓存路径。前者获取到的就是 /sdcard/Android/data/<application package>/cache 这个路径,而后者获取到的是 /data/data/<application package>/cache 这个路径。

设置->应用->应用详情里面的”清除数据“与”清除缓存“选项分别对应的是data/data/<application package>/和data/data/<application package>/cache

external storage (外部存储):

EnvironmentgetExternalStorageDirectory()SD根目录:/mnt/sdcard/ (60后写入需要用户授权)

contextgetExternalFilesDir(dir)路径为:/mnt/sdcard/Android/data/< package name >/files/…

contextgetExternalCacheDir()路径为:/mnt/sdcard//Android/data/< package name >/cache/…

internal storage(内部存储):

contextgetFilesDir()路径是:/data/data/< package name >/files/…

contextgetCacheDir()路径是:/data/data/< package name >/cach/…

运行cmd,dos模式下进去android模拟器的platform-tools 目录下例如:我的目录是 F:\Work\Android\android-sdk_r08-windows\android-sdk-windows\platform-tools(全英文路径不要有空格,现在的sdk应该升级为r09了)在platform-tools目录下(doc模式),输入 adb install -r \路径\路径\……apk很麻烦哦 希望对你有些帮助

android的硬存储是按照linux系统规则来划分的,用于存储客户信息和客户安装的应用的是/data分区,你如果使用的是c程序的话,应该是在/data/app之类的下面,我手头没有板子没法给你查。文件夹是google约定俗成的,不同厂家应该都是一样的路径。如果是厂家定制的应用则是在/system分区下,路径应该是/system/app下。

如果你是一个android系统学习者,而不是应用开发者的话,我建议看看以下system/etc/initrc对于你会有很大的帮助。

获得目录 = getFilePathByName(已经知道的文件名,根目录);

/

@param seekFileName 需要查找的File名

@param rootFile 在哪里查找的目录

@return 查找文件的全路径

/

private String getFilePathByName(String seekFileName,File rootFile){

List<File> files=parseFiles(rootFile);

for (File file:files){

if(filegetName()equals(seekFileName)){

return filegetAbsolutePath();

}

}

return null;

}

private List<File> parseFiles(File file){

List<File> listFiles=new ArrayList<>();

File[] files = filelistFiles();

for (File mf:files){

if(mfisDirectory()){

listFilesaddAll(parseFiles(mf));

}else{

listFilesadd(mf);

}

}

return listFiles;

}

用fx文件管理器可以做得到,还可以查看apk程序的真实版本、安装包名。

FX文件管理器 FX File Explorer是一款Android平台实用的文件管理器。

功能特性:

多窗口(不同的地点之间快速切换)

直观的刷卡选择用于管理多个项目(滑动手指,整个项目选择/取消他们的水平;看到YouTube影片,网站文件,或在应用程序的更多信息帮助)的手势

图标,并在文件管理器窗口的详细列表视图

剪切/复制/粘贴/删除使用剪贴板

存储空间的使用情况分析仪(点击任何文件管理器窗口内查看 - >详细信息)

应用程序文件(任何窗口内挖掘工具 - >帮助),也可在NextApp网站文件阅读器/编辑器(所有版本)

文本文件查看器

二进制(十六进制)浏览器(TAP文件 - >打开 - >在任何文件管理器"窗口中的二进制查看器)

图像浏览器

Zip文件解压/造物主媒体功能(完整版)

浏览图像集(相机胶卷(S),图像文件夹,设备上的所有图像)

浏览视频收藏(相机胶卷(S),设备上的所有影片)

浏览艺术家,专辑,播放列表,音频或显示所有曲目

重新排列拖放播放列表(可以选择多个文件整理的)网络功能(完整版)

Windows网络(SMB)

FTP

SSH FTP

加密钥匙圈(用来避免进入公共敏感的密码,同时不允许在设备被盗事件的访问)

蓝牙功能(完整版)

发送文件通过OBEX推

OBEX接收文件的推送服务器(可选,有些设备本身提供这项服务)

OBEX推送客户端和服务器可以使用WiFi高速传输的,当两个连接到同一网络。

蓝牙FTP客户端

探索/对设备内的应用程序

以上就是关于android app文件目录结构全部的内容,包括:android app文件目录结构、如何快速定位查看安卓App的安装目录、Android:怎么获取当前文件(类)所在的目录的完整路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9814204.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存