Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.tass.login_teste.database;
- private static final String DB_NAME = "login";
- private static final int DB_VERSION = 1;
- private static final String DB_TABLE = "create table user (id integer primary key autoincrement, " +
- "usuario text not null, " +
- "senha text not null, " +
- "nome_completo text not null, " +
- "matricula text not null);";
- public DatabaseHelper(Context context) {
- super(context, DB_NAME, null, DB_VERSION);
- }
- @Override
- public void onCreate(SQLiteDatabase database) {
- database.execSQL(DB_TABLE);
- }
- @Override
- public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {
- Log.w(DatabaseHelper.class.getName(),
- "Upgrading databse from version" + oldVersion + "to "
- + newVersion + ", which will destroy all old data");
- database.execSQL("DROP TABLE IF EXISTS user");
- onCreate(database);
- }
- package com.tass.login_teste.database;
- private Context context;
- private SQLiteDatabase database;
- private DatabaseHelper dbHelper;
- public DatabaseAdapter(Context context) {
- this.context = context;
- }
- public DatabaseAdapter open() throws SQLException {
- dbHelper = new DatabaseHelper(context);
- database = dbHelper.getWritableDatabase();
- return this;
- }
- public void close() {
- dbHelper.close();
- }
- public long criarUsuario(String usuario, String senha, String nome_completo, String matricula) {
- ContentValues initialValues = createUserTableContentValues(usuario, senha, nome_completo, matricula);
- return database.insert(LOGIN_TABLE, null, initialValues);
- }
- public boolean deleteUser(long rowId) {
- return database.delete(LOGIN_TABLE, COL_ID + "=" + rowId, null) > 0;
- }
- public boolean updateUserTable(long rowId, String usuario, String senha, String nome_completo, String matricula) {
- ContentValues updateValues = createUserTableContentValues(usuario, senha, nome_completo, matricula);
- return database.update(LOGIN_TABLE, updateValues, COL_ID + "=" + rowId, null) > 0;
- }
- public Cursor fetchAllUsers() {
- return database.query(LOGIN_TABLE, new String[] { COL_ID, COL_USUARIO,
- COL_SENHA }, null, null, null, null, null);
- }
- public Cursor fetchUser(String username, String password) {
- Cursor myCursor = database.query(LOGIN_TABLE,
- new String[] { COL_ID, COL_USUARIO, COL_SENHA },
- COL_USUARIO + "='" + username + "' AND " +
- COL_SENHA + "='" + password + "'", null, null, null, null);
- if (myCursor != null) {
- myCursor.moveToFirst();
- }
- return myCursor;
- }
- public Cursor fetchUserById(long rowId) throws SQLException {
- Cursor myCursor = database.query(LOGIN_TABLE,
- new String[] { COL_ID, COL_USUARIO, COL_SENHA },
- COL_ID + "=" + rowId, null, null, null, null);
- if (myCursor != null) {
- myCursor.moveToFirst();
- }
- return myCursor;
- }
- private ContentValues createUserTableContentValues(String usuario, String senha, String nome_completo, String matricula) {
- ContentValues values = new ContentValues();
- values.put(COL_USUARIO, usuario);
- values.put(COL_SENHA, senha);
- values.put(COL_NOME_COMPLETO, nome_completo);
- values.put(COL_MATRICULA, matricula);
- return values;
- }
- public class login extends Activity {
- public static final String MY_PREFS = "SharedPreferences";
- private DatabaseAdapter dbHelper;
- private EditText theUsername;
- private EditText thePassword;
- private Button loginButton;
- private Button registerButton;
- private Button clearButton;
- private Button exitButton;
- private CheckBox rememberDetails;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- SharedPreferences mySharedPreferences = getSharedPreferences(MY_PREFS, 0);
- SharedPreferences.Editor editor = mySharedPreferences.edit();
- editor.putLong("uid", 0);
- editor.commit();
- dbHelper = new DatabaseAdapter(this);
- dbHelper.open();
- setContentView(R.layout.login);
- initControls();
- }
- private void initControls() {
- //Set the activity layout.
- theUsername = (EditText) findViewById(R.id.Username);
- thePassword = (EditText) findViewById(R.id.Password);
- loginButton = (Button) findViewById(R.id.Login);
- registerButton = (Button) findViewById(R.id.Register);
- clearButton = (Button) findViewById(R.id.Clear);
- exitButton = (Button) findViewById(R.id.Exit);
- rememberDetails = (CheckBox) findViewById(R.id.RememberMe);
- //Create touch listeners for all buttons.
- loginButton.setOnClickListener(new Button.OnClickListener() {
- public void onClick(View v) {
- LogMeIn(v);
- }
- });
- registerButton.setOnClickListener(new Button.OnClickListener() {
- public void onClick(View v) {
- Register(v);
- }
- });
- clearButton.setOnClickListener(new Button.OnClickListener() {
- public void onClick(View v) {
- ClearForm();
- }
- });
- exitButton.setOnClickListener(new Button.OnClickListener() {
- public void onClick(View v) {
- Exit();
- }
- });
- //Create remember password check box listener.
- rememberDetails.setOnClickListener(new CheckBox.OnClickListener() {
- public void onClick(View v) {
- RememberMe();
- }
- });
- //Handle remember password preferences.
- SharedPreferences prefs = getSharedPreferences(MY_PREFS, 0);
- String thisUsername = prefs.getString("username", "");
- String thisPassword = prefs.getString("password", "");
- boolean thisRemember = prefs.getBoolean("remember", false);
- if (thisRemember) {
- theUsername.setText(thisUsername);
- thePassword.setText(thisPassword);
- rememberDetails.setChecked(thisRemember);
- }
- }
- private void Exit() {
- finish();
- }
- private void ClearForm() {
- saveLoggedInUId(0, "", "");
- theUsername.setText("");
- thePassword.setText("");
- }
- private void RememberMe() {
- boolean thisRemember = rememberDetails.isChecked();
- SharedPreferences prefs = getSharedPreferences(MY_PREFS, 0);
- SharedPreferences.Editor editor = prefs.edit();
- editor.putBoolean("remember", thisRemember);
- editor.commit();
- }
- private void LogMeIn(View v) {
- //Get the username and password
- String thisUsername = theUsername.getText().toString();
- String thisPassword = thePassword.getText().toString();
- //Assign the hash to the password
- thisPassword = md5(thisPassword);
- Cursor theUser = dbHelper.fetchUser(thisUsername, thisPassword);
- if (theUser != null) {
- startManagingCursor(theUser);
- if (theUser.getCount() > 0) {
- saveLoggedInUId(theUser.getLong(theUser.getColumnIndex(DatabaseAdapter.COL_ID)), thisUsername, thePassword.getText().toString());
- stopManagingCursor(theUser);
- theUser.close();
- Intent i = new Intent(v.getContext(), Menu.class);
- //Intent i = new Intent(v.getContext(), teste.class);
- startActivity(i);
- }
- //Returns appropriate message if no match is made
- else {
- Toast.makeText(getApplicationContext(),
- "Você digitou um nome de usuário ou senha incorreto.",
- Toast.LENGTH_SHORT).show();
- saveLoggedInUId(0, "", "");
- }
- stopManagingCursor(theUser);
- theUser.close();
- } else {
- Toast.makeText(getApplicationContext(),
- "Erro de consulta de banco de dados",
- Toast.LENGTH_SHORT).show();
- }
- }
- private void Register(View v) {
- Intent i = new Intent(v.getContext(), Register.class);
- startActivity(i);
- }
- private void saveLoggedInUId(long id, String username, String password) {
- SharedPreferences settings = getSharedPreferences(MY_PREFS, 0);
- SharedPreferences.Editor myEditor = settings.edit();
- myEditor.putLong("uid", id);
- myEditor.putString("username", username);
- myEditor.putString("password", password);
- boolean rememberThis = rememberDetails.isChecked();
- myEditor.putBoolean("rememberThis", rememberThis);
- myEditor.commit();
- }
- private String md5(String s) {
- try {
- MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
- digest.update(s.getBytes());
- byte messageDigest[] = digest.digest();
- StringBuffer hexString = new StringBuffer();
- for (int i = 0; i < messageDigest.length; i++)
- hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
- return hexString.toString();
- } catch (NoSuchAlgorithmException e) {
- return s;
- }
- }
Add Comment
Please, Sign In to add comment