的活动:
package hi.com;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
public class TestsqliteActivity extends Activity {
/** Called when the activity is first created. */
EditText inputContent1, inputContent2,inputContent3;
Button buttonAdd, buttonDeleteAll;
ListView listContent;
Cursor cursor;
SimpleCursorAdapter cursorAdapter;
private handle mySQLiteAdapter;
private SQLiteDatabase db;
private static final String fields[] = {handle.KEY_ID,handle.COMPANY_NAME};
private ContentValues conValues;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.asdasd);
inputContent1 = (EditText)findViewById(R.id.content1);
inputContent2 = (EditText)findViewById(R.id.content2);
inputContent3 = (EditText)findViewById(R.id.content3);
buttonAdd = (Button)findViewById(R.id.add);
listContent = (ListView)findViewById(R.id.contentlist);
mySQLiteAdapter = new handle(this);
db = (new handle(this)).getWritableDatabase();
Cursor data = db.query(handle.COMPANY_TABLE, fields, null, null, null, null, null);
String[] from = new String[]{handle.COMPANY_NAME};
int[] to = new int[]{R.id.text1};
cursorAdapter = new SimpleCursorAdapter(this, R.layout.row, data, from, to);
listContent.setAdapter(cursorAdapter);
buttonAdd.setOnClickListener(buttonAddOnClickListener);
}
Button.OnClickListener buttonAddOnClickListener
= new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
saveRecords();
}
};
private void updateList() {
// TODO Auto-generated method stub
cursor.requery();
}
protected void saveRecords() {
// TODO Auto-generated method stub
conValues.put(handle.COMPANY_NAME, inputContent1.getText().toString());
try {
db.insert(handle.COMPANY_TABLE, null, conValues);
Log.d("DDMS'ye", "kayit basarili degerini yaz.");
} catch (SQLiteException e) {
Log.d("eHata", e.getLocalizedMessage());
}
}
}
错误
ERROR / AndroidRuntime(19930):java.lang.NullPointerException 10-05 12:01:31.302: ERROR / AndroidRuntime(19930):at hi.com.TestsqliteActivity.saveRecords(TestsqliteActivity.java:75) 10-05 12:01:31.302:ERROR / AndroidRuntime(19930):at hi.com.TestsqliteActivity $ 1.onClick(TestsqliteActivity.java:61)10-05 12:01:31.302:ERROR / AndroidRuntime(19930):at android.view.View.performClick(View.java:2408)10-05 12:01:31.302: 错误/ AndroidRuntime(19930):at android.view.View $ PerformClick.run(View.java:8816)10-05 12:01:31.302: 错误/ AndroidRuntime(19930):at android.os.Handler.handleCallback(Handler.java:587)10-05 12:01:31.302:ERROR / AndroidRuntime(19930):at android.os.Handler.dispatchMessage(Handler.java:92)10-05 12:01:31.302:ERROR / AndroidRuntime(19930):at android.os.Looper.loop(Looper.java:123)10-05 12:01:31.302: 错误/ AndroidRuntime(19930):at android.app.ActivityThread.main(ActivityThread.java:4627)10-05 12:01:31.302:ERROR / AndroidRuntime(19930):at java.lang.reflect.Method.invokeNative(Native Method)10-05 12:01:31.302:ERROR / AndroidRuntime(19930):at java.lang.reflect.Method.invoke(Method.java:521)10-05 12:01:31.302: 错误/ AndroidRuntime(19930):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868) 10-05 12:01:31.302:ERROR / AndroidRuntime(19930):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)10-05 12:01:31.302:ERROR / AndroidRuntime(19930):at dalvik.system.NativeStart.main(原生方法)
请告诉我我做错了什么...... 谢谢
答案 0 :(得分:1)
确保初始化SQLiteDatabase对象并打开数据库。以下是DatabaseHelper类的概念。您也可以为此课程找到合适的代码段。
public DatabaseHelper(Context aContext)
{
sqlDB = aContext.openOrCreateDatabase(DatabaseName, SQLiteDatabase.CREATE_IF_NECESSARY, null);
OpenHelper openHelper = new OpenHelper(aContext, sqlDB);
sqlDB = openHelper.getWritableDatabase();
}
这里sqlDB是您的SQLiteDatabase对象。 OpenHelper是一个打开数据库的助手类。
OpenHelper(Context context, SQLiteDatabase sql_db)
{
super(context, DatabaseName, null,DatabaseVersion);
onCreate(sql_db);
}
您可以实现自己的构造函数和类。获得更多关于此的帮助。它易于使用DatabaseHelper类实现和处理。