0

SharedPreferences からいくつかの値を取得し、取得した値に基づいて何かを行うサービスがあります。問題は、コンテキストが見つからないため、常にどこでも NullPointerException が発生することです。私のテストコードはこれです。手伝って頂けますか?

    public void setUp() throws Exception
    {
        super.setUp();
        mam=getService();
    }
    public void testStart()
    {
        //Test 1
        SharedPreferences pref = mam.getSharedPreferences("settings", mam.MODE_PRIVATE);
        Editor editor = pref.edit();
        editor.putInt("hour", -1); 
        editor.putInt("minute", -1); 
        editor.commit();
        mam.startService(new Intent()); //onCreate() or something else
        boolean ok=mam.getOk();
        assertFalse("T.38", ok);
    }

私のサービスはこれです:

public void onCreate() 
{   
    pref = getApplicationContext().getSharedPreferences(
            "settings", MODE_PRIVATE);
    int h=pref.getInt("hour", -1);
    int m=pref.getInt("minute", -1);
    if(h!=-1 && m!=-1)
    {
        ...
        ok=true;
    }
}
4

1 に答える 1

1

変化する

mam.startService(new Intent());

Intent intent = new Intent(mam,ServiceClassName.class);
mam.startService(intent);
于 2013-11-09T19:59:42.263 に答える