我正在嘗試設置名爲「GetIntents」的Intent幫助程序類。我的問題是,我將如何從活動中調用GetIntents助手類?getIntent幫助程序類
這裏是我GetIntents輔助類:
public class GetIntents extends Intent {
public static Intent i;
public static String username = i.getExtras().getString("uid");
public static String password = i.getExtras().getString("pwd");
public static String firstName = i.getExtras().getString("firstName");
public static String lastName = i.getExtras().getString("lastName");
public static String lastLatitudeUpdate = i.getExtras().getString("lastLatitudeUpdate");
public static int checkedin = i.getExtras().getInt("checkedin");
public static int Minute = i.getExtras().getInt("Minute");
public static int Hour = i.getExtras().getInt("Hour");
}
現在林不知道我怎麼會能夠從我的活動調用它。到目前爲止,我已經嘗試過:
GetIntents intent = new GetIntents();
intent.getIntent();
我也嘗試了其他方法,但沒有運氣。有什麼我可以嘗試的建議嗎?
我的日誌:
06-21 11:26:18.249: D/AndroidRuntime(8978): Shutting down VM
06-21 11:26:18.249: W/dalvikvm(8978): threadid=1: thread exiting with uncaught exception (group=0x40015578)
06-21 11:26:18.253: E/AndroidRuntime(8978): FATAL EXCEPTION: main
06-21 11:26:18.253: E/AndroidRuntime(8978): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.jetdelivery.mobile/com.jetdelivery.mobile.screen1}: java.lang.NullPointerException
06-21 11:26:18.253: E/AndroidRuntime(8978): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1573)
06-21 11:26:18.253: E/AndroidRuntime(8978): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
06-21 11:26:18.253: E/AndroidRuntime(8978): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
06-21 11:26:18.253: E/AndroidRuntime(8978): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
06-21 11:26:18.253: E/AndroidRuntime(8978): at android.os.Handler.dispatchMessage(Handler.java:99)
06-21 11:26:18.253: E/AndroidRuntime(8978): at android.os.Looper.loop(Looper.java:130)
06-21 11:26:18.253: E/AndroidRuntime(8978): at android.app.ActivityThread.main(ActivityThread.java:3687)
06-21 11:26:18.253: E/AndroidRuntime(8978): at java.lang.reflect.Method.invokeNative(Native Method)
06-21 11:26:18.253: E/AndroidRuntime(8978): at java.lang.reflect.Method.invoke(Method.java:507)
06-21 11:26:18.253: E/AndroidRuntime(8978): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
06-21 11:26:18.253: E/AndroidRuntime(8978): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
06-21 11:26:18.253: E/AndroidRuntime(8978): at dalvik.system.NativeStart.main(Native Method)
06-21 11:26:18.253: E/AndroidRuntime(8978): Caused by: java.lang.NullPointerException
06-21 11:26:18.253: E/AndroidRuntime(8978): at com.jetdelivery.mobile.GetIntentHelper.getDataModel(GetIntentHelper.java:9)
06-21 11:26:18.253: E/AndroidRuntime(8978): at com.jetdelivery.mobile.screen1.<init>(screen1.java:66)
06-21 11:26:18.253: E/AndroidRuntime(8978): at java.lang.Class.newInstanceImpl(Native Method)
06-21 11:26:18.253: E/AndroidRuntime(8978): at java.lang.Class.newInstance(Class.java:1409)
06-21 11:26:18.253: E/AndroidRuntime(8978): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
06-21 11:26:18.253: E/AndroidRuntime(8978): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1565)
06-21 11:26:18.253: E/AndroidRuntime(8978): ... 11 more
我得到廣大你說的話(對不起,仍在學習),所以你說的話,它的種類多餘的,如果我是在一個輔助類中使用靜態的,而是使用靜態的內部類,所以我可以隨時撥打它嗎? –
我想你可能會倒退。首先你有兩個選擇,靜態方法或不。如果你使用靜態方法,那麼你不需要創建你的類的一個實例。作爲一個副作用,由於方法是靜態的,它們不會有一個意圖實例(這就是爲什麼你需要給它一個)。另一條路線是爲了讓你的班級更新,並將其傳遞給他人。然後,使用變量進行方法調用以獲取想要的信息。這些方法只會根據您在新建它時提供的意圖進行getExtra()操作。 –
謝謝你清除弗蘭克!我已經決定只走另一條路線,而不是爲我的意圖使用輔助類。 –