0

これは、1つの最初のアクティビティmain.javaで作成されます。emailidこれとpassword、arclist.javaという別のアクティビティで取得したいと思います。どのように?これがテーブルTempからデータをフェッチするための私のコードですが、エラーが発生します:

public class MainScreen extends Activity

{{

//protected static final String Temp1 = null;
//protected static final String Temp1 =null;
ImageButton imgScanButton,imgMyOffersButton;
SQLiteDatabase db;
DatabaseHelper dbHelper;
protected String emailid;
protected String[] columns;

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainscreen);
     db=dbHelper.getWritableDatabase();
    //db = dbHelper.getReadableDatabase();
    try{
          //db=openOrCreateDatabase("baab",SQLiteDatabase.CREATE_IF_NECESSARY,null);
          //db.openDatabase();
         // db.execSQL("Create Table Temp1(emailid integer,Password integer)");
          }catch(SQLException e)
          {
              e.getMessage();
          }
    imgScanButton = (ImageButton) findViewById(R.id.imgbtnScan);
    imgMyOffersButton = (ImageButton) findViewById(R.id.imgbtnMyOffers);

    CursorFactory factory;
    try {

    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    imgScanButton.setOnClickListener(new OnClickListener()
    {



         public void onClick(View arg0) 
                {

             Cursor c=db.query("Temp01", columns, null, null, null, null, null);
            // Cursor cursor = db.query("Temp4", columns,
                     // null, null, null, null, null);
                    TextView tv = (TextView) findViewById(R.id.textView1);
                    tv.setText(c.getString(0));
                    c.moveToFirst();
                }
            });

        db.close(); 

        }

Logcatとその力は閉じます:

    10-19 13:12:06.992:E / AndroidRuntime(24732):致命的な例外:メイン
 10-19 13:12:06.992:E / AndroidRuntime(24732):java.lang.RuntimeException:アクティビティを開始できませんComponentInfo {com.example.checkinfo / com.example.checkinfo.MainScreen}:java.lang.NullPointerException
 10-19 13:12:06.992:E / AndroidRuntime(24732):android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
 10-19 13:12:06.992:E / AndroidRuntime(24732):android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
 10-19 13:12:06.992:E / AndroidRuntime(24732):android.app.ActivityThread.access $ 2300(ActivityThread.java:125)
 10-19 13:12:06.992:E / AndroidRuntime(24732):android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)
 10-19 13:12:06.992:E / AndroidRuntime(24732):android.os.Handler.dispatchMessage(Handler.java:99)
 10-19 13:12:06.992:E / AndroidRuntime(24732):android.os.Looper.loop(Looper.java:123)
 10-19 13:12:06.992:E / AndroidRuntime(24732):android.app.ActivityThread.main(ActivityThread.java:4627)
 10-19 13:12:06.992:E / AndroidRuntime(24732):java.lang.reflect.Method.invokeNative(ネイティブメソッド)で
 10-19 13:12:06.992:E / AndroidRuntime(24732):java.lang.reflect.Method.invoke(Method.java:521)で
 10-19 13:12:06.992:E / AndroidRuntime(24732):com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
 10-19 13:12:06.992:E / AndroidRuntime(24732):com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
 10-19 13:12:06.992:E / AndroidRuntime(24732):dalvik.system.NativeStart.main(ネイティブメソッド)
 10-19 13:12:06.992:E / AndroidRuntime(24732):原因:java.lang.NullPointerException
 10-19 13:12:06.992:E / AndroidRuntime(24732):com.example.checkinfo.MainScreen.onCreate(MainScreen.java:38)
 10-19 13:12:06.992:E / AndroidRuntime(24732):android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
 10-19 13:12:06.992:E / AndroidRuntime(24732):android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
4

1 に答える 1

1

設定db=dbHelper.getWritableDatabase();すると、null ポインター例外は発生しません。

Cursor c=db.query(Temp, columns, null, null, null, null, null);

c.moveToFirst(); 大丈夫_

Cursor c=db.query("Temp01", columns, null, null, null, null, null);
 c.moveToFirst();

            // Cursor cursor = db.query("Temp4", columns,
                     // null, null, null, null, null);
                    TextView tv = (TextView) findViewById(R.id.textView1);
                    tv.setText(c.getString(0));
于 2012-10-19T07:56:00.193 に答える