android操作sdcard

android操作sdcard

分类: android_小程序   5986人阅读  评论(2)  收藏  举报

最终效果图如上。改应用主要用于测试android平台下,如何使用代码来操作sd卡。

main.xml

 

[xhtml]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7. <TextView    
  8.     android:id="@+id/textView"  
  9.     android:layout_width="fill_parent"   
  10.     android:layout_height="wrap_content"   
  11.     android:text="@string/hello"  
  12.     />  
  13. </LinearLayout>  

 

SdCardActivity.java

[java]  view plain copy
  1. package cn.com.android.sdcard;  
  2.   
  3. import java.io.File;  
  4. import java.io.IOException;  
  5.   
  6. import android.app.Activity;  
  7. import android.os.Bundle;  
  8. import android.os.Environment;  
  9. 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文件代码如下:

[xhtml]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.       package="cn.com.android.sdcard"  
  4.       android:versionCode="1"  
  5.       android:versionName="1.0">  
  6.     <uses-sdk android:minSdkVersion="8" />  
  7.     <!-- 添加对SDCARD的写权限 -->  
  8.     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>  
  9.   
  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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值