FileOutputStream fos = new FileOutputStream(path, true);
String str = infoEdt.getText().toString();
fos.write(str.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
break;
case R.id.read_btn:
try {
FileInputStream fis = new FileInputStream(path);
byte[] b = new byte[1024];
int len = fis.read(b);
String str2 = new String(b, 0, len);
txt.setText(str2);
} catch (Exception e) {
e.printStackTrace();
}
break;
}
}
}
打印出来的具体位置如下所示(结合概述所讲内容可以知道这个目录我们可以在映射目录 sdcard 下面找到):
2.5、注意
利用 getExternalFilesDir() 和 getExternalCacheDir() 这两个方法来获取外部存储的私有目录是不需要任何权限的,但是如果用 Environment.getExternalStorageDirectory() 是需要外部存储的读写权限的,而且在 Android 6.0 之后,只在清单文件中声明是不够的,还需要运行时申请,即动态权限。
三、内部存储
====================================================================
3.1、概述
首先,内部存储不是内存。在 Android studio 中,内部存储可以通过 Device File Explorer 找到,文件夹叫做 data,如果你想将文件存储于内部存储中,那么文件默认只能被你的应用访问到,且一个应用所创建的所有文件都在和应用包名相同的目录下。也就是说应用创建于内部存储的文件,与这个应用是关联起来的。当一个应用卸载之后,内部存储中的这些文件也被删除。
3.2、获取内部存储位置
我们可以通过 getFileDir() 和 getCacheDir() 这两个方法来获取内部存储的目录,它们位于 data/data/包名/files(cache) 下面,我们同样用外部存储的实例来演示一下,只是把数据存到内部存储中,因为实例效果是完全一样的,就不演示了,直接看代码(具体代码写法上跟外部存储有点不一样):
public class InternalActivity extends AppCompatActivity {
private EditText edt;
private TextView txt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_internal);
edt = findViewById(R.id.editText);
txt = findViewById(R.id.textView);
}
public void operate(View v) {
File file = new File(getFilesDir(), “getFilesDir.txt”);
switch (v.getId()) {
case R.id.save_btn:
try {
if (!file.exists()) {
file.createNewFile();
}
FileOutputStream fos = new FileOutputStream(file);
fos.write(edt.getText().toString().getBytes());
fos.close();
} catch (Exception e) {
}
break;
case R.id.read_btn:
try {
FileInputStream fis = new FileInputStream(file);
byte[] b = new byte[1024];
int len = fis.read(b);
String str2 = new String(b, 0, len);
txt.setText(str2);
} catch (Exception e) {
e.printStackTrace();
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
最后
有任何问题,欢迎广大网友一起来交流,分享高阶Android学习视频资料和面试资料包~
偷偷说一句:群里高手如云,欢迎大家加群和大佬们一起交流讨论啊!
(备注Android)**
[外链图片转存中…(img-gdbf6T3X-1711729104126)]
最后
有任何问题,欢迎广大网友一起来交流,分享高阶Android学习视频资料和面试资料包~
偷偷说一句:群里高手如云,欢迎大家加群和大佬们一起交流讨论啊!
[外链图片转存中…(img-82b396QT-1711729104127)]文章来源:https://www.toymoban.com/news/detail-847157.html
本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录文章来源地址https://www.toymoban.com/news/detail-847157.html
到了这里,关于Android 外部存储与内部存储详解,高级UI都没弄明白凭什么拿高薪的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!