응용 프로그램 디렉토리 가져 오기
누군가가 내 응용 프로그램 디렉토리의 경로를 얻는 방법을 알고 있습니까? (예를 들어 /data/data/my.app.lication/
)
현재이 방법을 사용하고 있습니다. myActivity.getFilesDir().getParent();
그러나 더 간단한 해결책이있을 때 해결 방법처럼 보입니다. 또한 부작용 files
은 불필요한 디렉토리 생성입니다 .
설명 : 먼저-답장 해 주셔서 감사합니다. 다른 해결 방법이 아닌 이미 존재하는 방법이 있는지 이해하려고 노력합니다.
PackageManager m = getPackageManager();
String s = getPackageName();
PackageInfo p = m.getPackageInfo(s, 0);
s = p.applicationInfo.dataDir;
eclipse가 잡히지 않은 것에 대해 걱정한다면 NameNotFoundException
다음을 사용할 수 있습니다.
PackageManager m = getPackageManager();
String s = getPackageName();
try {
PackageInfo p = m.getPackageInfo(s, 0);
s = p.applicationInfo.dataDir;
} catch (PackageManager.NameNotFoundException e) {
Log.w("yourtag", "Error Package name not found ", e);
}
최소 API 4 이상을 사용하여 애플리케이션 데이터 디렉토리를 가져 오는 더 간단한 방법이 있습니다. 모든 컨텍스트 (예 : 활동, 애플리케이션)에서 :
getApplicationInfo().dataDir
http://developer.android.com/reference/android/content/Context.html#getApplicationInfo ()
알았어
String appPath = App.getApp().getApplicationContext().getFilesDir().getAbsolutePath();
여기에서 :
코드에서 이것을 사용하십시오.
context.getApplicationInfo().dataDir
현재 Android 애플리케이션 패키지의 경우 :
public String getDataDir(final Context context) throws Exception {
return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).applicationInfo.dataDir;
}
모든 패키지 :
public String getAnyDataDir(final Context context, final String packageName) throws Exception {
return context.getPackageManager().getPackageInfo(packageName, 0).applicationInfo.dataDir;
}
파일에 액세스하려는 경우 여기에 설명 된대로 openFileOutput()
및 openFileInput()
방법을 시도 하십시오 . 내부 메모리의 지정된 파일에 대한 입력 / 출력 스트림을 자동으로 엽니 다. 이것은 File
매우 깨끗한 솔루션 인 디렉토리와 객체를 모두 우회 할 수있게합니다 .
@ jared-burrows의 솔루션을 기반으로합니다. 모든 패키지에 대해 컨텍스트를 매개 변수로 전달 중 ...
public static String getDataDir(Context context) throws Exception {
return context.getPackageManager()
.getPackageInfo(context.getPackageName(), 0)
.applicationInfo.dataDir;
}
참고 URL : https://stackoverflow.com/questions/5527764/get-application-directory
'Development Tip' 카테고리의 다른 글
내로 시작하지 않는 정규식 일치 문자열 (0) | 2020.10.22 |
---|---|
forEach 루프의 배열에서 요소를 제거하는 방법은 무엇입니까? (0) | 2020.10.22 |
소켓 파일을 열 수없는 jmap 실행 (0) | 2020.10.22 |
JavaScript에서 Hex를 ASCII로 변환하는 방법은 무엇입니까? (0) | 2020.10.22 |
NEWER Flexbox API를 사용하는 전체 높이 앱의 Flexbox 및 수직 스크롤 (0) | 2020.10.22 |