當前位置:首頁 » 安卓系統 » androidsd卡路徑

androidsd卡路徑

發布時間: 2023-08-19 07:45:46

① 獲取android手機的自帶存儲路徑和sdcard存儲路徑

android手機獲取自帶存儲路徑和sd卡存儲路徑的方式是:

調用Environment.getExternalStorageDirectory,返回的存儲目錄並不是系統內置的SD卡目錄。


1、手機將eMC存儲掛載到/mnt/external_sd、/mnt/sdcard2等節點,而將外置的SD卡掛載到Environment.getExternalStorgeDirectory這個結點。

2、而另一部分手機直接將eMMC存儲掛載在Environment.getExternalStorageDirectory這個節點,而將真正的外置SD卡掛載到/mnt/external_sd、/mnt/sdcard2等節點。調用Environment.getExternalStorgeDirectory,則返回內置的SD的路徑。

(1)androidsd卡路徑擴展閱讀:

Android在正式發行之前,最開始擁有兩個內部測試版本,並且以著名的機器人名稱來對其進行命名,它們分別是:阿童木(AndroidBeta),發條機器人(Android1.0)。後來由於涉及到版權問題,谷歌將其命名規則變更為用甜點作為它們系統版本的代號的命名方法。

Android的系統架構和其操作系統一樣,採用了分層的架構。從架構圖看,Android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核層。

② xamarin怎樣獲取android外卡路徑

xamarin怎樣獲取android外卡路徑

一部分手機將eMMC存儲掛載到 /mnt/external_sd 、/mnt/sdcard2 等節點,而將外置的SD卡掛載到 Environment.getExternalStorageDirectory()這個結點。
此時,調用Environment.getExternalStorageDirectory(),則返回外置的SD的路徑。

android 怎樣動態的獲取sd卡路徑

鏈接電腦USB調試情況下,在電腦上有新的磁碟顯示,一個SD的,一個手機的,打開SD的就可以找各文件夾路徑

Android怎樣獲取外部存儲器路徑

讀寫sdcard上的文件
其中讀寫步驟按如下進行:
1、調用Environment的getExternalStorageState()方法判斷手機上是否插了sd卡,且應用程序具有讀寫SD卡的許可權,如下代碼將返回true
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)
2、調用Environment.getExternalStorageDirectory()方法來獲取外部存儲器,也就是SD卡的目錄,或者使用"/mnt/sdcard/"目錄
3、使用IO流操作SD卡上的文件
注意點:手機應該已插入SD卡,對於模擬器而言,可通過mksdcard命令來創建虛擬存儲卡
必須在AndroidManifest.xml上配置讀寫SD卡的許可權
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

我怎樣才能獲得外部SD卡路徑為Android 4.0 +

1. 我想你需要這個外部SD卡:
new File("/mnt/external_sd/")

new File("/mnt/extSdCard/")
你的情況......
在更換Environment.getExternalStorageDirectory()您的作品,應在MNT目錄優先和工作在那裡檢查什麼..
你鍵入選擇哪個SD卡
File storageDir = new File("/mnt/");
if(storageDir.isDirectory()){
String[] dirList = storageDir.list();
TODO some type of selecton method?
}

怎樣獲取class路徑

  • importjava.io.File;

  • publicclassFileTest{

  • publicstaticvoidmain(String[]args)throwsException{

  • System.out.println(Thread.currentThread().getContextClassLoader()

  • .getResource(""));

  • System.out.println(FileTest.class.getClassLoader().getResource(""));

  • System.out.println(ClassLoader.getSystemResource(""));

  • System.out.println(FileTest.class.getResource(""));

  • System.out.println(FileTest.class.getResource("/"));

  • Class文件所在路徑

  • System.out.println(newFile("/").getAbsolutePath());

  • System.out.println(System.getProperty("user.dir"));

  • System.out.println(System.getProperty("file.encoding"));

  • }

  • }

android 怎麼獲取相冊路徑

android手機4.2版本之前是一個方法,大於4.2版本又是一個方法。

注意:現在手機市場android版本2015面上半年平均4.4,現在是平均5.0了。

  1. before

    你網路一下,都能查到,很簡單.

  2. after

    private void startPickPhotoActivity() {
    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    intent.setType("image/*"); Or 'image/ jpeg '
    startActivityForResult(intent, RESULT_PICK_PHOTO_NORMAL);
    }

獲得圖片返回的路徑
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == RESULT_PICK_PHOTO_NORMAL) {
if (resultCode == RESULT_OK && data != null) {

選中圖片路徑

mFileName = MainActivity.getPath(getApplicationContext(),
data.getData());
if ("".equals(mFileName)) {
return;
}
Intent intent = new Intent(this, EditActivity.class);
intent.putExtra("pathName", mFileName);
startActivity(intent);
}
}
}
@TargetApi(Build.VERSION_CODES.KITKAT)
public static String getPath(final Context context, final Uri uri) {
final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
DocumentProvider
if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
ExternalStorageProvider
if (UriUtils.isExternalStorageDocument(uri)) {
final String docId = DocumentsContract.getDocumentId(uri);
final String[] split = docId.split(":");
final String type = split[0];
if ("primary".equalsIgnoreCase(type)) {
return Environment.getExternalStorageDirectory() + "/"
+ split[1];
}
}
DownloadsProvider
else if (UriUtils.isDownloadsDocument(uri)) {
final String id = DocumentsContract.getDocumentId(uri);
final Uri contentUri = ContentUris.withAppendedId(
Uri.parse("content:downloads/public_downloads"),
Long.valueOf(id));
return UriUtils.getDataColumn(context, contentUri, null, null);
}
MediaProvider
else if (UriUtils.isMediaDocument(uri)) {
final String docId = DocumentsContract.getDocumentId(uri);
final String[] split = docId.split(":");
final String type = split[0];
Uri contentUri = null;
if ("image".equals(type)) {
contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
} else if ("video".equals(type)) {
contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
} else if ("audio".equals(type)) {
contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
}
final String selection = MediaColumns._ID + "=?";
final String[] selectionArgs = new String[] { split[1] };
return UriUtils.getDataColumn(context, contentUri, selection,
selectionArgs);
}
}
MediaStore (and general)
else if ("content".equalsIgnoreCase(uri.getScheme())) {
Return the remote address
if (UriUtils.isGooglePhotosUri(uri))
return uri.getLastPathSegment();
return UriUtils.getDataColumn(context, uri, null, null);
}
File
else if ("file".equalsIgnoreCase(uri.getScheme())) {
return uri.getPath();
}
return null;
}

如何獲取android sdcard路徑

Environment.getExternalStorageDirectory()

android怎麼獲取U盤路徑

用Re管理器進入/mnt/目錄一個一個找

android怎麼獲取分區路徑

我們可以在adb中使用df 來查看分區情況。

1、跨分區不能用 MV命令來拷貝。但是可以用CP命令。如PWD,當前目錄為:/data/local/tmp 。

此目錄下有個busybox和1.txt文件。則利用CP命令拷貝如下:./busybox cp1.txt /system.

2、Android的用戶組有 System, root, shell

3、怎麼樣才能操作分區。

分區操作是需要許可權的。一般來說System分區的許可權限製得比較嚴,Data分區限制比較嚴,用戶可以操作的目錄有local,app目錄。比如/data/local/tmp.

data分區常用目錄:app , system , data ,local,misc 其中system,local可以進入並使用ls等命令。data,app可以進入,但不能用ls命令。

data/data目錄:存放的是所有APK程序數據的目錄,每個APK對就一個自己的Data目錄,就是在data/data/目錄下,會產生一個跟Package一樣的目錄。如有一個APK,它的包名叫.test.hello則,在data/data/目錄下會有一個.test.hello的目錄,這個APK只能操作此目錄,不能操作其它APK的目錄.這個在LINUX下叫做用戶進程只能操作自己的進程目錄.

data/app目錄:用戶安裝的APK放在這里。我們如果把APK放入這個文件夾下面的話,就算安裝好了。這就叫靜默安裝。不用管APK文件裡面的lib目錄下的庫文件,系統會自動幫我們放入調用庫的。

data/system目錄下面有packages.xml ,packages.list,appwidgets.xml, 等等一些記錄手機安裝的軟體,Widget等信息。

data/misc目錄:保存WIFI帳號,VPN設置信息等。如保存了一個WIFI連接帳號,則此目錄下的WIFI目錄下面可以查看到。

system分區常用目錄: app , lib, xbin, bin , media,framework.

system/app目錄:存放系統自帶的APK。沒有測試過是否將APK放入到System/app目錄下,也是靜默安裝APK。?

system/lib目錄:存放APK程序用到的庫文件。

system/bin目錄和system/xbin目錄:存放的是shell命令。

system/framework目錄:啟用Android系統所用到框架,如一些jar文件。

4 Android下面的目錄都是有許可權的,要操作目錄都需要有此許可權才能操作,如果沒有,則使用chomd777來修改.如果是分區根目錄,如/data分區, /system分區.都沒有許可權,則需要重新掛載. 使用 mount -oremount XX

③ android安卓手機系統文件要放在哪個文件夾

Android系統的開放,使其用戶可以自己查看系統和SD卡中的文件夾。就系統和SD卡中常見的目錄代表什麼意思,下面是一個較實用的總結:

一、SD卡中

1. /mnt/sdcard或者/sdcard這是Android手機中SD卡的文件夾路徑,其中/mnt/sdcard/是android 2.2或更高版本所使用的,而/sdcard是android 2.1或早期版本的存儲卡位置。

2. /mnt/sdcard/dcim或/sdcard/dcim這個DCIM文件夾是干什麼用的,這里提示大家,一般數碼相機都有DCIM文件夾,其中進入後Camera為手機攝像頭拍攝的照片或視頻存放位置。同時在DCIM文件夾中還有.thumbnails這個目錄,在Linux中開頭為「.」的文件夾就是開頭為「點」的文件夾是隱藏目錄,這裡面記錄著手機SD卡圖片的縮略圖。

3. /mnt/sdcard/LOST.DIR或/sdcard/LOST.DIR這個LOST.DIR為SD卡掃描時發現的丟失文件,裡面的文件用處不大,可以不用理會。
二、手機或平板電腦中

1. /system/app 這里是android手機rom中的系統應用存放地,如果有Root許可權可以將手機rom中自帶的應用刪除掉,這裡面一般包含一個apk文件和odex文件,大家注意文件名一一對應。

2. /data/data 這里是每個安裝過應用的用戶文件存儲位置,一般為設置文件、資料庫或臨時緩存文件,進入後以每個軟體的package name包名來命名。

3. /dev 這里是Linux系統常規文件夾,裡面的文件很多都是設備模擬的文件系統,一般用戶無需理會。

4. /system/fonts 這裡面保存著系統的字體,如果你有root許可權,可以往裡添加自己喜歡的字體,比如雅黑。

5. /system/framework 這里是android系統的框架,裡面保存著系統核心程序或java類庫,十分重要裡面的任何文件幾乎都不要做刪除操作。

6. /media/audio 這裡面保存著安卓系統默認的鈴聲,alarms是鬧鈴提醒的,notification是簡訊或提示音,ringtones是來電鈴聲,而ui是一些界面音效,比如鍵盤敲擊聲。

7./system/lib 裡面保存的是系統底層類庫,裡面很多都是框架層的實現文件,一般以.so後綴結尾類似windows下的dll文件。

安卓軟體安裝過後存在手機什麼目錄下如果安裝在sd卡又存在什麼目錄下。

安卓軟體安裝在手機目錄上分為兩種情況,一種是系統應用,而另外一種就是用戶安裝的應用。具體安裝目錄如下:

系統應用保存在 /system/app目錄;而用戶安裝的應用則保存在 /data/app目錄。如果安裝在sd卡上,會保存在SD卡/Android/data目錄下。

在Android平台中dalvik vm的執行文件被打包為apk格式,最終運行時載入器會解壓然後獲取編譯後androidmanifest.xml文件中的permission分支相關的安全訪問,但仍然存在很多安全限制。

如果你將apk文件傳到/system/app文件夾下會發現執行是不受限制的,最終我們平時安裝的文件可能不是這個文件夾,而在android rom中系統的apk文件默認會放入這個文件夾,它們擁有著root許可權。


(4)androidsd卡路徑擴展閱讀:

安卓操作系統的平台優勢:

1、開放性

在優勢方面,Android平台首先就是其開放性,開發的平台允許任何移動終端廠商加入到Android聯盟中來。慶衡凱顯著的開放性可以使其擁有更多的開發者,隨著用戶和應用的日益豐富,一個嶄新的平台也將很快走向成熟。

開放性對於Android的發展而言,有利於積累人氣,這里的人氣包括消費者和廠商,而對於消費者來講,最大的受益正是豐富的軟體資源。開放的平台也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。

2、豐富的硬體

這一點還是與Android平台的開放性相關,由於Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產品。

功能上的差異和特色,卻不會影響到數據同步、甚至軟體的兼攔告容,如同從諾基亞Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優秀的軟體帶到iPhone上使用、聯系人等資譽喚料更是可以方便地轉移。

3、方便開發

Android平台提供給第三方開發商一個十分寬泛、自由的環境,不會受到各種條條框框的阻擾。

⑤ 獲取android手機的自帶存儲路徑和sdcard存儲路徑

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的路徑。

⑥ 安卓內外部存儲完全解析 -- 別再弄混了

安卓開發離不開手機存儲,然而大部分人對於安卓開發中的存儲概念存在誤區,內部外部SD卡傻傻分不清?

以下引用來自對 官方文檔 的理解

呵呵呵,先別說話,然而重點來了(敲黑板),按照官方的說法,

內部存儲是指系統的存儲空間,沒有root是訪問不到的呦親,比如sharedPreferenced或者database都是保存在這裡面的。

外部存儲,又分為 2 部分:

然而現實中,常常有同事把手機那個32G,64G存儲叫做內部存儲= =,寶寶好累,人家明明是 ExternalStorage !!

希望本篇能讓大家對內外部存儲有一個正確鮮明的認識

getFilesDir()

路徑如下

文檔 雲:若想操作該路徑,你需要一個輸出流:

就像這樣:

注: this 是 context 對象

路徑下會看到新文件哦

如果你還想讀取的話, 文檔 雲:你需要一個輸入流:

Log如下

getCacheDir()

文檔 雲:

路徑如下:

特別的,還有getDir() :

getDir("- -!.txt", Context.MODE_PRIVATE).getAbsolutePath()

路徑如下:

app_是系統自己加上去的

內部存儲就是系統的存儲,沒有root你是看不到的,內部存儲最大特點就是可以用Context對象調用各個獲取路徑的方法。比如: context.fileList()
那就是

下的文件遍歷。

而 deleteFile("ABC") 就是

刪除下名為 ABC 的文件
</br></br></br>

操作外部存儲你首先需要以下許可權

當你申請了write許可權,那麼read許可權默認也就通過啦

再判斷狀態:

if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState))

Environment.getExternalStorageDirectory()

這個路徑根據手機廠家不同會有些許變化

直接傳入 Environment 中的常量獲取相應的路徑,如下:

Environment.(Environment.DIRECTORY_ALARMS));

或者

Environment.(Environment.DIRECTORY_PICTURES));

公有目錄下,系統會區分不同類別 (例如鈴聲在系統設置中顯示為鈴聲而不是音樂)

4.4以後訪問該目錄不再需要許可權了

getExternalFilesDir(String type)

eg.
getExternalFilesDir(Environment.DIRECTORY_MUSIC)

特別的:ContextCompat下的

ContextCompat.getExternalFilesDirs(context,type)

返回一個File[],在4.4以後第一條數據默認外部主存儲目錄,第二條數據就是sd卡路徑啦,但是注意4.4之前是沒有第二條數據的哦

該目錄下的特點是卸載程序後,該目錄和其下所有文件均會被刪除

getExternalCacheDir()

注意,使用該目錄注意管理空間,你不能等系統幫你清理,而是自己清理不再需要的緩存

特別的:ContextCompat下的

ContextCompat.getExternalCacheDirs()

道理同上

發現特點了嗎朋友,無論外部內部,只有路徑中有包名,那麼就是私有的,而且是隨著程序的卸載而被刪除的, 有包名的路徑均是Context中的方法,而公有的路徑均是Environment調用的

這個貨真真是要了老命,一般的方法根部不好使,結合網上有的方法加上公司項目中的方法,總結如下:

百分百好用的獲取SD卡路徑方法:

最後集合 path 中的值就是SD卡根目錄

雖然無視版本百分百好用,但是如果你的手機有SD卡槽卻沒插SD卡,該方法最後 path 返回的是 null ,也就是說該方法無法判斷到底是沒插SD卡還是根本不支持SD卡

其實還有一種方法

String path = System.getenv("SECONDARY_STORAGE");

該方法只要你手機支持SD卡,無論你插沒插SD卡,均會返回SD卡路徑,但是 6.0及以上該方法被移除

Environment中源碼其實就是根據這個方法獲取路徑的

安卓官方文檔大家一定要看,他就是我們開發者的權威呀,聖經呀!!

熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:432
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:557
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:743
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:537
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:146
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:235
java駝峰 發布:2025-02-02 09:13:26 瀏覽:651
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:538
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:212
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:726