Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 未创建Sqlite数据库或DatabaseHandler.java的构造函数不工作_Android - Fatal编程技术网

Android 未创建Sqlite数据库或DatabaseHandler.java的构造函数不工作

Android 未创建Sqlite数据库或DatabaseHandler.java的构造函数不工作,android,Android,数据库没有创建,我不明白为什么 LoginActivity.java public class LoginActivity extends Activity implements OnClickListener { DatabaseHandler mdb; private EditText user, pass; private Button mSubmit, mRegister; // Progress Dialog private ProgressDialog pDialog; //J

数据库没有创建,我不明白为什么

LoginActivity.java

public class LoginActivity extends Activity implements OnClickListener {


DatabaseHandler mdb;
private EditText user, pass;
private Button mSubmit, mRegister;

// Progress Dialog
private ProgressDialog pDialog;
//JSON parser class
JSONParser jsonParser = new JSONParser();


private static final String LOGIN_URL = "http://10.0.2.2/Baby/Baby_login_api/login.php";
//从真实服务器进行测试:

//private static final String LOGIN_URL = "http://www.yourdomain.com/webservice/login.php";
//JSON element ids from repsonse of php script:
private static final String TAG_SUCCESS = "success";
private static final String TAG_MESSAGE = "error_msg";
private static final String TAG_ID = "uid";
private static final String TAG_NAME = "name";
private static final String TAG_MOBILE = "mobile";
private static final String TAG_MB_CONFIRM = "mb_confirm";


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

    //setup input fields
    user = (EditText)findViewById(R.id.loginEmail);
    pass = (EditText)findViewById(R.id.loginPassword);

    mdb= new DatabaseHandler(this);

    //setup buttons
    mSubmit = (Button)findViewById(R.id.btnLogin);
    mRegister = (Button)findViewById(R.id.btnLinkToRegisterScreen);

    //register listeners
    mSubmit.setOnClickListener(this);
    mRegister.setOnClickListener(this); 


}

public void onClick(View v) {
    switch (v.getId()) {
    case R.id.btnLogin:
        new AttemptLogin().execute();
        break;
    case R.id.btnLinkToRegisterScreen:
        Intent i = new Intent(this, RegisterActivity.class);
        startActivity(i);
        break;

    default:
            break;
    }
}
还有DatabaseHandler来创建数据库,但在这里我无法访问构造函数

public class DatabaseHandler extends SQLiteOpenHelper{

 private static final int DATABASE_VERSION =1;
 private static final String DATABASE_NAME = "BabyApplication.db";
 private static final String TABLE_NAME = "login";

 private static final String KEY_ID = "id";
 private static final String KEY_USER_ID = "u_id";
 private static final String KEY_NAME = "name";
 private static final String KEY_MOBILE = "mobile";
 private static final String KEY_MOBILE_CONFIRM = "mobile_confirm";


 public DatabaseHandler(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        // TODO Auto-generated constructor stub
    }



// private static final String STRING_CREATE = "CREATE TABLE "+TABLE_NAME+" (_id INTEGER PRIMARY KEY AUTOINCREMENT, "
            //+COL_NAME+" TEXT, "+COL_DATE+" DATE);";

 private static final String CREATE_TABLE = "CREATE TABLE "+TABLE_NAME+
        "(id INTEGER PRIMARY KEY AUTOINCREMENT, "
            +KEY_ID+" TEXT, "
            +KEY_NAME+" TEXT, "
            + KEY_MOBILE+" TEXT, "
            + KEY_MOBILE_CONFIRM+" TEXT);";


@Override
public void onCreate(SQLiteDatabase db) {
    // TODO Auto-generated method stub
    Log.d("TIS IS STARTING", "1");
    db.execSQL(CREATE_TABLE);
    Log.d("CREated", "Table");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
    onCreate(db);

}


public void addUser(String u_id, String u_name, String u_mobile,
        String u_mb_confirm) {
    // TODO Auto-generated method stub
    Log.d("This is test", u_name);

}


}

尝试更改您的活动以包括以下内容。这些方法实际上根据各自的文档进行创建/打开/缓存

mdb=newdatabasehandler(这个);
mdb.getWritableDatabase()

mdb=newdatabasehandler(这个);

mdb.getReadableDatabase()

您可以在GoodLuck中找到解决方案