[英]Android null pointer exception and Database Update
我不斷收到此錯誤java.null.pointer異常每當我嘗試運行此代碼時,請幫助我如何解決此問題並更新我的數據庫值。 這是我的代碼主要活動課程
package dom.example.database_exp;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.widget.EditText;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MainActivity obj = new MainActivity();
SQLiteDatabase db =openOrCreateDatabase("Test", MODE_PRIVATE, null);
obj.Update(1, "Raza", "17", "Nohting");
Cursor c = db.rawQuery("SELECT FirstName FROM test WHERE ID = 1 ",null);
c.moveToFirst();
EditText dis=(EditText)findViewById(R.id.editText1);
String result = c.getString(c.getColumnIndex("FirstName"));
dis.setText("You have found "+result);
db.close();
/** EditText dis=(EditText)findViewById(R.id.editText1);
//Creating and opening the database
SQLiteDatabase db=openOrCreateDatabase("RamDB", MODE_PRIVATE,null);
//Creating table with 3 columns
db.execSQL("CREATE TABLE IF NOT EXISTS Test(ID INTEGER PK NOT NULL FirstName VARCHAR,LastName VARCHAR,Age INT(3));");
**/
}
public int Update (int sid, String name, String age, String course)
{
String FirstName = "FirstName";
String LastName = "LastName";
String test = "test";
String ID = "ID";
// String _id = "1" ;
SQLiteDatabase db =openOrCreateDatabase("Test", MODE_PRIVATE, null);
ContentValues pau = new ContentValues();
pau.put(FirstName, name);
return db.update(test, pau,ID + "=" + sid, null);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
我的xml文件
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="51dp"
android:layout_marginTop="89dp"
android:ems="10"
android:inputType="text" >
<requestFocus />
</EditText>
</RelativeLayout>
我們需要堆棧跟蹤來檢查錯誤在哪里。 盡管構造MainActivity obj = new MainActivity();
調用MainActivity obj = new MainActivity();
在您的OnCreate方法中似乎真的很奇怪。 據我所知,您不需要調用您的構造函數
您可以參考您的活動稱呼this
嘗試刪除MainActivity obj = new MainActivity();
和this.Update(1, "Raza", "17", "Nohting");
同樣也不需要運行openOrCreateDatabase兩次,您可以在OnCreate和方法上運行它。
無論如何,請檢查您的跟蹤adb logcat
以更好地了解代碼失敗的地方。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.