Android開發(fā)之SD卡文件操作分析
本文實(shí)例講述了Android開發(fā)之SD卡文件操作。分享給大家供大家參考,具體如下:
前面的文章中寫過直接操作手機(jī)自帶存儲器的程序,這次就接著上次文章協(xié)議下對sd卡的文件操作。與自帶存儲不同的是使用sd卡需要用戶授權(quán)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
千萬要記住不能寫顛倒了,不然看不到結(jié)果
之后寫個(gè)方法來保存文件
public void saveToSD(String filename,String content) throws Exception{
//getExternalStorageDirectory()可以取得sd卡得路徑
File f=new File(Environment.getExternalStorageDirectory(),filename);
FileOutputStream out2=new FileOutputStream(f);
out2.write(content.getBytes());
out2.close();
}
最后就可以在控制層使用這個(gè)方法了,需要對SD卡得狀態(tài)作判斷,取得狀態(tài)可以使用Environment.getExternalStorageState(),如果可用才能保存文件,反之就提示“sd卡不存在或不可用”
package org.lxh.file;
import org.lxh.service.FileService;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class FileActivity extends Activity {
private FileService service;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
service=new FileService(this);
Button button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
EditText filename=(EditText)findViewById(R.id.filename);
EditText content=(EditText)findViewById(R.id.content);
try {
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
service.saveToSD(filename.getText().toString(), content.getText().toString());
Toast.makeText(FileActivity.this, R.string.success, 1).show();
}else{
Toast.makeText(FileActivity.this, R.string.sd, 1).show();
}
//service.saveFile(filename.getText().toString(), content.getText().toString());
} catch (Exception e) {
Toast.makeText(FileActivity.this, R.string.failure, 1).show();
Log.e("FileActivity", e.getMessage());
}
}
});
}
}
下面 把strings.xml也貼出來
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, FileActivity!</string> <string name="app_name">文件的讀取</string> <string name="filename">輸入文件名稱</string> <string name="content">輸入文件內(nèi)容</string> <string name="button">保存</string> <string name="success">文件保存成功</string> <string name="failure">文件保存失敗</string> <string name="sd">sd卡不存在或不可用</string> </resources>
到這里就可以對SD卡進(jìn)行操作了,這次的東西比較少。
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android編程開發(fā)之SD卡操作方法匯總》、《Android文件操作技巧匯總》、《Android數(shù)據(jù)庫操作技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android基于ImageView繪制的開關(guān)按鈕效果示例
這篇文章主要介紹了Android基于ImageView繪制的開關(guān)按鈕效果,結(jié)合實(shí)例形式分析了Android使用ImageView進(jìn)行按鈕繪制的界面布局、功能實(shí)現(xiàn)及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-03-03
Android?WebRTC?對?AudioRecord?的使用技術(shù)分享
這篇文章主要介紹了Android?WebRTC?對?AudioRecord?的使用技術(shù)分享,AudioRecord?是?Android?基于原始PCM音頻數(shù)據(jù)錄制的類,接下來和小編進(jìn)入文章了解更詳細(xì)的內(nèi)容吧2022-02-02
Android編程實(shí)現(xiàn)自定義ProgressBar樣式示例(背景色及一級、二級進(jìn)度條顏色)
這篇文章主要介紹了Android編程實(shí)現(xiàn)自定義ProgressBar樣式功能,涉及針對背景色及一級、二級進(jìn)度條顏色的操作技巧,需要的朋友可以參考下2017-01-01
利用kotlin實(shí)現(xiàn)一個(gè)餅圖實(shí)例代碼
餅狀圖是以不同顏色的圓的切片表示的值。下面這篇文章主要給大家介紹了關(guān)于利用kotlin實(shí)現(xiàn)一個(gè)餅圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
解析Android中View轉(zhuǎn)換為Bitmap及getDrawingCache=null的解決方法
在android中經(jīng)常會遇到View轉(zhuǎn)換為Bitmap的情形,本篇文章主要介紹了Android中View轉(zhuǎn)換為Bitmap及getDrawingCache=null的解決方法,有需要的可以了解一下。2016-11-11

