2017-02-08 2 views
-3

Ich habe eine einfache Login-App mit einer SQLite DB gemacht. Jetzt möchte ich meine Login-Daten (Benutzername, Passwort) mit meiner DB vergleichen, um fortzufahren. Was soll ich in meinem LoginActivity Code tun, um dies zu erreichen?Wie kann ich Anmeldedaten mit meiner SQLite DB in Android App vergleichen?

\\This is Registration Activity with SQLite DB "DB" 

package com.example.shahxad.myapp; 

import android.content.Intent; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 
import android.os.Handler; 
public class RegistrationActivity extends AppCompatActivity { 
public SQLiteDatabase DB; 
public EditText username, email, phone, password; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_registration); 
DB = openOrCreateDatabase("DB", MODE_PRIVATE, null); 

DB.execSQL("create table if not exists users(REC_ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME varchar(20), EMAIL VARCHAR(20), PHONE integer(10), PASSWORD VARCHAR(20))"); 
username = (EditText)findViewById(R.id.username); 
email = (EditText)findViewById(R.id.email); 
phone = (EditText)findViewById(R.id.phone); 
password = (EditText)findViewById(R.id.password); 
Button reg = (Button) findViewById(R.id.reg); 
reg.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     String sql = "insert into users(REC_ID, NAME, EMAIL, PHONE,PASSWORD) values(NULL,'" + username.getText().toString() + "','" + email.getText().toString() + "','" + phone.getText().toString() + "','" + password.getText().toString() + "')"; 
     DB.execSQL(sql); 
     Cursor cursor = DB.rawQuery("select * from users", null); 
     cursor.moveToLast(); 
     String result = cursor.getString(0).toString() + cursor.getString(1).toString() + cursor.getString(2).toString() + cursor.getString(3).toString(); 
     Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show(); 
     Intent intent = new Intent(RegistrationActivity.this, RegSplash.class); 
     startActivity(intent); 

     } 
    }); 
    } 
} 

\\This is Login Activity (these are two different activities) 

package com.example.shahxad.myapp; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class LoginActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_login); 
    Button login = (Button) findViewById(R.id.login); 
    login.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent = new Intent(LoginActivity.this, AppActivity.class); 
      startActivity(intent); 
     } 
    }); 
    } 
} 
+1

zunächst lernen, wie Daten von SQLite –

+1

wählen Daten von SQLite zu holen. Kannst du das nicht genau/was ist ein Problem? Sie wissen nicht, wie man SQL benutzt? –

+1

Sie benötigen mehr Forschung über SQLite .. Ex: http://stackoverflow.com/questions/22169752/select-query-in-sqlite-android – oyenigun

Antwort

1

die Sie interessieren,

public boolean check_login(String u_name, String u_pwd) { 

     SQLiteDatabase db = this.getWritableDatabase(); 
     String select = "SELECT * FROM users WHERE NAME ='" + u_name + "' AND PASSWORD='" + u_pwd + "'"; 

     Cursor c = db.rawQuery(select, null); 

     if (c.moveToFirst()) { 
      Log.d(TAG,"User exits"); 
      return true; 
     } 

     if(c!=null) { 
      c.close(); 
     } 
     db.close(); 
     return false; 
} 
Verwandte Themen