2010-11-23 5 views
-2

저는 Android와 Java를 처음 사용합니다. 나는 로그인 페이지 프로그램을하고있다. 이 프로그램에서는 사용자 인증 또는 유효성 검사 프로세스를 수행하는 방법을 알지 못합니다. 데이터베이스를 사용하여 안드로이드에 로그인 페이지

public class demo extends Activity implements OnClickListener { 
/** Called when the activity is first created. */ 
EditText txtbox1, txtbox2; 
private DataHelper dh; 
Button button2, button1; 
String name1, name2, name; 
String DB_PATH, DATABASE_NAME; 
String unames; 
TextView tv; 
private static final String TABLE_NAME = "table1"; 
    private DataHelper db; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    txtbox1 = (EditText) findViewById(R.id.EditText01); 
    txtbox2 = (EditText) findViewById(R.id.EditText02); 
    button2 = (Button) findViewById(R.id.Button02); 
    button1 = (Button) findViewById(R.id.Button01); 
    button1.setOnClickListener(this); 
    button2.setOnClickListener(this); 
    tv = (TextView) this.findViewById(R.id.mywidget); 
     tv.setSelected(true); 
} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    int i = v.getId(); 
    { 
    if (i == R.id.Button01) { 
    name1 = txtbox1.getText().toString(); 
    name2 = txtbox2.getText().toString(); 

    System.out.println("txtbox1" + txtbox1); 
    System.out.println("name1" + name1); 
    System.out.println("name2" + name2); 

    StringBuilder sb = new StringBuilder(); 
    sb.append("Insert Employee Details:\n"); 
     dh = new DataHelper(this); 
      dh.deleteAll(); 
    dh.insert(name1); 
    dh.insert(name2); 

    Toast.makeText(getApplicationContext(), name1, 
     Toast.LENGTH_LONG).show(); 
    List<String> names = this.dh.selectAll(); 
    /* sb.append("Names in database:\n"); */ 
    for (String name : names) { 
    sb.append(name + "\n"); 
    System.out.println("name=" + names); 

    Log.d("EXAMPLE", "names size - " + names.size()); 
    } 

    } 
    } 
    if (i == R.id.Button02) 
    System.out.println("ok"); 
    System.out.println("name=" + unames); 

/*  GetValue(); 
*/ 
    { 
    if (name1.equals(unames)) { 
    System.out.println("ok1"); 
    Toast.makeText(getApplicationContext(), name1, 
     Toast.LENGTH_LONG).show(); 
    } else { 
    System.out.println("no"); 
    /* 
    * Toast.makeText(getApplicationContext(),no , 
    * Toast.LENGTH_LONG).show(); 
    */ 

    } 

    } 

} 
} 

데이터베이스 부분

public class DataHelper { 

private static final String DATABASE_NAME = "example1rrrr.db"; 
private static final int DATABASE_VERSION = 1; 
private static final String TABLE_NAME = "table1"; 
private static final String name = "name"; 
private static final String password = "password"; 
private static final String KEY_ROWID = "rowid"; 
private Context context; 
private static SQLiteDatabase db; 


private SQLiteStatement insertStmt; 
private static final String INSERT = "insert into " + TABLE_NAME 
    + "(name) values (?)"; 

public DataHelper(Context context) { 
    this.context = context; 
    OpenHelper openHelper = new OpenHelper(this.context); 
    this.db = openHelper.getWritableDatabase(); 
    this.insertStmt = this.db.compileStatement(INSERT); 
} 

public long insert(String name) { 
    this.insertStmt.bindString(1, name); 
    return this.insertStmt.executeInsert(); 
} 


public void deleteAll() { 
    this.db.delete(TABLE_NAME, null, null); 
} 

public List<String> selectAll() { 
    List<String> list = new ArrayList<String>(); 
    Cursor cursor = this.db.query(TABLE_NAME, new String[] { "name" }, 
    null, null, null, null, "name asc"); 
    if (cursor.moveToFirst()) { 
    do { 
    list.add(cursor.getString(0)); 
    } while (cursor.moveToNext()); 
    } 
    if (cursor != null && !cursor.isClosed()) { 
    cursor.close(); 
    } 
    return list; 
} 

private static class OpenHelper extends SQLiteOpenHelper { 

    OpenHelper(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
    db.execSQL("CREATE TABLE " + TABLE_NAME 
    + "(id INTEGER PRIMARY KEY, name TEXT)"); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    Log.w("Example", 
    "Upgrading database, this will drop tables and recreate."); 
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); 
    onCreate(db); 

    } 
+0

나는 당신이에 로그인을 시도하고있는 무슨에 따라 달라집니다 같아요. – techiServices

+0

메신저 두 버튼을 사용하여 서명하고 로그인하는 경우 로그인을 누르면 입력 데이터는 데이터베이스에 저장됩니다 다른 버튼은 인증 또는 유효성 검사 프로세스를 수행 할 것입니다 .. 그러니 제 질문은 어떻게 서명을 해주는거야? 알고 계시겠습니까? – Prasanna

+0

네트워크 인증이 아니라 로컬 인증인가요? – techiServices

답변

관련 문제