왜 이런 일이 발생하는지 알 수 없습니다. DDMS를 검사 할 때 파일이 없습니다. 내 응용 프로그램 하위 클래스에서이 폴더에 액세스하려고합니다. 왜 이런 일이 일어나는 지 아십니까? Activity를 확장하지 않는 클래스에서 사용할 수 있도록 전역으로 응용 프로그램 컨텍스트가 필요합니다.getFilesDir()을 사용할 때 응용 프로그램 컨텍스트가 null을 반환 함
package mci.multipratic;
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
import android.app.Application;
import android.content.Context;
public class MultiPraticApp extends Application
{
private static MultiPraticApp instance;
public static MultiPraticAppHelper helper;
public MultiPraticApp()
{
instance = MultiPraticApp.this;
helper = new MultiPraticAppHelper();
}
public static Context getContext()
{
return instance;
}
}
class MultiPraticAppHelper
{
private int offsets = 0;
private int productIndex = 0;
private int recipeId = 0;
private Recipe selectedRecipe;
private Properties configFile;
public MultiPraticAppHelper()
{
Context context = MultiPraticApp.getContext();
String path = context.getFilesDir() + "/config.properties";
File file = new File(path);
try
{
FileInputStream fis = new FileInputStream(file);
Properties properties = new Properties();
properties.load(fis);
fis.close();
}catch(Exception ex)
{
ex.printStackTrace();
}
}
내 매니페스트 파일 :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="mci.multipratic"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="4" />
<application android:name=".MultiPraticApp"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".EnableProductsActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
</activity>
<activity
android:name=".RecipeSelectionActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
</activity>
<activity
android:name=".ProductAdjustsActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
>
</activity>
</application>
에뮬레이터 또는 실제 장치에서이 작업을 시도하고 있습니까? 이 사람이 에뮬레이터 문제를 추적했습니다. http://stackoverflow.com/questions/6779833/getfilesdir-returning-null – CaseyB
오, 예, 글쎄요,이 질문에 대한 답변을 얻었지만 실제 장치를 사용하고 있습니다. –
어떻게이 '활동'을 시작 하시겠습니까? 앱의 주요 '활동'입니까? – CaseyB