I'm currently doing my thesis on Android Application Development, and I want to create a Register Screen where user can Input their data and the data stored in a SQLite database, I have watched the new boston channel on youtube about this function, and do the exact same way, but it doesn't work. I don't know whats wrong, I don't even know whether my data has been inputted correctly or not, Can you guys please help me to tell me whats wrong in these code? Thank you.
package com.thesis.teamizer;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class Database {
public static final String DATABASE_NAME = "TeamizerDB.db";
public static final String TABLE_MEMBER = "Member";
public static final int DATABASE_VERSION = 1;
public static final String MEMBER_USERNAME = "Username";
public static final String MEMBER_PASSWORD = "Password";
public static final String MEMBER_EMAIL = "Email";
public static final String MEMBER_PHONE = "Phone";
public DbHelper ourHelper;
private final Context ourContext;
private SQLiteDatabase ourDatabase;
public static class DbHelper extends SQLiteOpenHelper {
public DbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE " + TABLE_MEMBER + " (" + MEMBER_USERNAME
+ " TEXT PRIMARY KEY NOT NULL, " + MEMBER_PASSWORD
+ " TEXT NOT NULL, " + MEMBER_EMAIL + " TEXT NOT NULL, "
+ MEMBER_PHONE + "INTEGER NOT NULL);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS " + TABLE_MEMBER);
onCreate(db);
}
}
public Database(Context c) {
ourContext = c;
}
public Database open() throws SQLException {
ourHelper = new DbHelper(ourContext);
ourDatabase = ourHelper.getWritableDatabase();
return this;
}
public void close() {
ourHelper.close();
}
public boolean createEntry(String username, String pass, String email,
String phone) {
// TODO Auto-generated method stub
ContentValues cv = new ContentValues();
cv.put(MEMBER_USERNAME, username);
cv.put(MEMBER_PASSWORD, pass);
cv.put(MEMBER_EMAIL, email);
cv.put(MEMBER_PHONE, phone);
ourDatabase.insert(TABLE_MEMBER, null, cv);
return true;
}
public String getData() {
// TODO Auto-generated method stub
String[] columns = new String[] { MEMBER_USERNAME, MEMBER_PASSWORD,
MEMBER_EMAIL, MEMBER_PHONE };
Cursor c = ourDatabase.query(TABLE_MEMBER, columns, null, null, null,
null, null);
/*
* Cursor c = ourDatabase.query(TABLE_MEMBER, columns, null, null, null,
* null, null);
*/
String result = "";
int iUsername = c.getColumnIndex(MEMBER_USERNAME);
int iPassword = c.getColumnIndex(MEMBER_PASSWORD);
int iEmail = c.getColumnIndex(MEMBER_EMAIL);
int iPhone = c.getColumnIndex(MEMBER_PHONE);
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
result = result + c.getString(iUsername) + "\n";
}
return result;
}
}
RegisScreen.java
package com.thesis.teamizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class RegisScreen extends Activity {
private EditText emailEditText;
private EditText usernameEditText;
private EditText passEditText;
private EditText confPassEditText;
private EditText phoneEditText;
private Button registerButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.regis_screen);
declaration();
validation();
}
private void validation() {
// TODO Auto-generated method stub
registerButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
int flag = 0;
final String username = usernameEditText.getText().toString();
final String email = emailEditText.getText().toString();
final String pass = passEditText.getText().toString();
final String confpas = confPassEditText.getText().toString();
final String phone = phoneEditText.getText().toString();
// Validating username
if (!isValidUsername(username)) {
usernameEditText
.setError("Username Must be Filled, Have at Least 6 Characters Long, and Must Not Contain Space");
flag++;
}
// Validating email
if (!isValidEmail(email)) {
emailEditText.setError("Invalid Email Format");
flag++;
}
// Validating password
if (!isValidPassword(pass)) {
passEditText.setError("Invalid Password");
flag++;
}
// Validating confirm password
if (!isValidConfPass(confpas, pass)) {
confPassEditText.setError("Password missmatch");
flag++;
}
// Validating phone
if (!isValidPhone(phone)) {
phoneEditText
.setError("Phone can only between 10-12 digits long");
flag++;
}
// If every validation == true
if (flag == 0) {
boolean didItWork = true;
try {
Database entry = new Database(RegisScreen.this);
entry.open();
entry.createEntry(username, pass, email, phone);
entry.close();
} catch (Exception e) {
} finally {
if (didItWork) {
Dialog d = new Dialog(RegisScreen.this);
d.setTitle("Yoii");
TextView tv = new TextView(RegisScreen.this);
tv.setText("Success");
d.setContentView(tv);
d.show();
}
}
Intent intent = new Intent("com.thesis.teamizer.SQLVIEWS");
startActivity(intent);
}
}
});
}
private void declaration() {
// TODO Auto-generated method stub
usernameEditText = (EditText) findViewById(R.id.editText_username);
emailEditText = (EditText) findViewById(R.id.editText_email);
passEditText = (EditText) findViewById(R.id.editText_password);
confPassEditText = (EditText) findViewById(R.id.editText_confpassword);
phoneEditText = (EditText) findViewById(R.id.editText_phone);
registerButton = (Button) findViewById(R.id.btn_signup);
}
// Username Validation
private boolean isValidUsername(String username) {
// TODO Auto-generated method stub
if (username != null && username.length() > 6
&& !username.contains(" ")) {
return true;
}
return false;
}
// Email Validation
private boolean isValidEmail(String email) {
String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
Pattern pattern = Pattern.compile(EMAIL_PATTERN);
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
// Password Validation
private boolean isValidPassword(String pass) {
if (pass != null && pass.length() > 6) {
return true;
}
return false;
}
private boolean isValidConfPass(String confpas, String pass) {
if (confpas.equals(pass)) {
return true;
}
return false;
}
private boolean isValidPhone(String phone) {
if (phone.length() > 9 || phone.length() < 13) {
return true;
}
return false;
}
}
SQLViews.java
package com.thesis.teamizer;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class SQLViews extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.sqlview);
TextView tv = (TextView) findViewById(R.id.tvSQLinfo);
Database info = new Database (this);
info.open();
String data = info.getData();
info.close();
tv.setText(data);
}
}
0 comments:
Post a Comment