分享

转:android操作sdcard

 leomuyi 2014-01-08

最终效果图如上。改应用主要用于测试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" 
06        
07    <TextView   
08        android:id="@+id/textView" 
09        android:layout_width="fill_parent"  
10        android:layout_height="wrap_content"  
11        android:text="@string/hello" 
12        /> 
13    </LinearLayout>

SdCardActivity.java

01package cn.com.android.sdcard; 
02       
03    import java.io.File; 
04    import java.io.IOException; 
05       
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; 
11    /**
12     * @author chenzheng_java
13     * @since 2011/03/02
14     * @description 对android基于sdcard的应用进行测试
15     *
16     */ 
17    public class SdCardActivity extends Activity { 
18        @Override 
19        public void onCreate(Bundle savedInstanceState) { 
20            super.onCreate(savedInstanceState); 
21            setContentView(R.layout.main); 
22            String result = ""
23            //获取文件默认存储位置的绝对路径 
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(); 
29               
30            // 获取外部存储设备的当前状态 
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(); 
39                if(!file.exists()){ 
40                    try
41                        file.createNewFile(); 
42                        Log.i("结果", "创建成功。"); 
43                    } catch (IOException e) { 
44                        Log.i("结果", "创建没成功。"); 
45                        e.printStackTrace(); 
46                    
47                
48            
49               
50            TextView textView = (TextView)findViewById(R.id.textView); 
51            textView.setText(result); 
52               
53        
54    }

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> 
09       
10        <application android:icon="@drawable/icon" android:label="@string/app_name"
11            <activity android:name=".SdCardActivity" 
12                      android:label="@string/app_name"
13                <intent-filter> 
14                    <action android:name="android.intent.action.MAIN" /> 
15                    <category android:name="android.intent.category.LAUNCHER" /> 
16                </intent-filter> 
17            </activity> 
18       
19        </application> 
20    </manifest>

由代码我们可以看出,如果我们想要对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>


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多