我正在创建sign_up和sign_in页面,并且键入editview的数据将存储在数据库中。 因此,对于数据库,我创建一个名为DBAdapter.java的类,而我的另一个文件是signup.java和login.java。 所以我想这样做,当我点击提交按钮数据将被存储在数据库中。 但问题是,我不能使用DBAdapter.java的实例数据库到login.java文件中的登录按钮的提交按钮和相同问题的onclick事件。Android:使用一个类的实例到另一个类的问题
感谢提前...
public class DBAdapter
{
public static final String KEY_ROWID = "_id";
public static final String KEY_FIRSTNAME = "FirstName";
public static final String KEY_LASTNAME = "LastName";
public static final String KEY_USERNAME = "UserName";
public static final String KEY_PASSWORD = "Password";
private static final String TAG = "DBAdapter";
private static final String DATABASE_NAME = "master";
private static final String DATABASE_TABLE = "register";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_CREATE =
"create table titles (_id integer primary key autoincrement, "
+ "FirstName text not null, LastName text not null, "
+ "UserName text not null, Password text not null);";
private final Context context;
private DatabaseHelper DBHelper;
private SQLiteDatabase db;
public DBAdapter(Context ctx)
{
this.context = ctx;
DBHelper = new DatabaseHelper(context);
}
private static class DatabaseHelper extends SQLiteOpenHelper
{
DatabaseHelper(Context context)
{
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db)
{
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion,
int newVersion)
{
Log.w(TAG, "Upgrading database from version " + oldVersion
+ " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS titles");
onCreate(db);
}
}
和signup.java
public class SignUp extends Activity {
private EditText firstname;
private EditText lastname;
private EditText username;
private EditText password;
public String first_name;
public String last_name;
public String user_name;
public String pass_word;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DBAdapter db = new DBAdapter(this);
firstname = (EditText) findViewById(R.id.ev_fname);
lastname = (EditText) findViewById(R.id.ev_lname);
username = (EditText) findViewById(R.id.ev_uname);
password = (EditText) findViewById(R.id.ev_password);
final Button button = (Button) findViewById(R.id.btn_submit);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
first_name = firstname.getText().toString();
last_name = lastname.getText().toString();
user_name = username.getText().toString();
pass_word = password.getText().toString();
Intent goToNextActivity = new Intent(getApplicationContext(), link.class);
startActivity(goToNextActivity);
}
});
被这些方法标记为公共的?如果我们能看到一些代码会更好。 – Samuh 2011-02-28 04:58:28
@Samuh我编辑我的问题...我的问题是我不能在onclick事件中使用DBAdapter的实例 – Harry 2011-02-28 05:05:35