android讀寫sd卡
A. 請教android studio 模擬器讀寫SD卡不成功什麼原因
PANIC: Could not open: C:\Documents and Settings\Administrator\PANIC: Could not open:my_avd.ini 原 來如果你採用絕對路徑定位的話,也就是說在環境變數裡面把路徑寫死了,比如你裝d:\android-sdk時,你在path裡面配成d: \android-sdk;由於android默認path為C:\Documents and Settings\Administrator\,所以會出現上述情況。 故問題原因找到,解決辦法如下: Step1: 在環境變數中新建一個「系統變數」 ANDROID_SDK_HOME=D:/android-sdk-windows; 當然,這是我機器上得配置,你可以按照你機器上得路徑來配。 Step2: 修改系統變數Path,在前面添加%Android_SDK_HOME%/tools;讓它指向我們第一步設置的ANDROID_SDK_HOME就行了。 接下來這個問題得到徹底的解決,網上很多都是拷貝.android文件夾來解決,這是不是根本所在。 說明一下,轉的。今天這電腦沒有android sdk測試。
B. 如何讓android調試可以讀寫sd卡
Eclipse 有個文件瀏覽的,你可以將文件import進虛擬的手機sd卡里,你找下System--show view...
你的採納是我前進的動力,
記得好評和採納,答題不易,互相幫助,
手機提問的朋友在客戶端右上角評價點(滿意)即可.
如果你認可我的回答,請及時點擊(採納為滿意回答)按鈕!!
C. 如何在 Android 5.0 上獲取 SD卡 的讀寫許可權
1.首先請安裝「Root
Explorer」這個app,它可以在已ROOT的手機中管理隱藏的系統核心檔案。
2.安裝完成並開啟Root
Explorer以後,展開「/system/etc/permissions/」路徑,然後在「platform.xml」上長按。
3.跳出「Options」選單以後,先按一下「Permissions」,我們要更改檔案的許可權才能寫入文字。
4.此時會跳出一個警告訊息,告知你目前系統內的檔案為唯讀模式,需先更改為讀寫模式,按下「Yes」即可更改。
5.更改完成以後,將「Read」、「Write」、「Execute」項目都勾起來,然後按一下「OK」。
6.許可權更改完成以後,再次在「platform.xml」上長按一次。
7.跳出「Options」選單以後,這次我們點擊「Open
With」,選擇用哪個app開啟此檔案。
8.看到顯示了一堆app,我們選擇用「Text
Viewer」來開啟,如果讀者們有其他的文字編輯app,也可以用它來開啟。
9.找到以下兩段文字以後,將內容改成跟底下一樣:
10.更改完成以後,點擊一下叫出選單,點擊「Save
Changes」儲存更改,然後離開即可。
11.儲存成功以後,可以看到資料夾中多了一個「platform.xml.bak」檔案,往後要還原時,只要將「platform.xml」刪除,然後把「platform.xml.bak」更改回原來名稱即可。
12.最後重新開啟手機,即可讓設定生效羅!
NOTE:
坊間已經有直接可以修改SD卡寫入許可權的app出現,但因為安全因素,我們還是自行手動修改比較安全。
D. 如何讀取SD卡CSV文件或指定的路徑在android系統
android手機獲取自帶存儲路徑和sd卡存儲路徑的方式是:調用Environment.getExternalStorageDirectory(),返回的存儲目錄並不是系統內置的SD卡目錄。
1.一部分手機將eMMC存儲掛載到 /mnt/external_sd 、/mnt/sdcard2 等節點,而將外置的SD卡掛載到 Environment.getExternalStorageDirectory()這個結點。
此時,調用Environment.getExternalStorageDirectory(),則返回外置的SD的路徑。
2.而另一部分手機直接將eMMC存儲掛載在Environment.getExternalStorageDirectory()這個節點,而將真正的外置SD卡掛載到/mnt/external_sd、/mnt/sdcard2 等節點。
此時,調用Environment.getExternalStorageDirectory(),則返回內置的SD的路徑。
E. android 怎麼讀取手機sd卡空間大小
首先需要大家了解一下關於SDCard的基礎知識。
SDCard文件系統的信息有:存儲塊大小,總的存儲塊數量,可用存儲塊數量
存儲設備(這里特指SDCard)會被分為若干個區塊,每個區塊都有一個最小的單位。例如:Windows操作系統的區塊最小單位就是4個位元組的。也就是說,如果你的文件不足4位元組,也會佔用4位元組的硬碟空間。
下面還需要理解兩條計算公式
每個區塊的大小 * 區塊總數 = 存儲設備的總大小
每個區塊的大小 * 可用區塊的數量 = 存儲設備可用大小
下面開始編程:
首先創建安卓項目,在主activity中添加以下代碼(代碼中有詳細注釋):
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 得到文件系統的信息:存儲塊大小,總的存儲塊數量,可用存儲塊數量
// 獲取sd卡空間
// 存儲設備會被分為若干個區塊
// 每個區塊的大小 * 區塊總數 = 存儲設備的總大小
// 每個區塊的大小 * 可用區塊的數量 = 存儲設備可用大小
File path = Environment.getExternalStorageDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize;
long totalBlocks;
long availableBlocks;
// 由於API18(Android4.3)以後getBlockSize過時並且改為了getBlockSizeLong
// 因此這里需要根據版本號來使用那一套API
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2)
{
blockSize = stat.getBlockSizeLong();
totalBlocks = stat.getBlockCountLong();
availableBlocks = stat.getAvailableBlocksLong();
}
else
{
blockSize = stat.getBlockSize();
totalBlocks = stat.getBlockCount();
availableBlocks = stat.getAvailableBlocks();
}
// 利用formatSize函數把位元組轉換為用戶等看懂的大小數值單位
TextView tv_total = (TextView) findViewById(R.id.tv_total);
TextView tv_available = (TextView) findViewById(R.id.tv_available);
String totalText = formatSize(blockSize * totalBlocks);
String availableText = formatSize(blockSize * availableBlocks);
tv_total.setText("SDCard總大小:\n" + totalText);
tv_available.setText("SDCard可用空間大小:\n" + availableText);
}
//封裝Formatter.formatFileSize方法,具體可以參考安卓的API
private String formatSize(long size)
{
return Formatter.formatFileSize(this, size);
}
F. 安卓SD卡讀寫許可權
在AndroidManifest.xml中加入訪問SDCard的許可權如下:
<!-- 在SDCard中創建與刪除文件許可權 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard寫入數據許可權 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
要往SDCard存放文件,程序必須先判斷手機是否裝有SDCard,並且可以進行讀寫。
G. 安卓手機如何讀取外置sd卡
系統會自動讀取插入的外置sd卡里的文件內容,你打開手機的文件管理器,在文件類型欄里點任意一種類型,比如視頻,你就能看到sd卡里所有的視頻文件了。
H. Android6.0的sd卡許可權怎麼搞
安卓6.0加入了更嚴格得許可權驗證,SD卡讀寫許可權是這樣得
1. 在AndroidManifest.xml添加<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2. 現在大應用一般都匯集成進去許可權框架,這樣在你讀寫SD卡得時候判斷有沒有許可權,有的話執行,沒有的話彈出添加許可權對話框點擊確定添加許可權。
3.現在許可權框架比較多有EasyPermission,PermissionGen 和 MPermissions。
4.EasyPermission修改了一個框架library,可直接使用
I. android如何讀取sd卡的圖片並顯示
首先你要在AndroidManifest.xml申請讀取sdcard的許可權
java"><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/><!--向SDCard寫入數據許可權-->
關鍵代碼:
packagecom.sdcardread;
importjava.io.File;
importandroid.os.Bundle;
importandroid.os.Environment;
importandroid.widget.ImageView;
importandroid.widget.LinearLayout;
importandroid.widget.TextView;
importandroid.app.Activity;
importandroid.graphics.Bitmap;
importandroid.graphics.BitmapFactory;
{
privateTextViewtextView1;
;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView1=(TextView)findViewById(R.id.textView1);
linearLayout1=(LinearLayout)findViewById(R.id.linearLayout1);
booleanisSdCardExist=Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED);//判斷sdcard是否存在
if(isSdCardExist){
Stringsdpath=Environment.getExternalStorageDirectory()
.getAbsolutePath();//獲取sdcard的根路徑
textView1.setText("sd卡是存在的。以下是sdcard下的img25.jpg!");
Stringfilepath=sdpath+File.separator+"img25.jpg";
Filefile=newFile(filepath);
ImageViewimageView=newImageView(this);//創建一個imageView對象
if(file.exists()){
Bitmapbm=BitmapFactory.decodeFile(filepath);
//將圖片顯示到ImageView中
imageView.setImageBitmap(bm);
linearLayout1.addView(imageView);
}
}else{
textView1.setText("sd卡不存在!");
}
}
}
J. android4.4 app向sd卡中寫數據需要什麼許可權
需要寫入SD卡的許可權:在AndroidManifest.xml文件中的<manifest></manifest>標簽之間加入以下內容:
<uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
第一行是讀取數據的許可權,第二行是寫入數據的許可權,根據需要使用。(答題不易,正確請採納)