Подключение к базе данных, проверка данных, страница входа - PullRequest
1 голос
/ 08 июля 2010

В последний год я участвую в крупном проекте, и я очень плохо знаком с Android, а также плохо разбираюсь в кодировке.Мне нужна помощь с моей страницей входа.Я создал что-то вроде java-файла подключения к базе данных:

    package one.two;

import java.util.List;

import android.app.ListActivity;
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;
import java.util.ArrayList;

    public class UserDB 
    {
     public String KEY_USERNAME = "Username";
     public  String KEY_PASSWORD = "Password";
     public String KEY_LNAME = "LastName";
     public String KEY_FNAME = "FirstName";

     private static final String DATABASE_NAME = "Users";
     private static final String DATABASE_TABLE = "User";

     private static final int DATABASE_VERSION = 1;

     private static Context context;

     private static DatabaseHelper DBHelper;
     private static SQLiteDatabase db;

     public UserDB(Context ctx)
     {
      this.context = ctx;
      DBHelper = new DatabaseHelper(context);
     }

     private static class DatabaseHelper extends SQLiteOpenHelper
     {
      DatabaseHelper(Context context)
      {
       super(context, "Users", null, 1);
      }

      @Override
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
      {
      }

      @Override
      public void onCreate(SQLiteDatabase db)
      {
      }
     }//end DatabaseHelper

     // ---opens the database---
     public UserDB open() throws SQLException
     {
      db = DBHelper.getWritableDatabase();
      return this;
     }

     // ---closes the database---
     public void close()
     {
      DBHelper.close();
     }


    }

Я уже создал базу данных для пользователей, использующих SQLite.Имя базы данных - «Пользователи», а таблица - «Пользователь».Записи внутри таблицы: имя пользователя, пароль, фамилия, имя.Я вставил информацию одного пользователя в базу данных.Проблема в том, что я не знаю, правильный ли мой UserDB.java.

И я также создал login.java.Страница входа в жестком коде:

    package one.two;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.ListView;
import android.widget.TextView;



public class Login extends Activity implements OnClickListener{


 UserDB db = new UserDB(this);
/** Called when the activity is first created. */

 private EditText etUsername;
 private EditText etPassword;
 private Button btnLogin;
 //private Button btnRegister;
 private TextView lblResult;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.login);
     // Get the EditText and Button References
        etUsername = (EditText)findViewById(R.id.usernametxt);
        etPassword = (EditText)findViewById(R.id.passwordtxt);
        btnLogin = (Button)findViewById(R.id.btnLogin);
        //btnRegister = (Button)findViewById(R.id.btnRegister);
        lblResult = (TextView)findViewById(R.id.msglbl);

        //Cursor c = (Cursor) db.getAllTitles();

        Button btnArrival = (Button) findViewById(R.id.btnRegister);
     btnArrival.setOnClickListener(this);


    // Set Click Listener
    btnLogin.setOnClickListener(new OnClickListener() {
 @Override
 public void onClick(View v) {
  // Check Login
  String username = etUsername.getText().toString();
  String password = etPassword.getText().toString();

  if(username.equals("guest") && password.equals("guest")){
   lblResult.setText("Login successful.");
  } else {
   lblResult.setText("Login failed. Username and/or password doesn't match.");
  }
 }
});



 }

    public void onClick(View v)
 {
   Intent intent = new Intent(this, DatabaseActivity.class);
   startActivity(intent);
}

}

Итак, я хочу знать, как мне применить соединение с базой данных в файле login.java.Должен ли я вставить соединение с базой данных что-то вроде db.Open () ;?Я изучал ASP.Net несколько месяцев назад, и я как бы забыл большую часть того, что узнал.

Итак, как мне открыть соединение с базой данных на login.java и как проверить с базой данных, входит ли пользовательправильное имя пользователя и пароль?

1 Ответ

1 голос
/ 26 июля 2010

Вам нужно искать в Интернете больше примеров базы данных.

Хороший сайт будет anddev.org

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...