2016-11-13 6 views
-4

私はログインしたパスワードを確認し、データベースにログインして一緒に行く(ログインデータベースの情報に基づいて)、アンドロイドスタジオでログイン機能を作成しようとしています。ユーザが「ボタンチェックログイン」をクリックしたときに発生する 情報が正確であれば、ユーザーはウェルカムスクリーンに移動するはずです。入力したログインとパスワードが有効であることを確認するには

私はデータベースに基づいて情報をチェックする方法に苦しんでいます。助けてください!

答えて

0

pseduoコードに従ってください:

final String email = emailEditText.getText().toString(); 
      if (!isValidEmail(email)) { 
       emailEditText.setError("Invalid Email"); 
      } 

      final String pass = passEditText.getText().toString(); 
      if (!isValidPassword(pass)) { 
       passEditText.setError("Invalid Password"); 
      } 
// validating email id 
private boolean isValidEmail(String email) { 
    String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" 
      + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"; 

    Pattern pattern = Pattern.compile(EMAIL_PATTERN); 
    Matcher matcher = pattern.matcher(email); 
    return matcher.matches(); 
} 

// validating password with retype password 
private boolean isValidPassword(String pass) { 
    if (pass != null && pass.length() > 6) { 
     return true; 
    } 
    return false; 
} 
+0

が助けてくれてありがとう、私は実際にデータベースに保存されているもので、パスワードとログインをチェックしようとしています – Kath

2

次をご覧ください:

DataBaseHelper.java

package com.example.login; 

import android.content.Context; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteDatabase.CursorFactory; 
import android.database.sqlite.SQLiteOpenHelper; 
import android.util.Log; 

public class DataBaseHelper extends SQLiteOpenHelper 
{ 
public DataBaseHelper(Context context, String name,CursorFactory factory, int version) 
{ 
      super(context, name, factory, version); 
} 
// Called when no database exists in disk and the helper class needs 
// to create a new one. 
@Override 
public void onCreate(SQLiteDatabase _db) 
{ 
     _db.execSQL(LoginDataBaseAdapter.DATABASE_CREATE); 

} 
// Called when there is a database version mismatch meaning that the version 
// of the database on disk needs to be upgraded to the current version. 
@Override 
public void onUpgrade(SQLiteDatabase _db, int _oldVersion, int _newVersion) 
{ 
     // Log the version upgrade. 
     Log.w("TaskDBAdapter", "Upgrading from version " +_oldVersion + " to " +_newVersion + ", which will destroy all old data"); 


     // Upgrade the existing database to conform to the new version. Multiple 
     // previous versions can be handled by comparing _oldVersion and _newVersion 
     // values. 
     // The simplest case is to drop the old table and create a new one. 
     _db.execSQL("DROP TABLE IF EXISTS " + "TEMPLATE"); 
     // Create a new one. 
     onCreate(_db); 
    } 

} 

LoginDataBaseAdapter.java

public class LoginDataBaseAdapter 
{ 
     static final String DATABASE_NAME = "login.db"; 

     static final int DATABASE_VERSION = 1; 

     public static final int NAME_COLUMN = 1; 
     // TODO: Create public field for each column in your table. 
     // SQL Statement to create a new database. 
     static final String DATABASE_CREATE = "create table "+"LOGIN"+ 
            "(" +"ID"+" integer primary key autoincrement,"+ "USERNAME text,PASSWORD text); "; 

     // Variable to hold the database instance 
     public SQLiteDatabase db; 
     // Context of the application using the database. 
     private final Context context; 
     // Database open/upgrade helper 
     private DataBaseHelper dbHelper; 
     public LoginDataBaseAdapter(Context _context) 
     { 
       context = _context; 
       dbHelper = new DataBaseHelper(context, DATABASE_NAME, null, DATABASE_VERSION); 
     } 

     // Method to openthe Database 
     public LoginDataBaseAdapter open() throws SQLException 
     { 
       db = dbHelper.getWritableDatabase(); 
       return this; 
     } 

     // Method to close the Database 
     public void close() 
     { 
       db.close(); 
     } 

     // method returns an Instance of the Database 
     public SQLiteDatabase getDatabaseInstance() 
     { 
       return db; 
     } 

      // method to insert a record in Table 
     public void insertEntry(String userName,String password) 
     { 


        ContentValues newValues = new ContentValues(); 
        // Assign values for each column. 
        newValues.put("USERNAME", userName); 
        newValues.put("PASSWORD",password); 



        // Insert the row into your table 
        db.insert("LOGIN", null, newValues); 
        Toast.makeText(context, "User Info Saved", Toast.LENGTH_LONG).show(); 


     } 

     // method to delete a Record of UserName 
     public int deleteEntry(String UserName) 
     { 

       String where="USERNAME=?"; 
       int numberOFEntriesDeleted= db.delete("LOGIN", where, new String[]{UserName}) ; 
       Toast.makeText(context, "Number fo Entry Deleted Successfully : "+numberOFEntriesDeleted, Toast.LENGTH_LONG).show(); 
      return numberOFEntriesDeleted; 

     } 

    // method to get the password of userName 
    public String getSinlgeEntry(String userName) 
    { 


      Cursor cursor=db.query("LOGIN", null, " USERNAME=?", new String[]{userName}, null, null, null); 
      if(cursor.getCount()<1) // UserName Not Exist 
       return "NOT EXIST"; 
      cursor.moveToFirst(); 
      String password= cursor.getString(cursor.getColumnIndex("PASSWORD")); 
      return password; 


    } 

// Method to Update an Existing Record 
    public void updateEntry(String userName,String password) 
    { 
      // create object of ContentValues 
      ContentValues updatedValues = new ContentValues(); 
      // Assign values for each Column. 
      updatedValues.put("USERNAME", userName); 
      updatedValues.put("PASSWORD",password); 

      String where="USERNAME = ?"; 
      db.update("LOGIN",updatedValues, where, new String[]{userName}); 

    } 


} 

SignUpActivity.java

public class SignUPActivity extends Activity 
{ 

     EditText editTextUserName,editTextPassword,editTextConfirmPassword; 
     Button btnCreateAccount; 

     LoginDataBaseAdapter loginDataBaseAdapter; 
     @Override 
     protected void onCreate(Bundle savedInstanceState) 
     { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.signup); 

       // get Instance of Database Adapter 
       loginDataBaseAdapter=new LoginDataBaseAdapter(this); 
       loginDataBaseAdapter=loginDataBaseAdapter.open(); 

       // Get Refferences of Views 
       editTextUserName=(EditText)findViewById(R.id.editTextUserName); 
       editTextPassword=(EditText)findViewById(R.id.editTextPassword); 
       editTextConfirmPassword=(EditText)findViewById(R.id.editTextConfirmPassword); 

       btnCreateAccount=(Button)findViewById(R.id.buttonCreateAccount); 


       btnCreateAccount.setOnClickListener(new View.OnClickListener() { 

        public void onClick(View v) { 
         // TODO Auto-generated method stub 

         String userName=editTextUserName.getText().toString(); 
         String password=editTextPassword.getText().toString(); 
         String confirmPassword=editTextConfirmPassword.getText().toString(); 

         // check if any of the fields are vaccant 
         if(userName.equals("")||password.equals("")||confirmPassword.equals("")) 
         { 
           Toast.makeText(getApplicationContext(), "Field Vaccant", Toast.LENGTH_LONG).show(); 
           return; 
         } 
         // check if both password matches 
         if(!password.equals(confirmPassword)) 
         { 
          Toast.makeText(getApplicationContext(), "Password Does Not Matches", Toast.LENGTH_LONG).show(); 
          return; 
         } 
         else 
         { 
           // Save the Data in Database 
           loginDataBaseAdapter.insertEntry(userName, password); 
           Toast.makeText(getApplicationContext(), "Account Successfully Created ", Toast.LENGTH_LONG).show(); 
         } 


        } 
       }); 
     } 


     @Override 
     protected void onDestroy() { 
      // TODO Auto-generated method stub 
      super.onDestroy(); 

      loginDataBaseAdapter.close(); 
     } 

} 
関連する問題