I am trying to create a login and register activity for a Tic Tac Toe game I am creating for an Android device. I have created two activities; DBHandler and Login, which should enable the database to be created. However, when I go to view it in DDMS view, no folders or files have been created.
DB Handler Class:
package com.example.tictactoe;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHandler extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 8;
private static final String DATABASE_NAME = "userDB.db";
private static final String TABLE_USER = "user";
public static final String COLUMN_ID = "id";
public static final String COLUMN_LOGIN = "login";
public static final String COLUMN_PASSWORD = "password";
public DBHandler(Context context, String name, CursorFactory factory,
int version) {
super(context, DATABASE_NAME, factory, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String CREATE_USER_TABLE = "CREATE TABLE " + TABLE_USER + " ("
+ COLUMN_ID + " INTEGER PRIMARY KEY, " + COLUMN_LOGIN + " TEXT, "
+ COLUMN_PASSWORD + " TEXT" + ")";
db.execSQL(CREATE_USER_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
public void addUser(Login user) {
ContentValues values = new ContentValues();
values.put(COLUMN_LOGIN, user.getLogin());
values.put(COLUMN_PASSWORD, user.getPassword());
SQLiteDatabase db = this.getWritableDatabase();
db.insert(TABLE_USER, null, values);
db.close();
}
public Login loginUser(String username, String password) {
String query = "Select * FROM " + TABLE_USER + " WHERE " + COLUMN_LOGIN + " = \"" +
username + "\"" + " AND " + COLUMN_PASSWORD +"=\""+password+"\"";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(query, null);
Login user = new Login();
if (cursor.moveToFirst()) {
cursor.moveToFirst();
user.setID(Integer.parseInt(cursor.getString(0)));
cursor.close();
} else {
user = null;
}
db.close();
return user;
}
}
Login Class:
package com.example.tictactoe;
public class Login {
private int id;
private String login;
private String password;
public Login() {
}
public Login(int id, String login, String password) {
this.id = id;
this.login = login;
this.password = password;
}
public Login(String login, String password) {
this.login = login;
this.password = password;
}
public void setID(int id) {
this.id = id;
}
public int getID() {
return this.id;
}
public void setLogin(String login) {
this.login = login;
}
public String getLogin() {
return this.login;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return this.password;
}
}
Login Activity:
package com.example.tictactoe;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
public class MainloginActivity extends Activity implements OnClickListener {
EditText txtUsername;
EditText txtPassword;
ImageButton login_button;
ImageButton register_button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mainlogin);
txtPassword = (EditText) findViewById(R.id.txtPassword);
txtUsername = (EditText) findViewById(R.id.txtUsername);
register_button = (ImageButton) findViewById(R.id.btn_userlogin);
register_button.setOnClickListener(this);
register_button.setEnabled(false);
}
public void newUser(View view) {
DBHandler dbHandler = new DBHandler(this, null, null, 1);
String password = (txtUsername.getText().toString());
Login User = new Login(txtPassword.getText().toString(), password);
dbHandler.addUser(User);
txtPassword.setText("");
txtUsername.setText("");
}
public void loginUser(View view) {
DBHandler dbHandler = new DBHandler(this, null, null, 1);
Login user = dbHandler.loginUser(txtPassword.getText().toString(),
txtUsername.getText().toString());
if (user != null) {
register_button.setEnabled(true);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.mainlogin, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i;
switch (v.getId()) {
case R.id.btn_userlogin:
i = new Intent(this, Homepage.class);
startActivity(i);
break;
}
}
}
Any help is appreciated, thank you.
Aucun commentaire:
Enregistrer un commentaire