No sé por qué ocurre esto. Cuando reviso el DDMS no hay archivos dir también. Estoy intentando acceder a esta carpeta en mi subclase de aplicación. ¿Alguna idea de por qué está pasando esto? Necesito que el contexto de la aplicación sea global para que pueda usar en clases que no extienden la actividad.Contexto de la aplicación que devuelve nulo al usar getFilesDir()
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();
}
}
Mi archivo de manifiesto:
<?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>
¿Está probando esto en el emulador o en un dispositivo real? Esta persona lo rastreó hasta un problema con el emulador: http://stackoverflow.com/questions/6779833/getfilesdir-returning-null – CaseyB
Oh, sí, bueno, llegué a esta pregunta, pero estoy usando un dispositivo real. –
¿Cómo estás lanzando esta 'Actividad'? ¿Es la 'Actividad' principal en tu aplicación? – CaseyB