文件浏览器不显示任何数据库

问题描述 投票:2回答:1

我正在创建一个登录应用程序,在该应用程序中,单击Java文件中的按钮时,在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();      
    }      
  }
android android-database
1个回答
0
投票
我为该类的不同功能创建了一个新的DBAdapter类,例如用于打开,关闭,更新插入和检索数据。然后,我制作了另一个类来访问布局资源,在按钮单击事件中调用了DBAdapter类的方法。

在我的代码的上一篇文章中,我发现每次将数据插入数据库时​​,我都会创建一个新数据库,这就是我认为造成的问题。现在,我将所有方法分开并分别调用。

© www.soinside.com 2019 - 2024. All rights reserved.