首页
学习
活动
专区
圈层
工具
发布

保存文件到手机内存

除了私有存储区域以外,SD 卡上都是公共区域,所有人可读写。 一个 app 选择将隐私数据保存在公共区域,那是 App 选择取向问题。与系统其实没有什么关系。...当然可以问 android 为什么要允许读写 SD 卡上任意目录,个人觉得这是历史问题,如果现在禁止了,估计一大堆读写 SD 卡的应用程序会出现兼容性问题,为了保证这种兼容性,感觉 android 不会将读写...知乎:为什么 Android 4.4 KitKat 限制第三方应用的 SD 卡读写权限?...之前 android 不限制目录,所以各种应用就随意的在 SD 卡上建一个目录。然后 SD 卡上的目录到处都是,用户对这种现象早就深恶痛绝了!如果 Google 对这件事情下狠手,只能说是大快人心。...另外说一下,SD 卡上的指定目录是这样获取的: 1,程序相关的 内置存储目录,这个目录位于内置 flash,应用程序可以随意读写: getFilesDir(); 2,程序相关的 SD 卡外部存储目录,这个目录位于

1.1K40

浅谈android中的目录结构

一般的Ram空间为512M~1G ROM:相当于一块硬盘=微硬盘能持久的储存一些数据,如手机掉电,之前的用户数据依然会被保存,,一般空间为1G~32G SD卡:相当于一个外部的U盘,不是一个必须设备(有内置和外置的...,如今的智能机大多都有内置的蛮大空间) 而android系统是基于linux系统建立的,她的分区结构跟windows不同,没有C盘D盘的,系统存储是、系统缓存、内部存储分别都是不同的分区,每个分区的大小是在系统建立的时候就分配好了的...在Android 2.2之后的版本允许将应用程序安装于SD卡,每一个安装在SD卡的应用程序,都可以在SD卡中的/sdcard/.android_secure 目录里找到名称中有出现它的程序名,和副文件名为...data2ext则更彻底,它不是用软链接,而是直接用“挂载”功能,Linux下所有的存储设备都必须挂载成一个文件夹才能进行文件操作(如sd卡就挂载在/mnt/sdcard目录下面)。...而data2ext则是修改了挂载对应关系,使data文件夹挂载的不是内置Flash,而是sd卡的整个ext分区。

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

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

    《个人平时笔记,看到的同学欢迎指正错误》 1、存储相关详解知识 安卓起初早年是有内置SD卡和可扩展插拔TF卡区分的,但是近年手机内置SD卡的高内存导致越来越少的手机支持TF卡(外置SD卡)扩展了。...并且现在默认都是将文件优先存储于内置SD卡中。...内存也是现在人类制造的所有电子设备所必需拥有的。...用于存储Andoid设备的操作系统和应用程序的存储介质,Android设备中的Android系统和应用程序(APK文件)都是存在内部存储区的。例如手机的/system/目录、/data/目录等。...从用户角度来说SD卡有内置SD卡和外置TF卡之分,通过Environment或者Context获取的都是手机自带的内置SD卡路径,类似storage/emulated/0/加后缀。

    90930

    在 Android 的 data 目录下添加虚拟内存

    在 Android 的 /data 目录下添加虚拟内存 Android 系统上添加虚拟内存已经不是什么新鲜事了, 很多手机都支持, 通常都是将虚拟内存添加到 SD 卡上, 不过由于 SD 卡的的读写速度有速度限制..., 再加上如果不是用高速的 SD 卡的话, 将虚拟内存添加到 SD 卡上的效果就不是很明显了, 其实还有一个地方可以添加虚拟内存, 那就是 /data 目录。...为什么把虚拟内存添加到 /data 目录呢, 原因如下: 1、 /data 目录有足够的的剩余空间容纳虚拟内存 几乎所有的 Android 手机都支持 App2SD 或者 App2Ext , 将应用安装到...2、 存取速度比 SD 卡要快 /data 目录使用手机内部的 flash 存储器, 内置存储比外加的 SD 卡品质要好很多, 读写速度也比 SD 卡要快很多。..., 然后将这个设备挂载为虚拟内存, 最终挂载虚拟内存的脚本如下: #!

    1.5K30

    Carson带你学Android:BroadcastRecevicer广播类型汇总

    今天,我将详细讲解关于BroadcastReceiver的所有广播类型,主要分为5类: 普通广播(Normal Broadcast) 系统广播(System Broadcast) 有序广播(Ordered...系统广播(System Broadcast) Android中内置了多个系统广播:只要涉及到手机的基本操作(如开机、网络状态变化、拍照等等),都会发出相应的广播 每个广播都有特定的Intent - Filter...(界面语言、设备方向等) Intent.ACTION_CONFIGURATION_CHANGED 插入耳机时 Intent.ACTION_HEADSET_PLUG 未正确移除SD卡但已取出来时(正确移除方法...:设置–SD卡和设备内存–卸载SD卡) Intent.ACTION_MEDIA_BAD_REMOVAL 插入外部储存装置(如SD卡) Intent.ACTION_MEDIA_CHECKING 成功安装APK...总结 本文全面讲解了BroadcastReceiver的所有广播类型 Carson带你学Android系列文章: Carson带你学Android:页面活动-Activity Carson带你学Android

    60120

    带图形界面的Linux运行在你的android手机上,不需要root,用python可视化开发app

    这是一个伟大的APP: Aid Learning FrameWork是一个在Android手机上运行的带图形界面的Linux系统,用于AI编程。...这意味着当它安装时,你的Android手机拥有一个可以在其中运行AI程序的Linux系统。...现在已开源:https://github.com/aidlearning/AidLearning-FrameWork 强大 Caffe,Tensorflow,Mxnet,ncnn,Keras ......几乎内置所有的...华为这样的主流智能手机的测试,Aid Learning Framework一天只消耗1%的功耗(待机) 适用于AI算法实验的最佳移动应用程序 当您在Python中完成AI测试算法时,您不想在手机上进行测试吗?...或者,您可以使用sshd(已经内置)连接到PC,使用PC键盘进行编码。 代码传输? 您的SD卡目录已加载到/SD卡中,因此您可以使用USB线将代码传输到PC或其他设备。 代码重用?

    2.9K30

    Syncthing:高效文件同步工具

    所以这篇文章呢,就让小苏写写安卓设备上的Syncthing吧~   Android上的Syncthing同样是一款开源且免费的应用,Android上的Syncthing以二进制文件libsyncthing.so...对于高版本的Android系统来说,一般应用在获得Android系统的"存储空间"授权后,可以自由读取SD卡中的文件,如果需要向外置SD卡中写入文件,可能需要通过DocumentProvider来进行授权...但有些遗憾的是,Syncthing并没有提供通过DocumentProvider授权以写入SD卡的机制,这也意味着你可能不能将其他设备上的文件通过Syncthing同步并写入SD卡,当然,写入内置存储是完全没有问题的...这也意味着你可以将SD卡中的文件同步到其他设备上,但在你在接收其他设备同步至本机的文件时,存储路径只能选择内置存储。   ...但在默认情况下,Syncthing限制了对外置SD卡文件的读取,我们需要在Syncthing的"设置 - 行为"中启用"使用高级文件夹选择器",启用这一项后,必须在侧边栏中点击"重启"来重启服务才可以应用此项设置

    2.8K20

    Android:BroadcastRecevicer广播类型汇总

    系统广播(System Broadcast) Android中内置了多个系统广播:只要涉及到手机的基本操作(如开机、网络状态变化、拍照等等),都会发出相应的广播 每个广播都有特定的Intent - Filter...(包括具体的action),Android系统广播action如下: 系统操作 action 监听网络变化 android.net.conn.CONNECTIVITY_CHANGE 关闭或打开飞行模式...(界面语言、设备方向等) Intent.ACTION_CONFIGURATION_CHANGED 插入耳机时 Intent.ACTION_HEADSET_PLUG 未正确移除SD卡但已取出来时(正确移除方法...:设置–SD卡和设备内存–卸载SD卡) Intent.ACTION_MEDIA_BAD_REMOVAL 插入外部储存装置(如SD卡) Intent.ACTION_MEDIA_CHECKING 成功安装APK...屏幕被打开 Intent.ACTION_SCREEN_ON 关闭系统时 Intent.ACTION_SHUTDOWN 重启设备 Intent.ACTION_REBOOT 注:当使用系统广播时,只需要在注册广播接收者时定义相关的

    4.5K41

    Android-文件存储目录

    android持久化方式 Android手机的存储分为:内部存储和外部储存,在Android4.4以前,手机机身存储就叫内部存储,插入的SD卡就是外部存储,但是在Android4.4以后这两个存储的定义又有了一些些变化...,新的手机不再有外插SD卡的概念,采取了内置闪存(eMMC、UFS等)的方式,所以内部存储和外部存储在新的Android手机上已经在同一个硬件上了。...手机机身自带的存储也是外部存储,如果再插入SD卡的话也叫外部存储,不过现在也几乎没有在采用扩展卡内存这种方式来增加手机存储空间了,手机自带的外部存储足矣,除此以外还有一种公有目录存储,它返回的目录全都是共享的公有目录...卡已经安装,可以进行相关文件操作"); }else{ Log.e("externalStorageState", "sd卡状态:"+externalStorageState...当然除了SD卡上面的数据,SD卡上面的数据当app卸载之后还会存在的。

    3.9K21

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

    ——》个人平时笔记,看到的同学欢迎指正错误,文中多处摘录于各大博主精华、书籍 1、存储相关详解知识 安卓起初早年是有内置SD卡和可扩展插拔TF卡区分的,但是近年手机内置SD卡的高内存导致越来越少的手机支持...TF卡(外置SD卡)扩展了。...并且现在默认都是将文件优先存储于内置SD卡中。...以下项目app包名:com.fivefloor.bo.myview (1)、内存(RAM) 内存与PC的内存是一样的,是用来运行程序,不能用来永久存储数据,手机一旦关机,在内存中的所有数据都将会丢失,内存也是现在人类制造的所有电子设备所必需拥有的...从用户角度来说SD卡有内置SD卡和外置TF卡之分,通过Environment或者Context获取的都是手机自带的内置SD卡路径,类似storage/emulated/0/加后缀。

    1.5K31

    树莓派介绍以及FAQ【这是我见过最全的树莓派教程】

    您会得到不含SD卡或电源等任何配件的,树莓派电路板本身。如需电源、SD卡或其他配件,可另外购买。 树莓派的E14版和RS版指的是什么?有什么区别?...操作系统存储在 SD 卡上,您可以自己烧录替换。 我们为您提供操作系统的下载。请点击这里。 有官方编程语言吗? 我们采用并推广 Python,作为青少年编程教育用语言。...有关SD卡和存储设备 最大实验了 128GB 的 SD 卡没有问题。您也可以连接 U 盘与 USB 移动硬盘来扩展存储。 SD卡容量的最低需求,理论上2GB。...用电脑,重新把系统镜像刷进SD卡。 换句话说:因为树莓派没有存储,所以树莓派本身是不会变砖的,有错全是SD卡的错! 八、网络、USB和无线 树莓派能上网吗?支持Wi-Fi吗?...只连接网线就能给设备供电的技术。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

    5.3K30

    android之文件存储目录介

    android持久化方式 Android手机存储分为:内部存储和外部储存。 在Android4.4以前,手机机身存储就叫内部存储,插入的SD卡就是外部存储。...但是在Android4.4以后这两个存储的定义又有了一些些变化,新的手机不再有外插SD卡的概念,采取了内置闪存(eMMC、UFS等)的方式,所以内部存储和外部存储在新的Android手机上已经在同一个硬件上...内部存储 内部存储位于系统中很特殊的一个位置,对于设备中每一个安装的 App,系统都会在 data/data/packagename/xxx 自动创建与之对应的文件夹。...image.png 外部存储并不总是可用的,因为外部存储可以移除(早期设备)或者作为USB存储设备连接到PC,访问前必须检查是否挂载(mounted)。 ?

    86340

    Android 存储概览

    存储区 Android 一开始就将存储区分为内部存储和外部存储,对应手机自带的存储和可插拔的 sd 卡(可类比于 PC 的硬盘和 U盘)。...当然,如果在 4.4 系统及以上的手机上插了 sd 卡,那么 sd 卡也属于外部存储。...卡的大容量手机,应该会打印出如下信息: /storage/emulated/0/Android/data/packname/files/mounted /storage/B3E4-1711/Android...如需了解详情,请参阅有管理存储设备上所有文件。 共享文件 存储您的应用打算与其它应用共享的文件,包括媒体(图片、音频文件、视频)、其它类型文件。 媒体文件 使用 MediaStore API 访问。...比如照片选择器,它提供了一个可浏览界面,为用户提供了一种安全的内置授权方式,让用户可以向应用授予限于所选图片和视频的访问权限,而非整个媒体库的访问权限,该权限保留至设备重启或应用停止运行。

    30610

    Android文件系统整理

    传统上这是一张 SD 卡,但它也可以作为设备中的内置存储实现,与受保护的内部存储不同,并且可以作为文件系统安装在计算机上。...在具有多个用户的设备上(如 UserManager 所述),每个用户都有自己的隔离共享存储。应用程序只能访问它们正在运行的用户的共享存储。...外部公共目录可以通过以下函数获取 Environment.getExternalStorageState() // SD 卡状态 Environment.getExternalStorageDirectory...对于这些情况,Android 提供了一种名为“所有文件访问权限”的特殊应用访问权限。 例如,防病毒应用的主要场景可能是需要定期扫描不同目录中的许多文件。...除 /Android/data/、/sdcard/Android 和 /sdcard/Android 的大多数子目录外,对所有内部存储目录⁠的写入权限。

    1K30

    Android手机恢复出厂设置后,数据依然可恢复

    “恢复出厂设置”功能是Android手机系统内置的功能,这被认为是在出售、回收手机时最重要的功能,用以擦除手机上的所有机密信息。...另外,约6.3亿的设备不能擦除存放图片、视频等多媒体文件的外置SD卡。 5个关键漏洞 1. 2.3.x的Android系统不能有效删除磁盘上的数据。 2....智能手机厂商没有向这些存在漏洞的设备提供更新。 3. 在Android新版本,如4.1, 4.2和4.3版本中,厂商没有提供删除操作需要用到的驱动支持。 4....所有版本的Android系统不能有效删除内置、外置SD卡上的数据。 5. 全盘加密的漏洞将这些问题又延伸到Android 4.4 KitKat系统。...研究人员在报告中写道: “重启后,手机重新同步了联系人,邮件等信息,我们从所有设备中恢复了Google令牌,恢复了80%的主令牌。类似地,其他app,如Facebook的令牌也可以被恢复出来。

    4.6K50

    Android开发笔记(七十九)资源与权限校验

    硬件资源 因为移动设备的硬件配置各不相同,为了防止使用了不存在的设备资源,所以要对设备的硬件情况进行检查。...一般情况下,前置摄像头、部分传感器在低端手机上是没有的,像SD卡也可能因为用户没插卡使得找不到SD卡资源。...下面是校验这些硬件设备的说明: SD卡 Android4.0之后增加了多存储卡的支持,故一般手机有内置存储卡和外置存储卡(即SD卡),其中外置存储卡便是可选的。...磁盘路径符合Environment.getExternalStorageDirectory().getPath()的,就是默认的内置存储卡,否则就是外置存储卡。...检查功能的开关状态(例如数据连接、GPS等),具体例子参见《Android开发笔记(五十五)手机设备基本操作》。

    65620

    Android 11新特性,Scoped Storage又有了新花样

    管理设备上所有的文件 首先明确一点,Android 11中强制启用Scoped Storage是为了更好地保护用户的隐私,以及提供更加安全的数据保护。...拥有对整个SD卡的读写权限,在Android 11上被认为是一种非常危险的权限,同时也可能会对用户的数据安全造成比较大的影响。 但文件浏览器就是要对设备的整个SD卡进行管理的,这怎么办呢?...11,或者Environment.isExternalStorageManager()返回true,那么就说明我们已经拥有管理整个SD卡的权限了。...不过还有一点需要注意,即使我们获得了管理SD卡的权限,对于Android这个目录下的很多资源仍然是访问受限的,比如说Android/data这个目录在Android 11中使用任何手段都无法访问。...Scoped Storage规定,每个应用程序都有权限向MediaStore贡献数据,比如说插入一张图片到手机相册当中。也有权限读取其他应用程序所贡献的数据,比如说获取手机相册中的所有图片。

    1.8K21

    Android 11 快来了,IO 性能下降了 SDCardFS Vs FUSE

    Sdcard vs External storage 在Android手机的早期,几乎所有设备都依赖于使用microSD卡进行存储。这是由于当时的手机出厂时内部存储容量很小。...因此,越来越多地将SD卡用于外部数据存储, 由于SD卡作为外部存储设备的泛滥,Android的存储命名约定基于以下事实:每个设备都有一个实际的物理microSD卡插槽。...但是,即使在不包含SD卡插槽的设备上,/ sdcard标签仍用于指向实际的内部存储芯片。更令人困惑的事实是,既使用物理SD卡又使用大容量存储芯片进行存储的设备通常会根据SD卡来命名其分区。...因此,即使实际上将microSD卡视为外部存储设备,命名约定也导致“ SDCard”在任何实际使用物理卡的情况下都存在很长时间。...Google希望制造商能效仿他们,并摆脱SD卡。幸运的是,随着时间的流逝,电话制造商能够以更高的容量采购这些组件,同时又保持了成本效益,因此对SD卡的需求开始减少。

    4.5K11

    Android数据存储安全实践

    sd卡目录,获取方法:String sdcard = getInnerSDCardPath() /storage/extSdCard外置sd卡目录,获取方法:String exsdcard = Environment.getExternalStorageDirectory...().getPath() 在Android手机中,获取默认sd卡目录方法明确,但是由于Android手机本身不一定支持外置sd卡,或者有/没有插入外置sd卡,因此在获取外sd卡时需要留心有坑,一是避免异常...在sd卡中存放时,避免直接保存在根目录下,这样做是避免造成用户手机文件管理的混乱;二是避免文件被修改、删除等。...数据库 Android 数据库采用SQLite,SQLite 是一款内置到移动设备上的轻量型的数据库,是遵守ACID(原子性、一致性、隔离性、持久性)的关联式数据库管理系统。...在Android数据存储安全中,由于Android系统的安全机制,用户获取root权限后可以访问手机所有目录,包括应用私有目录,因此,数据存储要考虑到一个白盒环境,或者非可信环境。

    3.9K30

    Unity3D各平台Application.xxxPath的路径

    我把热更新的临时文件写在这里,等一个版本的所有内容更新完全后,再把内容转移到Documents目录。 Preferences用于应用存储偏好设置,用NSUserDefaults读取或设置。...sd上,用户或其它app都可以访问,外部存储目录又分私有和公有目录。...公有目录是像DCIM、Music、Movies、Download这样系统创建的公共目录,当然你也可以像微信那样直接在sd卡根目录创建一个文件夹。好处嘛,就是卸载app数据依旧存在。...经反复测试发现,有【外置SD卡】的设备上,如果声明读/写外部存储设备的权限,会返回外部存储路径,不声明则会返回内部存储路径,这样不会有问题。...而在【无外置SD卡】的设备上,不管是否声明读/写外部存储设备的权限,Application.temporaryCachePath/persistentDataPath都返回外部存储路径,但是又没有权限,

    1.1K10
    领券