Android保存数据到外部存储器
By HuHongbin, 2016/11/29
Android怎么写文件到外部存储器呢,使用的方法主要还是Java.io.file里面的方法,在Android中稍稍有些改变。
第一步:添加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Caution:目前,所有的apps都可以在不指定某个专门的权限下做读external storage的动作。但这在以后的安卓版本中会有所改变。如果我们的app只需要读的权限(不是写), 那么将需要声明READ_EXTERNAL_STORAGE 权限。为了确保app能持续地正常工作,我们现在在编写程序时就需要声明读权限。
第二步:在外部存储器中创建一个新的目录(先检查外部存储是否可用)
/* Checks if external storage is available for read and write */
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
return true;
}
return false;
}
/* Get a file object using getExternalStoragePublicDirectory() */
public File getAlbumStorageDir(String albumName) {
// Get the directory for the user's public datafiles directory.
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS),albumName);
if (!file.exists()) {
file.mkdirs();
}
return file;
}
第三步:创建一个文件对象 File dataFile = new File(file, fileName);:将数据写入文件(用字符流或者字节流)
try {
if (!dataFile.exists()) {
dataFile.createNewFile();
}
FileWriter mFileWriter = new FileWriter(dataFile,true);
BufferedWriter mBufferedWriter = new BufferedWriter(mFileWriter);
mBufferedWriter.write("DATA_STRINGS_TO_WRITE"+"\n");
mBufferedWriter.close();
} catch(IOException e) {
Log.e("FILE", "DataFileWriter Error!");
}
南京工业职业技术学院2010/2011第1学期期末试卷(A)闭卷【√】课程:计算机应用基础出卷人:杨正翔考试类型:开卷【】适用班级:全院2010级第一学期学习本课的同学一、选择题(每题1分,共60分) 请将答案写入答题纸1.世界上公认的第一台电子计算机诞生的年代是_________.A.1943年B.1946年C.1950年D.1912年2.办公室自动化(OA)是计算机的一项应用,按计算机应用的分...
点击上方程序员成长指北,关注公众号回复1,加入高级Node交流群前言Web 开发中几乎所有的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制...
时间限制:3000 ms | 内存限制:65535 KB难度:3 描述现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编号、长、宽都是整数;现在要求按照一下方式排序(默认排序规则都是从小到大);1.按照编号从小到大排序2.对于编号相等的长方形,按照长方形的长排序;3.如果编号和长都相同,按照长方形的宽排序;4.如果
public class IdentityScope : IDisposable{ // obtains user token [DllImport("advapi32.dll", SetLastError = true)] static extern bool LogonUser(string pszUsername, st...
2007年01月22日 22:17:00 让泪化作相思雨 故事是从那首动人的歌开始的.. 虽然很喜欢音乐,但我却算是严重跟不上潮流的那类,一般是一首歌已经唱到快失传了我才突然不知道从谁嘴里听见,然后大叫一声:"哇噻!好听!"结果可想而之--年度老土冠军又归我了。 前天是公司的年会,节目中有电子产品部兄弟演唱的《让泪化作相思雨》,两位兄弟的唱
openGL API glDepthFunc详解文章目录openGL API glDepthFunc详解官方说明翻译例子1.引入库2.读入数据总结官方说明官方文档解释NameglDepthFunc — specify the value used for depth buffer comparisonsC Specificationvoid glDepthFunc( GLenum func);ParametersfuncSpecifies the depth comparison fun
用了两种方法保存图片,opencv和Image,实践证明opencv非常快from PIL import Imageimport osimport cv2import timeimport matplotlib.pyplot as pltdef label2picture(cropImg,framenum,tracker): pathnew ="E:\\img2\\" ...
雷军使用飞书后,小米公司全员都转用了飞书;过后雷军向理想汽车“安利”说好用,如今“蔚小理”都成为了飞书的客户。从钉钉那边“虎口夺食”,飞书胆量可嘉。但是在钉钉用户体量突破5亿关卡当头,飞书还能吃下多少蛋糕呢?小钉钉5岁,飞书两年爬到行业第三去年疫情的催化作用下,我国智能移动办公市场迎来了“爆发”。根据艾媒网数据显示,2019年中国智能移动办公市场规模达到288亿元,预计2020年增长至499亿元,增长率为55.9%。或许看中未来前景,字节跳动也“飞入”赛道。2019年末,字节跳动
C++中虚函数功能的实现机制要理解C++中虚函数是如何工作的,需要回答四个问题。1、 什么是虚函数。虚函数由于必须是在类中声明的函数,因此又称为虚方法。所有以virtual修饰符开始的成员函数都成为虚方法。此时注意是virtual修饰的成员函数不是virtual修饰的成员函数名。例如:基类中定义: virtual void...
游戏引擎,一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。手机游戏引擎则是在手机和平板上运行的游戏的引擎,智能手机和平板的触摸+传感器的操作方式与传统游戏相比有很大的不同,而操作方式直接影响手机上流行的游戏模式与PC和主机的不同,因此不能简单的将游戏引擎
转载《wordpress发布文章错误:此响应不是合法的JSON响应:》
在SSAS(SQL Server Analysis Services)中构建Cube和编写MDX的时候,我们很容易被一些名词弄糊涂,比如:Dimension(维度),Measures Dimension(度量维度),Measure(度量),Hierarchy(层次结构),Attribute hierarchy(属性层次结构),Level(级别),Cell(单元),Member(成员),Member