2012-03-19 65 views
1

我正在创建一个登录应用程序,其中在EditText中输入的数据将在一个变量中获得一个单击java文件中的按钮,并且该值将存储到sqlite数据库中我已经创建,但是当我在EditText中输入值并单击按钮时,我没有将任何数据库创建到文件资源管理器中。文件资源管理器dos不显示任何数据库

这里是我的代码:

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();  
    }  
    } 

我是新的android上。任何帮助表示赞赏。

+0

你可以上传文件资源管理器的截图,在你的包内显示你的数据库文件夹? – 2012-03-19 07:11:20

+0

请给我你的电子邮件地址Shashank .... – Ashu 2012-03-19 07:25:04

+0

我认为最终的字符串uid;和最后的弦乐psw;不收集价值............ – Ashu 2012-03-19 07:30:45

回答

0

我为类的不同功能创建了一个新的DBAdapter类,如打开,关闭,更新插入和检索数据。然后,我创建了另一个类来访问布局资源,在那里我调用了按钮单击事件上DBAdapter类的方法。

在我的代码的前一篇文章中,我发现每当我将数据插入到数据库中时,我都会创建一个新的数据库,那就是我认为造成的问题。现在我分离所有的方法并单独调用它们。

相关问题