数据存储之File文件存储 即SD卡的写入与读取Word文档格式.docx
- 文档编号:5057015
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:14
- 大小:220.13KB
数据存储之File文件存储 即SD卡的写入与读取Word文档格式.docx
《数据存储之File文件存储 即SD卡的写入与读取Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据存储之File文件存储 即SD卡的写入与读取Word文档格式.docx(14页珍藏版)》请在冰点文库上搜索。
每一台Android设备都会支持"
可扩展存储"
的设备来让你保存文件.它是可以移动的存储设备(例如SD卡)或者集成的(不可移动)的存储设备。
检查媒体存在:
在你做任何外部存储工作之前,你应该调用getExternalStorageState()
方法来检查存储媒体是否可以用。
这些存储媒体状态可能是已安装,没有存储卡,只读,或者其他的一些状态。
3.程序实现
1)
在对SD卡进行操作的时候,必须在AndroidManifest.xml清单文件中添加它的授权,在AndroidManifest.xml下的Permissions标签下添加,如下图所示:
2)进行单元测试,在AndroidManifest.xml下的Instrumentation标签下添加单元测试,测试内容只需要添加测试名称和包的内容即可,如下图所示:
同时在AndroidManifest.xml代码中加一个单元测试的标签就可以进行单元测试的内容了:
<
uses-libraryandroid:
name="
android.test.runner"
/>
3)
AndroidManifest.xml代码如下:
[html]
viewplaincopy
1.<
?
xml
version="
1.0"
encoding="
utf-8"
>
2.<
manifest
xmlns:
android="
3.
package="
com.android.sdcarddemo"
4.
android:
versionCode="
1"
5.
versionName="
6.
7.
<
uses-sdk
8.
minSdkVersion="
8"
9.
targetSdkVersion="
17"
10.
!
--
添加读写SD
card
的授权
-->
11.
uses-permission
android.permission.WRITE_EXTERNAL_STORAGE"
12.
13.
instrumentation
14.
android.test.InstrumentationTestRunner"
15.
targetPackage="
16.
/instrumentation>
17.
18.
application
19.
allowBackup="
true"
20.
icon="
@drawable/ic_launcher"
21.
label="
@string/app_name"
22.
theme="
@style/AppTheme"
23.
uses-library
24.
activity
25.
com.android.sdcarddemo.MainActivity"
26.
27.
intent-filter>
28.
action
android.intent.action.MAIN"
29.
30.
category
android.intent.category.LAUNCHER"
31.
/intent-filter>
32.
/activity>
33.
/application>
34.
35.<
/manifest>
4)布局文件activity_main.xml
RelativeLayout
2.
tools="
layout_width="
match_parent"
layout_height="
paddingBottom="
@dimen/activity_vertical_margin"
paddingLeft="
@dimen/activity_horizontal_margin"
paddingRight="
paddingTop="
tools:
context="
.MainActivity"
EditText
id="
@+id/editText1"
wrap_content"
layout_alignParentLeft="
layout_alignParentTop="
layout_marginLeft="
21dp"
layout_marginTop="
18dp"
ems="
10"
/EditText>
Button
@+id/button2"
layout_alignBaseline="
@+id/textView1"
layout_alignBottom="
layout_alignLeft="
@+id/button1"
text="
读取信息"
TextView
35.
layout_below="
36.
layout_centerHorizontal="
37.
40dp"
38.
39.
40.
41.
42.
43.
44.
45.
20dp"
46.
保存信息"
47.
48.<
/RelativeLayout>
5)FileService.java服务类,用来实现读写SD卡的方法
[java]
1.package
com.android.sdcarddemo;
3.import
java.io.ByteArrayOutputStream;
4.import
java.io.File;
5.import
java.io.FileInputStream;
6.import
java.io.FileNotFoundException;
7.import
java.io.FileOutputStream;
8.import
java.io.IOException;
10.import
android.content.Context;
11.import
android.os.Environment;
12.import
android.util.Log;
13.import
android.widget.Toast;
15.public
class
FileService
{
private
final
static
String
TAG
=
"
FileService"
;
Context
context;
public
FileService(Context
context)
this.context
}
FileService()
getFileFromSdcard(String
fileName)
FileInputStream
inputStream
null;
//
在手机应用开发中
ByteArrayOutputStream
流是缓冲的流,和磁盘无关,可以不需要关闭
Environment.MEDIA_MOUNTED
如果是可读写的状态,并且SD卡是存在的情况下
outputSteam
new
ByteArrayOutputStream();
File
file
File(Environment.getExternalStorageDirectory(),
fileName);
if
(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()))
try
FileInputStream(file);
int
length
0;
byte[]
buffer
byte[1024];
while
(-1
(length
(inputStream.read(buffer))))
outputSteam.write(buffer,
0,
length);
catch
(FileNotFoundException
e)
TODO
Auto-generated
block
e.printStackTrace();
(IOException
48.
finally
49.
(inputStream
null)
50.
51.
inputStream.close();
52.
53.
54.
55.
56.
57.
58.
else
59.
Toast.makeText(context,
Please
input
SD
card"
Toast.LENGTH_LONG).show();
60.
Log.i(TAG,
No
);
61.
62.
63.
return
String(outputSteam.toByteArray());
64.
65.
66.
/**
67.
*
把内容保存在SD
卡上
68.
69.
@param
fileName
文件的名称
70.
content
文件的内容
71.
@return
72.
*/
73.
boolean
saveContentToSDcard(String
fileName,
content)
74.
flag
false;
75.
FileOutputStream
fileOutputStream
76.
获得SD卡的路径
77.
78.
判断SD卡是否可以用
79.
(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageDirectory()))
80.
81.
FileOutputStream(file);
82.
fileOutputStream.write(content.getBytes());
83.
true;
84.
85.
86.
87.
88.
89.
90.
91.
(fileOutputStream
92.
93.
fileOutputStream.close();
94.
95.
96.
97.
98.
99.
100.
101.
102.
flag;
103.
104.}
6)主程序文件MainActivity.java
android.os.Bundle;
android.app.Activity;
android.view.Menu;
android.view.View;
9.import
android.view.View.OnClickListener;
android.widget.Button;
android.widget.EditText;
android.widget.TextView;
14.public
MainActivity
extends
Activity
S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据存储之File文件存储 即SD卡的写入与读取 数据 存储 File 文件 SD 写入 读取