2014-09-02 77 views
2

我現在用的糖LIB Android和檢查在其網站上的例子:hierAndroid的 - 糖LIB NullPointerException異常

UserData udata; 
udata = new UserData(fname.getText() 
          .toString(), lname.getText() 
          .toString(), email.getText() 
          .toString(), country.getText() 
          .toString(), aboutu.getText() 
          .toString(), pass.getText() 
          .toString()); 
        udata.save(); //here is the NullPointerException 
        UserData ud = UserData.findById(UserData.class, 1); 

例外:

09-02 16:42:55.399: E/AndroidRuntime(25162): FATAL EXCEPTION: main 
09-02 16:42:55.399: E/AndroidRuntime(25162): java.lang.NullPointerException 
09-02 16:42:55.399: E/AndroidRuntime(25162): at com.orm.SugarRecord.save(SugarRecord.java:47) 
09-02 16:42:55.399: E/AndroidRuntime(25162): at com.arssoft.exp.dialog.RegisterDialog$2.onClick(RegisterDialog.java:114) 
09-02 16:42:55.399: E/AndroidRuntime(25162): at android.view.View.performClick(View.java:4475) 
09-02 16:42:55.399: E/AndroidRuntime(25162): at android.view.View$PerformClick.run(View.java:18786) 
09-02 16:42:55.399: E/AndroidRuntime(25162): at android.os.Handler.handleCallback(Handler.java:730) 
09-02 16:42:55.399: E/AndroidRuntime(25162): at android.os.Handler.dispatchMessage(Handler.java:92) 
09-02 16:42:55.399: E/AndroidRuntime(25162): at android.os.Looper.loop(Looper.java:176) 
09-02 16:42:55.399: E/AndroidRuntime(25162): at android.app.ActivityThread.main(ActivityThread.java:5419) 
09-02 16:42:55.399: E/AndroidRuntime(25162): at java.lang.reflect.Method.invokeNative(Native Method) 
09-02 16:42:55.399: E/AndroidRuntime(25162): at java.lang.reflect.Method.invoke(Method.java:525) 
09-02 16:42:55.399: E/AndroidRuntime(25162): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046) 
09-02 16:42:55.399: E/AndroidRuntime(25162): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862) 
09-02 16:42:55.399: E/AndroidRuntime(25162): at dalvik.system.NativeStart.main(Native Method) 

的androidManifest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.arssoft.chechenkitchen" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="15" 
    android:targetSdkVersion="21" /> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <activity 
     android:name="com.arssoft.exp.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name="com.arssoft.exp.RecipeActivity" 
     android:label="@string/app_name" > 
    </activity> 

    <meta-data 
     android:name="DATABASE" 
     android:value="sugar_recipeuser.db" /> 
    <meta-data 
     android:name="VERSION" 
     android:value="1" /> 
    <meta-data 
     android:name="QUERY_LOG" 
     android:value="true" /> 
    <meta-data 
     android:name="DOMAIN_PACKAGE_NAME" 
     android:value="com.arssoft.exp" /> 
</application> 

</manifest> 

下載lib庫文件的.jar文件。 我不知道爲什麼會拋出這個異常。 我只是跟着這個網站的樣本:hier

+0

嘗試[這](HTTP://計算器.com/questions/17871825/a-good-way-debug-nullpointerexception)如果你在eclipse上 – bhargavg 2014-09-02 15:05:35

+0

你有沒有研究過這個問題,我目前有類似的問題。 – 2014-10-23 04:18:56

+0

不是,而是使用SharedPreferences在設備上保存數據。 – ninjaxelite 2014-10-23 17:52:53

回答

8

試試這個行添加到您的AndroidManifest.xml android:name="com.orm.SugarApp"

例如:

<application android:label="@string/app_name" android:icon="@drawable/icon" android:name="com.orm.SugarApp">

+0

謝謝,這對我很有用。但爲什麼? – EmRa228 2015-03-03 05:52:45

+0

對我而言,爲什麼? – Latrova 2015-04-06 14:58:22

+0

我猜是因爲Sugar Orm實現了一個自定義應用程序類,必須在啓動時實例化 – talpaz 2015-04-23 16:03:33

相關問題