最终效果图如上。改应用主要用于测试android平台下,如何使用代码来操作sd卡。
main.xml
01 | <?xml version= "1.0" encoding= "utf-8" ?> |
02 | <LinearLayout xmlns:android= "http://schemas./apk/res/android" |
03 | android:orientation= "vertical" |
04 | android:layout_width= "fill_parent" |
05 | android:layout_height= "fill_parent" |
08 | android:id= "@+id/textView" |
09 | android:layout_width= "fill_parent" |
10 | android:layout_height= "wrap_content" |
11 | android:text= "@string/hello" |
SdCardActivity.java
01 | package cn.com.android.sdcard; |
04 | import java.io.IOException; |
06 | import android.app.Activity; |
07 | import android.os.Bundle; |
08 | import android.os.Environment; |
09 | import android.util.Log; |
10 | import android.widget.TextView; |
12 | * @author chenzheng_java |
14 | * @description 对android基于sdcard的应用进行测试 |
17 | public class SdCardActivity extends Activity { |
19 | public void onCreate(Bundle savedInstanceState) { |
20 | super .onCreate(savedInstanceState); |
21 | setContentView(R.layout.main); |
24 | File fileDir = this .getFilesDir(); |
25 | Log.i( "文件路径" ,fileDir.getPath()); |
26 | result+= "文件路径 /n fileDir.getPath():" +fileDir.getPath(); |
27 | result+= "/n fileDir.getAbsolutePath():" +fileDir.getAbsolutePath(); |
28 | result+= "/n fileDir.getName():" +fileDir.getName(); |
31 | String externalStorageState = Environment.getExternalStorageState(); |
32 | // Environment.MEDIA_MOUNTED代表着外部存储设备存在,并且是可读写的 |
33 | if (externalStorageState.equals(Environment.MEDIA_MOUNTED)){ |
34 | // getExternalStorageDirectory获取外部存储设备的路径 |
35 | Log.i( "SDcard路径" ,Environment.getExternalStorageDirectory().getAbsolutePath()); |
36 | File file = new File(Environment.getExternalStorageDirectory(), "chenzheng_java.txt" ); |
37 | result+= " sdcard绝对路径:" +Environment.getExternalStorageDirectory().getAbsolutePath(); |
38 | result+= " /n sdcard路径:" +Environment.getExternalStorageDirectory().getPath(); |
43 | } catch (IOException e) { |
44 | Log.i( "结果" , "创建没成功。" ); |
50 | TextView textView = (TextView)findViewById(R.id.textView); |
51 | textView.setText(result); |
AndroidManifest.xml文件代码如下:
01 | <?xml version= "1.0" encoding= "utf-8" ?> |
02 | <manifest xmlns:android= "http://schemas./apk/res/android" |
03 | package = "cn.com.android.sdcard" |
04 | android:versionCode= "1" |
05 | android:versionName= "1.0" > |
06 | <uses-sdk android:minSdkVersion= "8" /> |
07 | <!-- 添加对SDCARD的写权限 --> |
08 | <uses-permission android:name= "android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission> |
10 | <application android:icon= "@drawable/icon" android:label= "@string/app_name" > |
11 | <activity android:name= ".SdCardActivity" |
12 | android:label= "@string/app_name" > |
14 | <action android:name= "android.intent.action.MAIN" /> |
15 | <category android:name= "android.intent.category.LAUNCHER" /> |
由代码我们可以看出,如果我们想要对sd卡进行操作,
那么第一,我们首先要有一个SD卡,这里的SD是通过镜像文件模拟的。
第二,我们要在android的manifest.xml文件中进行权限声明,告诉系统,我们的应用具有访问SD卡的权利,<uses- permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>.
第三步,我们便可以通过操作文件的代码来进行SD卡的管理了。
---------------------------------------------------------------------------
附录:
向SD卡中写入权限,<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
允许安装和卸载移动设备
,<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS
"></uses-permission>
|