2012-03-19 12 views
1

나는 EditText에 입력 된 데이터가 자바 파일의 버튼을 클릭하면 변수에 들어갈 로그인 응용 프로그램을 만들고 있는데 그 값은 sqlite 데이터베이스에 저장됩니다. 내가 만들었지 만 EditText에서 값을 입력하고 버튼을 클릭하면 파일 탐색기에 데이터베이스가 만들어지지 않았습니다. 나는 안드로이드에 새로운 오전파일 탐색기 어떤 데이터베이스도 보여주지 않겠습니까?

import java.util.Locale; 
import android.app.Activity; 
import android.content.ContentValues; 
import android.database.sqlite.SQLiteDatabase; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

public class AAAActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     EditText userid = (EditText)findViewById(R.id.et_un); 
     EditText password = (EditText)findViewById(R.id.et_pw); 
     final String uid; 
     final String pwd; 

     uid = userid.getText().toString(); 
     pwd = password.getText().toString(); 

     Button btn = (Button)findViewById(R.id.btn_login); 
     btn.setOnClickListener(new OnClickListener(){ 
     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      InsertUser(uid, pwd); 
      show();     
      } 
      }); 

    }  

    public void InsertUser(String user_name, String password){ 
     //SQLiteDatabase db; 
     SQLiteDatabase db; 
     db = openOrCreateDatabase("TestData.db", SQLiteDatabase.CREATE_IF_NECESSARY, 
       null); 

     try{ 

      db.setVersion(1); 
      db.setLocale(Locale.getDefault()); 
      db.setLockingEnabled(true); 
      /*final String CREATE_TABLE_USERS = "CREATE TABLE users (" + "id INTEGER 
        PRIMARY KEY AUTOINCREMENT,"+" LoginName text not null, Password 
            text not null);"; */   
      String CREATE_TABLE_USERS = "CREATE TABLE users (" + "id INTEGER PRIMARY KEY 
       AUTOINCREMENT,"+" LoginName text not null, Password text not null);"; 

     db.execSQL(CREATE_TABLE_USERS); 

     ContentValues values = new ContentValues(); 
     values.put("LoginName", user_name); 
     values.put("Password", password); 
     db.insert("users", null, values); 
      } 
     catch(Exception e){ 
      } 
     } 
    public void show(){ 

    Toast toast=Toast.makeText(this, "your data is received", Toast.LENGTH_SHORT); 
    toast.show();  
    }  
    } 

:

여기 내 코드입니다. 어떤 도움을 주셔서 감사합니다.

+0

패키지 안에 데이터베이스 폴더를 보여주는 파일 탐색기의 스크린 샷을 업로드 할 수 있습니까 ?? –

+0

제 이메일 주소를 보내주십시오 Shashank .... – Ashu

+0

final string uid; 그리고 마지막 String psw; 값을 수집하지 마십시오 ............ – Ashu

답변

0

열기, 닫기, 업데이트 삽입 및 검색 데이터와 같은 클래스의 다른 기능에 대해 새 DBAdapter 클래스를 만들었습니다. 그런 다음 버튼 클릭 이벤트에서 DBAdapter 클래스의 메서드를 호출 한 레이아웃 리소스에 액세스 할 다른 클래스를 만들었습니다.

내 코드의 이전 게시물에서 데이터베이스에 데이터를 삽입 할 때마다 새 데이터베이스를 만들 때마다 문제가 발생한다고 생각했습니다. 이제 모든 메소드를 분리하고 개별적으로 호출합니다.

관련 문제