2014-02-20 2 views
0

У меня есть проблема с моим именем для входа в SQLite для моего приложения. У меня есть простой класс DBHandler, который создал базу данных, внутри базы данных я сохранил одного пользователя: Имя пользователя: test Пароль: 1234Простой Android-приложение SQLite login

У меня также есть класс LogInScreen, который обрабатывает вид входа, а также будет содержать методы аутентификации входа.

Я хочу, чтобы пользователь вводил свои данные для входа в текстовые поля и когда они нажимают кнопку входа в систему, чтобы подтвердить это в отношении моей базы данных. Как вы можете видеть на прилагаемом изображении.

enter image description here

У меня уже есть имя пользователя, хранящуюся и это мой код

код работает, но как вы можете видеть в классе LogInScreen это не проверка на моей базе данных, но реальных текстовых полей. К сожалению, я совершенно не знаком с SQLite и программированием, поэтому просто не могу понять. Любая помощь будет высоко оценен :)

package com.C05025.noughtsandcrosses; 

import android.content.ContentValues; 
import android.content.Context; 
import android.database.Cursor; 
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 = 1; 
private static final String DATABASE_NAME = "userDB.db"; 
private static final String TABLE_USERS = "users"; 

public static final String COLUMN_NAME = "name"; 
public static final String COLUMN_PASSWORD = "password"; 

public DBHandler(Context context, String name, CursorFactory factory, 
     int version) { 
    //super(context, name, factory, 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_USERS + "(" 
       + " INTEGER PRIMARY KEY," + COLUMN_NAME + " TEXT," 
       + COLUMN_PASSWORD + " INTEGER" + ")"; 
      db.execSQL(CREATE_USER_TABLE); 
} 

@Override 
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { 
    // TODO Auto-generated method stub 

} 

public void addUser(LogIn user) { 

    ContentValues values = new ContentValues(); 
    values.put(COLUMN_NAME, user.getName()); 
    values.put(COLUMN_PASSWORD, user.getPassword()); 

    SQLiteDatabase db = this.getWritableDatabase(); 

    db.insert(TABLE_USERS, null, values); 
    db.close(); 
} 

public LogIn findUser(String Username) { 
    String query = "Select * FROM " + TABLE_USERS + " WHERE " + COLUMN_NAME + " = \"" + 
     Username + "\""; 

    SQLiteDatabase db = this.getWritableDatabase(); 

    Cursor cursor = db.rawQuery(query, null); 

    LogIn User = new LogIn(); 

    if (cursor.moveToFirst()) { 
     cursor.moveToFirst(); 
     User.setName(cursor.getString(1)); 
     User.setPassword(Integer.parseInt(cursor.getString(2))); 
     cursor.close(); 
    } else { 
     User = null; 
    } 
    db.close(); 
    return User; 
} 


} 

LoginScreen Класс:

package com.C05025.noughtsandcrosses; 

    import android.os.Bundle; 
    import android.app.Activity; 
    import android.content.Intent; 
    import android.view.Menu; 
    import android.view.View; 
    import android.widget.EditText; 
    import android.widget.Toast; 

    public class LogInScreen extends Activity { 
EditText txtUsername; 
EditText txtPassword; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.loginscreen); 
    txtUsername = (EditText) findViewById(R.id.EditUsername); 
    txtPassword = (EditText) findViewById(R.id.EditPassword); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

public void newLogIn(View view) { 

    if(txtUsername.getText().toString().equals("test") && 
      txtPassword.getText().toString().equals("1234")){ 
     Intent i = new Intent(LogInScreen.this, MainMenu.class); 
     startActivity(i);    
     LogInScreen.this.finish(); 
      } 
    else{ 
     Toast.makeText(getApplicationContext(), "Wrong Credentials", 
        Toast.LENGTH_SHORT).show(); 
      } 

        }  
      } 
+2

Пожалуйста, не повторяйте свои собственные вопросы и старайтесь изо всех сил. – Merlevede

+0

Я совершенно новый для этого места, и я попытался удалить свой другой вопрос, но он не позволит, я попытался сделать мою проблему немного яснее в этом посте, я никого не хочу раздражать :) –

ответ

0

Хотя я не очень понимаю эту проблему, и я хотел бы видеть StackTrace, this замечательный гид вы можете использовать, как добавить логин и регистрацию в свое приложение, используя SQLite, MySQL и PHP.

Смежные вопросы