내 장치의 (내부 및 외부) 저장소의 크기를 무료로 가져 가고 싶습니다. 나는 휴대 전화 저장 공간을 얻을 수 내부 및 SD 카드 저장을 얻을 수 있지만 나는 내부 저장, SD 카드, 휴대 전화 저장 공간, : 내가 좋아하는 장치에 저장을 다음했다. 도와주세요.안드로이드 각 저장소에 얼마나 많은 여유 공간이 있습니까
-2
A
답변
1
this question을 참조하면 내부 저장 공간과 SD 카드 여유 공간을 모두 확보 할 수 있습니다.
편집 :
public long freeMemory() {
StatFs statFs = new StatFs(Environment.getDataDirectory().getAbsolutePath());
long free = (statFs.getAvailableBlocks() * statFs.getBlockSize());
return free;
}
이 좋아하는 질문을 참조 사람이 읽을 수있는 형식 (MB, GB 등)로 변환하려면 다음 링크 된 질문에서.
일반적으로 (중국어 폰 어쨌든) 내부 저장소는 앱과 앱 데이터 전용으로 두 부분으로 나뉘며 다른 하나는 사진, 미디어 등을 위해 SD 카드로 마운트됩니다. 일부 휴대 전화에는 당신이 접근 할 수있는 SD 카드 슬롯.
+0
귀하의 링크에 따르면, 그것은 내가 알고 싶은 정답을주지 않습니다. –
+0
업데이트 된 답변보기 – JonasCz
0
public static long getAvailableStorage() {
File path = StorageUtils.getCacheDirectory(ApplicationController.getInstance(), true);
long blockSize = 0;
long availableBlocks = 0;
StatFs stat = new StatFs(path.getPath());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
blockSize = stat.getBlockSizeLong();
availableBlocks = stat.getAvailableBlocksLong();
} else {
blockSize = stat.getBlockSize();
availableBlocks = stat.getAvailableBlocks();
}
return availableBlocks * blockSize;
}
public static File getCacheDirectory(Context context,
boolean preferExternal) {
File appCacheDir = null;
String externalStorageState;
try {
externalStorageState = Environment.getExternalStorageState();
} catch (NullPointerException e) { // (sh)it happens (Issue #660)
externalStorageState = "";
}
if (preferExternal && MEDIA_MOUNTED.equals(externalStorageState)
&& hasExternalStoragePermission(context)) {
appCacheDir = getExternalCacheDir(context);
}
if (appCacheDir == null) {
appCacheDir = context.getCacheDir();
}
if (appCacheDir == null) {
String cacheDirPath = "/data/data/" + context.getPackageName()
+ "/"+DOWNLOAD_SUB_DIRECTORY+"/";
appCacheDir = new File(cacheDirPath);
}
return appCacheDir;
}
private static File getExternalCacheDir(Context context) {
File dataDir = new File(new File(
Environment.getExternalStorageDirectory(), "Android"), "data");
File appCacheDir = new File(
new File(dataDir, context.getPackageName()), DOWNLOAD_SUB_DIRECTORY);
if (!appCacheDir.exists()) {
if (!appCacheDir.mkdirs()) {
L.w("Unable to create external cache directory");
return null;
}
try {
new File(appCacheDir, ".nomedia").createNewFile();
} catch (IOException e) {
}
}
return appCacheDir;
}
관련 문제
- 1. 레퍼런스에는 얼마나 많은 공간이 필요합니까?
- 2. 안드로이드, 얼마나 많은 조각
- 3. 얼마나 많은 공간이 하드 드라이브에 있는지 검색합니다.
- 4. 여유 공간이 부족한 노드 이동
- 5. 안드로이드 얼마나 많은 sharedpreferences 파일?
- 6. 각 사용자가 SVN 저장소에 얼마나 기여했는지 어떻게 알 수 있습니까?
- 7. 얼마나 많은 공간이 MySQL 데이터베이스에 필요한지 알 수 있습니까?
- 8. 안드로이드 앱은 얼마나 많은 알림을받을 수 있습니까?
- 9. 얼마나 많은 공간이 varchar 유형 열에 저장되는 텍스트를 복제합니까?
- 10. 안드로이드 얼마나 많은 스레드가 있어야합니까?
- 11. 얼마나 많은 제한이 있습니까?
- 12. 크롬의 페이지 상단에 여유 공간이 나타납니다.
- 13. 얼마나 많은 PHP가 포함하고 있습니까?
- 14. 힙의 여유 공간이 있더라도 전체 GC가 발생합니다.
- 15. 디스크의 페르소스 여유 공간이 업데이트되지 않습니다.
- 16. GetDiskFreeSpaceEx, 파일 생성에도 여유 공간이 변경되지 않음
- 17. 셀러리 - 얼마나 많은 대기열이 있습니까?
- 18. appcelerator 티타늄 앱 좌우측 탐색 버튼에 여유 공간이 있습니까?
- 19. 얼마나 많은 EJB가 얼마나 많이 있습니까?
- 20. 테이블 스페이스에서 얼마나 많은 공간이 인덱스를 생성하는지 알 수있는 방법
- 21. Mongo Indexing을 할 때 얼마나 많은 디스크 공간이 증가합니까?
- 22. 오픈 소스는 얼마나 많은 안드로이드 애플 리케이션입니까?
- 23. 당신은 안드로이드 스튜디오에 얼마나 많은 방법을 확인하십시오
- 24. 운영 체제는 각 스레드에 얼마나 많은 스택 공간을 할당해야하는지 결정합니까?
- 25. MySQL : 각 날짜마다 각 ID마다 얼마나 많은 항목을 가져 옵니까?
- 26. 구성, 얼마나 많은 인스턴스가 있습니까?
- 27. 얼마나 많은 병합 정렬이 있습니까?
- 28. 얼마나 많은 vim을 가지고 있습니까?
- 29. 얼마나 많은 PHP가 포함되어 있습니까?
- 30. angleApp에 얼마나 많은 Scope가 있습니까?
내부 저장소는 휴대 전화 저장소입니다. 또한 ... 이것은 원격 프로그래밍과 관련이 없습니다. –
사실 휴대 전화 보관함은 두 부분으로 나뉩니다 : 내 마이크로 맥스 장치의 내부 및 전화 보관함. –
휴대 전화가 SD 카드를 지원하지 않는다고 생각합니다 ...? 이 경우 ... 아마도 ... "전화 저장 장치"라고 부르는 다른 저장소가 SD 카드로 탑재됩니다. –