首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

好好管理你应用文件夹,别再乱用了

Android开放性给了开发者巨大自由度,自由不是让我们滥用权限和随意开发借口,每一个开发者都应该注重细节,连曾经一片混乱第三方推送都开始统一整合规范化了,如果你还在随意开发,不如现在开始,注重细节...应用操作文件存储位置分为三个部分: 应用内部存储私有文件目录 应用外部存储私有文件目录 公有目录 我们有两种api去获取这三个部分存储位置,它们分别归属于Context和Environment。...在内部私有目录下会创建一个名为app_name文件夹,mode以前是可以设置文件夹私有(MODE_PRIVATE)和公有的(MODE_WORLD_READABLE、MODE_WORLD_WRITEABLE...),目前公有的mode都已经废弃,意味着这个api创建文件夹已经完全私有,不能再共享出去了。...比如一个文件保存地址获取方法里不能只有一个api,要保有兜底措施,如果不能存在外部储存,那我就存在内部,保证app功能正常运行。

1.3K10

Unity3D各平台Application.xxxPath路径

把热更新临时文件写在这里,等一个版本所有内容更新完全后,再把内容转移到Documents目录。 Preferences用于应用存储偏好设置,用NSUserDefaults读取或设置。...公有目录是像DCIM、Music、Movies、Download这样系统创建公共目录,当然你也可以像微信那样直接在sd卡根目录创建一个文件夹。好处嘛,就是卸载app数据依旧存在。...私有目录在/storage/emulated/n/Android/data/package name/,打开可以看到里面有两个文件夹cache和files。为什么跟内部存储目录重复了?...这是为了更大存储空间,以防内存存储空间较小。推荐把不需要隐私、较大数据存在这里,而需要隐私或较小数据存在内部存储空间。...API: Storage Options 彻底理解Android内部存储与外部存储 Unity – Scripting API:PlayerPrefs PS.

79010
您找到你想要的搜索结果了吗?
是的
没有找到

unityapplication(3D自动保存路径)

把热更新临时文件写在这里,等一个版本所有内容更新完全后,再把内容转移到Documents目录。 Preferences用于应用存储偏好设置,用NSUserDefaults读取或设置。...公有目录是像DCIM、Music、Movies、Download这样系统创建公共目录,当然你也可以像微信那样直接在sd卡根目录创建一个文件夹。好处嘛,就是卸载app数据依旧存在。...私有目录在/storage/emulated/n/Android/data/package name/,打开可以看到里面有两个文件夹cache和files。为什么跟内部存储目录重复了?...这是为了更大存储空间,以防内存存储空间较小。推荐把不需要隐私、较大数据存在这里,而需要隐私或较小数据存在内部存储空间。...API: Storage Options 彻底理解Android内部存储与外部存储 Unity – Scripting API:PlayerPrefs PS.

98920

Android 逆向】获取安装在手机应用 APK 包 ( 进入 adb shell | 获取 root 权限 | 进入 dataapp 目录 | 拷贝 base.apk 到外置存储 )

文章目录 一、获取 APK 包流程 二、获取 APK 包完整流程命令行输出 一、获取 APK 包流程 ---- 从应用市场中下载应用 , 安装完毕后 , 自动删除 ; 如果想要获取安装应用 APK...包 , 可以使用如下方法进行获取 ; 模拟器 或者 root 过手机 , 可以获取 APK 包 ; 这里以 Root 过 Pixel 2 手机为例 ; 进入 adb shell 命令行 : adb...shell 获取 root 权限 : su 进入 /data/app 目录 : cd /data/app 根据包名查找指定应用安装目录 : cd kim.hsl.aidl_demo-fRLEnkOknxauSrQcwx2jzw...\=\=/ 拷贝 APK 到外置 SD 卡存储空间 : cp base.apk /sdcard/Pictures/ 拷贝后 APK 文件 : 二、获取 APK 包完整流程命令行输出 ---- 下面的命令行截图是完整流程

1.6K10

Android动态权限申请(Kotlin版)

Android6.0之后,APP有些用到权限需要动态申请,虽然这个功能已经出来好久了,一直没有研究过,只知道用法简单,到时候copy一下就好了,github上也有许多开源框架供大家使用。...本篇博客先介绍一下Android动态权限申请使用方法(虽然可以copy,还是要研究一下),接着分析一下RxPermissions源码,然后博主自己也写了一个开源lib,Kotlin版,如果项目使用...Android动态权限申请 Android6.0之后,权限级别分为正常权限和危险权限: 正常权限对用户隐私或其他应用操作风险较小,只需要在应用声明声明即可使用。...危险权限涉及到用户隐私信息数据或资源,因此,在应用声明之后,还需要用户动态向应用赋予该权限。...Fragment实现,不需要用户再去调用,不过总是觉得这样做对android性能优化不是很好,源码如下: private RxPermissionsFragment getRxPermissionsFragment

4K20

笔记——安卓存储知识(十)

用于存储Andoid设备操作系统和应用程序存储介质,Android设备Android系统和应用程序(APK文件)都是存在内部存储。例如手机/system/目录、/data/目录等。...data文件夹就是我们常说内部存储区,当我们打开data文件夹之后(没有root权限的话,我们也没法操作内部存储空间,不能打开该文件夹)。...storage或mnt文件夹即为外部存储区,外部存储文件是可以被用户或者其他应用程序修改,有两种类型文件(或者目录): >1.公共文件Public files:文件是可以被自由访问,且文件数据对其他应用或者用户来说都是有意义...,当应用被卸载之后,其卸载前创建文件仍然保留。...比如camera应用,生成照片大家都能访问,而且camera不在了,照片仍然在。公有目录有九大类,比如DCIM、DOWNLOAD、PICTURES等这种系统为我们创建文件夹

68430

Android-文件存储目录

1.内部存储(Internal Storage) 内部存储位于系统很特殊一个位置,对于设备每一个安装 App,系统都会在 data/data/packagename/xxx 自动创建与之对应文件夹...如果你想将文件存储于内部存储,那么文件默认只能被你应用访问到,且一个应用创建所有文件都在和应用包名相同目录下。也就是说应用创建于内部存储文件,与这个应用是关联起来。...当一个应用卸载之后,内部存储这些文件也被删除。对于这个内部目录,用户是无法访问,除非获取root权限。...在内部私有目录下会创建一个名为app_name文件夹,mode以前是可以设置文件夹私有(MODE_PRIVATE)和公有的(MODE_WORLD_READABLE、MODE_WORLD_WRITEABLE...),目前公有的mode都已经废弃,意味着这个api创建文件夹已经完全私有,不能再共享出去了。

3.4K20

拖不得了,Android11真的来了,最全适配实践指南奉上

是多少,只要在Android11设备上运行应用都有影响) 为什么先说targetSdkVersion>=30模块呢?...分区存储强制执行⭐ “对外部存储目录访问仅限于应用专属目录,以及应用创建特定类型媒体。...此操作与用户在系统设置查看权限并将应用访问权限级别更改为拒绝做法效果一样。如果应用已遵循有关在运行时请求权限最佳做法,那么您不必对应用进行任何更改。...新权限弹窗 权限对话框可见性 “Android 11 建议不要请求用户已选择拒绝权限。在应用安装到设备上后,如果用户在使用过程屡次针对某项特定权限点按拒绝,此操作表示其希望“不再询问”。...为了在正确定义无障碍操作应用创建更一致行为,Android 11 绝不会分派触摸事件。

6.6K340266

一篇文章彻底明白Android文件存储

前言 Android中经常需要使用文件存储用户数据 本文将梳理各个版本文件存储,希望能帮上忙。...] 外部存储 示意图 私有目录(private):storage/emulated/0/Android/ 每个应用独占以包名命名私有文件夹应用卸载时被删除 对MediaScanner不可见(例外:...多媒体文件夹 API 21) 特点 适用场景:非私密数据,需要随应用卸载删除 公共目录(public):外部存储除了私有目录外其他空间 所有应用共享 在应用卸载时不会被删除 对MediaScanner...清除应用数据选项(在系统设置或手机管家中): 清除缓存:清除应用内部存储缓存文件夹 与 外部存储缓存文件夹; 清除数据:清除应用内部存储 与 外部存储空间私有目录; 4.2 android:installLocation...,外部存储空间不足时,尝试安装在内部存储; 外部存储被移除时,安装在外部存储空间上应用会被系统杀死。

4.5K00

Android 11 开发者常见问题 | FAQ・第一期

如果应用 targetSdkVersion 未升级到 Android 11,运行在 Android 11 系统上时,分区存储不会强制生效。...清理类应用可以访问所有的外部存储同样也无法访问其他应用专属目录。在分区存储应用专属目录可以理解为和内部存储是等同,在 Android 11 也是不可以去访问。...是的,如果第三方文件管理应用还有机会去访问其他应用产生专属目录里文件,那么这些应用就可以进一步选择将应用文件放在内部存储,这样对于外部存储来说并不是一个很好应用规范。...当用户授予对应权限后就可以继续运行;当用户没有授予相应权限,也可以提示用户解释为什么需要权限,让用户了解到权限申请必要性。...但因为在 Android 11 我们对系统底层也做了一些改动,比如权限管理、一次性权限还有分区存储一些变更,我们也希望大家可以在 Android 11 模拟器或真机调试自己应用,以确保没有问题。

2K40

笔记(十)——安卓存储知识

用于存储Andoid设备操作系统和应用程序存储介质,Android设备Android系统和应用程序(APK文件)都是存在内部存储。例如手机/system/目录、/data/目录等。...data文件夹就是我们常说内部存储区,当我们打开data文件夹之后(没有root权限的话,用户也没法操作内部存储空间,不能打开该文件夹)。...storage或mnt文件夹即为外部存储区,外部存储文件是可以被用户或者其他应用程序修改,有两种类型文件(或者目录): >1.公共文件Public files:文件是可以被自由访问,且文件数据对其他应用或者用户来说都是有意义...,当应用被卸载之后,其卸载前创建文件仍然保留。...比如camera应用,生成照片大家都能访问,而且camera不在了,照片仍然在。公有目录有九大类,比如DCIM、DOWNLOAD、PICTURES等这种系统为我们创建文件夹

1.2K31

《移动互联网技术》 第四章 移动应用开发: Android Studio开发环境使用方法:建立工程,编写源程序,编译链接,安装模拟器,通过模拟器运行和调试程序

在窗口“minimum SDK”选项,选择应用支持最低SDK版本,如下图所示。随后,一步步按照提示操作,创建自己工程项目。...另外,在开发过程还经常要用到资源文件夹,也就是res目录,它主要用来存放应用各种资源。...R文件对应资源都存放在res目录,不同资源又存放在不同文件夹下面,例如:图片存放在drawable目录下面,布局存放在layout目录下面等等。这些文件夹名称都是Andriod规定好。...用户可以拒绝这些权限申请,虽然不使用敏感性操作,同时又不影响其他功能使用;而对于已经授予过权限,用户也可以在系统设置关闭授权。...危险权限一共有9组,共24个权限,分别是日历、摄像头、联系人、地理位置、麦克风、电话、传感器、短信以及存储,如下表所示。每个危险权限都属于一个权限组,比如存储权限组就包括读和写两个权限

15210

Android中将Bitmap对象以PNG格式保存在内部存储方法

Android中进行图像处理任务时,有时我们希望将处理后结果以图像文件格式保存在内部存储空间中,本文以此为目的,介绍将Bitmap对象数据以PNG格式保存下来方法。...1、添加权限 由于是对SD card进行操作,必不可少就是为你程序添加读写权限,需要添加内容如下: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE...对这两个权限进行简要解释如下: "android.permission.MOUNT_UNMOUNT_FILESYSTEMS"-- 允许挂载和反挂载文件系统可移动存储 "android.permission.WRITE_EXTERNAL_STORAGE..."-- 模拟器sdcard创建文件夹权限 2、保存图片相关代码 代码比较简单,在这里存储位置是写绝对路径,大家可以通过使用Environment获取不同位置路径。...中将Bitmap对象以PNG格式保存在内部存储,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

1.7K10

《移动互联网技术》 第七章 数据存取: 掌握File、SharePreferences、SQLite和ContentProvider四种数据存取方式

在DDMS,用File Explorer查看Android系统存储空间,可以看到第一级data文件夹,它就是内部存储, 打开data文件夹之后(需要root权限),有一个app文件夹,它存放着所有...如果使用数据库数据库文件将存储在databases文件夹,一般数据则存储在files文件夹,缓存文件存储在cache文件夹应用程序将文件保存在内部存储。...系统默认只有自己应用能访问这些文件;并且一个应用创建所有文件都放在一个文件夹下面,这个文件夹名称与应用包名相同,即应用创建内部存储文件与应用相关联。...mode用于指示文件创建模式,指定MODE_PRIVATE将把文件设为应用私有文件。 对于外部存储数据,应用程序可以自由访问,不需要严格访问权限,比如可以在电脑上直接查看这些文件。...公有目录是系统创建文件夹,比如:DCIM、DOWNLOAD等;私有目录是“/Android文件夹。私有目录属于应用私有,当用户卸载应用时,该目录及其内容将被删除。

5910

AndroidR兼容性适配指南

也许有小伙伴问到既然Android11可以直接使用File API访问媒体文件了,那分区存储这个适配还有必要么?(PS:知道肯定有必要,但我想知道为什么会有必要?)...//PS:如果这个文件是自己应用程序创建,是可以通过FileAPI进行访问卸载重装会丢失访问权限;如果没有访问权限会发生异常; val file = File(str) if (...此操作与用户在系统设置查看权限并将应用访问权限级别更改为拒绝做法效果一样。如果应用遵循了有关在运行时请求权限最佳做法,那么您不必对应用进行任何更改。...权限对话框可见性 从 Android 11 开始,在应用安装到设备上后,如果用户在使用过程多次针对某项特定权限点按拒绝,那么在您应用再次请求该权限时,用户将不会看到系统权限对话框。...在之前版本,除非用户先前已选中“不再询问”对话框或选项,否则每当您应用请求权限时,用户都会看到系统权限对话框。Android 11 这一行为变更旨在避免重复请求用户已选择拒绝权限

1.9K20

【专业技术】Android数据保存之文件保存

android:installLocation属性在AndroidManifest.xml文件,这样你应用程序可以安装在外部存储器。...文件中进行声明,但是这种默认权限可能会在以后Android版本变更,所以最好还是要在AndroidManifest显式进行读取权限声明,免得在以后版本中程序出现问题,读取权限声明如下: 另外: 1、写入权限隐含就有读取权限; 2、内部存储不需要进行权限声明,应用程序对于内部存储默认就有读写文件权限; 保存到内部存储: 文件存储需要创建文件,当把文件保存到内部存储时你可以获取内部存储文件通过下面的两个方法...当你想要在内部存储写入一个文件时,首先要创建一个文件,可以通过File构造器,传入上面两个方法获取路径作为参数,很方便就能创建一个文件,例如: File file =newFile(context.getFilesDir...在用户卸载你应用时候Android系统会删除你一下文件: 1、所有保存在内部存储文件; 2、所有保存在getExternalFilesDir()目录外部存储文件; 注意:你需要定期手动清理通过

2.1K60

android:运行时权限工具类封装

一、为什么封装? 众所周知,Android 从 6.0开始引入运行时权限机制,将权限分为了普通权限和危险权限 ,对于危险权限我们必须在使用时候动态去申请。...当然了,目前各位大佬前辈们已经封装了很多优秀工具类,比如鸿洋大神在 Android 6.0 运行时权限处理完全解析 中封装MPermission。 那么,为什么还要重复造一个轮子呢?...但是如果点击拒绝之后,直接给我一个没有权限就不能拍照提示,我会更容易接受,因为这样减少了操作,也能直接知道要做啥,为什么要这么做 2、封装思路(需求) 还要啥思路?.../** * 判断是否需要展示为什么二次请求权限,如果不需要执行相应操作 * * 该方法首先会检测之前是否被拒绝过,如果已经被拒绝过则展示为什么需要再次申请这个权限...()获取当前APP对应缓存目录,使用该方式不用申请读写SD权限 * * 注意: * 不同品牌手机对拍照处理不一样,个别手机即便我们没有指定存储路径,也会存储照片到默认地址

1.5K20

React-Native之Android(6.0及以上)权限申请详解

为什么Android要申请权限 简单说下在Android6.0及6.0以上一些google认为涉及“危险和用户隐私”一些权限不仅要做清单文件(android/app/src/AndroidMainfest.xml...如果你(android/app/build.gradle)里 android{defaultConfig {targetSdkVersion 23} } targetSdkVersion = 23...22是获取不到有些权限,至少知道乐视就是无法逃脱,其他手机应该也有,而且这是一个android安全机制,现在开发app都应该尽量去遵守。...弹出提示框向用户请求某项权限。返回一个promise,最终值为用户是否同意了权限申请布尔值。 requestMultiple(permissions) 在一个弹出框向用户请求多个权限。...* 此方法会和系统协商,是弹出系统内置权限申请对话框, * 还是显示rationale信息以向用户进行解释。

2K10
领券