2014-09-02 52 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

相关问题