2015-07-11 2 views
-3

это LogCatNullPointerException в UserDefined метода «вставить» в datahelper класса

07-11 04:34:41.360: E/AndroidRuntime(10132): FATAL EXCEPTION: main 
07-11 04:34:41.360: E/AndroidRuntime(10132): Process:app.example.movierating, PID: 10132 
07-11 04:34:41.360: E/AndroidRuntime(10132): java.lang.NullPointerException 
07-11 04:34:41.360: E/AndroidRuntime(10132): at model.DataHelper.insert(DataHelper.java:75) 
07-11 04:34:41.360: E/AndroidRuntime(10132): at app.example.movierating.MainActivity1$1.onClick(MainActivity1.java:85) 
07-11 04:34:41.360: E/AndroidRuntime(10132): at android.view.View.performClick(View.java:4424) 
07-11 04:34:41.360: E/AndroidRuntime(10132): at android.view.View$PerformClick.run(View.java:18383) 
07-11 04:34:41.360: E/AndroidRuntime(10132): at android.os.Handler.handleCallback(Handler.java:733) 
07-11 04:34:41.360: E/AndroidRuntime(10132): at android.os.Handler.dispatchMessage(Handler.java:95) 
07-11 04:34:41.360: E/AndroidRuntime(10132): at android.os.Looper.loop(Looper.java:137) 
07-11 04:34:41.360: E/AndroidRuntime(10132): at android.app.ActivityThread.main(ActivityThread.java:4998) 
07-11 04:34:41.360: E/AndroidRuntime(10132): at java.lang.reflect.Method.invokeNative(Native Method) 
07-11 04:34:41.360: E/AndroidRuntime(10132): at java.lang.reflect.Method.invoke(Method.java:515) 
07-11 04:34:41.360: E/AndroidRuntime(10132): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777) 
07-11 04:34:41.360: E/AndroidRuntime(10132): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593) 
07-11 04:34:41.360: E/AndroidRuntime(10132): at dalvik.system.NativeStart.main(Native Method) 

это datahelper код класса после заполнения моего макета mainactivity ... на спасение моей appp закрывается, к сожалению, из выше beacuse ошибки. помогите мне, потому что я не могу понять, где это пустое исключение, и как это сделать. Я ученик.

package model; 

import java.util.Collection; 

import android.content.ContentValues; 
import android.content.Context; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteDatabase.CursorFactory; 
import android.database.sqlite.SQLiteOpenHelper; 
import android.util.Log; 

public class DataHelper extends SQLiteOpenHelper { 

static String dbname="info.db"; 
static String tablename="records"; 
SQLiteDatabase db; 
static int dbversion=1; 

public DataHelper(Context context) 
     { 
    super(context,dbname, null, dbversion); 
    // TODO Auto-generated constructor stub 
} 

@Override 
public void onCreate(SQLiteDatabase arg0) { 
    // TODO Auto-generated method stub 
    arg0.execSQL("createtable" + tablename + "(id integer.PRIMARY KEY AUTOINCREMENT, name1 text,yr1 text,dur1 text,starcast1 text,review1 text,dir1 text, genre1 text)"); 
    Log.e("SQLiteData", "tablecreated");  
} 

@Override 
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { 
    // TODO Auto-generated method stub 
    arg0.execSQL("drop table if exists" + tablename); 
    onCreate(arg0); 
} 



public boolean insert(String name1, String genre1, String yr1, String dur1,Float ratingbar1, String review1, String starcast1, String dir1) 
{ 
    // TODO Auto-generated method stub 
    boolean result; 
     try 
     { 
      db=this.getWritableDatabase(); 
      ContentValues c=new ContentValues(); 
      c.put("name", name1); 
      c.put("genre", genre1); 
      c.put("yr", yr1); 
      c.put("dur", dur1); 
      c.put("review", review1); 
      c.put("starcast", starcast1); 
      c.put("dir", dir1); 
      long res=db.insert(tablename, null , c); 

      if(res>0) 
      { 
       result=true; 
       //return result; 
      } 
      else 
      { 
       result=false; 
       //return result; 
      } 
     } 
     catch(Exception ex) 
     { 
      Log.e("error",ex.toString()); 
     } 
     finally 
     { 
      db.close(); 
     } 
     return result=false; 

} 



} 

возвращается и я застрял

+0

'java.lang.NullPointerException' означает, что вы пытаетесь использовать еще не экземпляр объекта. Кроме того, неправильное создание таблицы (в основном, отсутствие пробелов и добавление дополнительных точек). И ваш падающий стол тоже пропускает пространство. –

+0

показать мне ur MainActivity1.java –

ответ

0

изменить код, как показано ниже в OnCreate;

arg0.execSQL("create table " + tablename + "(id integer PRIMARY KEY AUTOINCREMENT, name text,yr text,dur text,starcast text,review text,dir text, genre text)"); 
Смежные вопросы