The problems with the code appear to be twofold:


1.  The comparison of the username and password is case-sensitive, which it 
probably shouldn't be (*maybe* for password, probably not for username)


2.  The passwords are stored insecurely in the database, whereas an MD5 
hash would be preferred.



On Tuesday, September 11, 2012 9:07:51 AM UTC-5, jesweer wrote:
>
> public class loginactivity extends Activity{
>
> @Override
> protected void onCreate(Bundle savedInstanceState) {
> // TODO Auto-generated method stub
> super.onCreate(savedInstanceState);
> setContentView(R.layout.activity_main);
> Log.e("oncreate", "inside oncreate");
>  final EditText userid = (EditText) findViewById(R.id.userid);
>     final EditText userpassword = (EditText) 
> findViewById(R.id.userpassword);
> Button b1 = (Button) findViewById(R.id.button1);
> b1.setOnClickListener(new OnClickListener(){
>
> public void onClick(View v) {
> Log.e("onclick","inside onclick"); 
> String username = userid.getText().toString();
> String password = userpassword.getText().toString();
> try{
> Log.e("try","inside try");
> if(username.length() > 0 && password.length() >0)
> {
> DatabaseAdapter dbUser = new DatabaseAdapter(loginactivity.this);
> dbUser.open();
> Log.e("if", "inside if loop");
> if(dbUser.Login(username, password))
> {
> Toast.makeText(loginactivity.this,"Successfully Logged In", 
> Toast.LENGTH_LONG).show();
> }else{
> Toast.makeText(loginactivity.this,"Invalid Username/Password", 
> Toast.LENGTH_LONG).show();
> }
> dbUser.close();
> }
>  }catch(Exception e)
> {
> Toast.makeText(loginactivity.this,e.getMessage(), 
> Toast.LENGTH_LONG).show();
> }
> }
>  });
>  }
> }
>
>
>
>
> package com.example.mylogin;
>
> 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;
> import android.util.Log;
>
>
>
> public class DatabaseAdapter{
> public static final String KEY_ROWID = "_id";
> 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 = "usersdb";
> private static final String DATABASE_TABLE = "users";
> private static final int DATABASE_VERSION = 1;
>
> private static final String DATABASE_CREATE = "create table users (_id 
> integer primary key autoincrement, "
> + "username text not null, " + "password text not null);";
>
> private Context context = null;
> private DatabaseHelper DBHelper;
> private SQLiteDatabase db;
>
> public DatabaseAdapter(Context ctx) {
> this.context = ctx;
> DBHelper = new DatabaseHelper(context);
> }
>
> public static class DatabaseHelper extends SQLiteOpenHelper {
> DatabaseHelper(Context context) {
>  super(context, DATABASE_NAME, null, DATABASE_VERSION);
> }
>
> public void onCreate(SQLiteDatabase db) {
> db.execSQL(DATABASE_CREATE);
> }
>
> 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 users");
> onCreate(db);
> }
> }
>
> public boolean Login(String username, String password) 
> {
> Cursor mCursor = db.rawQuery("SELECT * FROM " + DATABASE_TABLE
> + " WHERE username=? AND password=?", new String[] { username,
> password });
> if (mCursor != null) {
> if (mCursor.getCount() > 0) 
> {
> return true;
> }
> }
>
> return false;
> }
>
> public void open() throws SQLException {
> db = DBHelper.getWritableDatabase();
> }
>
> public void close() throws SQLException {
> DBHelper.close();
> }
>
> public long AddUser(String username, String password) {
> ContentValues initialValues = new ContentValues();
> initialValues.put(KEY_USERNAME, username);
> initialValues.put(KEY_PASSWORD, password);
> return db.insert(DATABASE_TABLE, null, initialValues);
>
> }
> }
>
>
>
>
> i'm having problem with this program please help me
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to