我在插入字符串值时遇到问题(user_name,password) 进入一个表,名为login。 以下是代码: 我已添加“//这就是问题发生的地方”注释以突出显示问题...包含所有数据库相关方法的DBAdapter类也在此代码之后给出..
package images.tests.proj;
import java.io.IOException;
import images.tests.proj.DBAdapter;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.database.Cursor;
public class username extends Imagetest1Activity {
/** Called when the activity is first created. */
private DBAdapter db1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.username);
Button lbtn = (Button) findViewById(R.id.loginb);
Button rbtn = (Button) findViewById(R.id.registerb);
final EditText utext = (EditText) findViewById(R.id.utext);
final EditText ptext = (EditText) findViewById(R.id.ptext);
db1 = new DBAdapter(this);
rbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String ut = utext.getText().toString();
String pt = ptext.getText().toString();
try {
// THIS IS WHERE THE PROBLEM OCCURS
db1.insertContact(ut, pt);
} catch (NullPointerException e) {
Toast.makeText(username.this, "Error", Toast.LENGTH_SHORT).show();
}
}
});
}
}
DBAdapter类包含insertContact方法,如下所示:
//---insert a contact into the database---
public long insertContact(String user_name, String password)
{
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_USERNAME, user_name);
initialValues.put(KEY_PASSWORD, password);
return db.insert(DATABASE_TABLE, null, initialValues);
}
你可以指出错误吗?
任何帮助都会很明显。谢谢!
答案 0 :(得分:0)
您需要打开可在DBAdapter类中编写的数据库:
尝试:
public long insertContact(String user_name, String password)
{
db= this.getWritableDatabase();
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_USERNAME, user_name);
initialValues.put(KEY_PASSWORD, password);
return db.insert(DATABASE_TABLE, null, initialValues);
}
答案 1 :(得分:0)
使用它。
public long insertContact(String name, int moves,String time) {
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_NAME, name);
initialValues.put(KEY_MOVES, moves);
initialValues.put(KEY_TIME, time);
return db.insert(DATABASE_TABLE, null, initialValues);
}