Я читал много учебников, но мне все еще сложно. Затем я скопирую часть в Eclipse, чтобы попробовать, и она не работает. . Я проверяю файл, проверяя, что база данных не создана. Следующее - мой код. пожалуйста, помогите и спасибо.Почему моя база данных SQL не создана? (Android)
Это помощник базы данных.
package com.example.trydb;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DBHelper extends SQLiteOpenHelper {
public static final String TABLE_NAME = "friends";
public static final String NAME = "name";
public static final String TEL = "tel";
public static final String EMAIL = "email";
private final static String DATABASE_NAME = "demo.db";
private final static int DATABASE_VERSION = 1;
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
Log.d("Database operations","Database created ");
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + NAME + "CHAR," + TEL + "CHAR," + EMAIL + "CHAR);");
Log.d("Database operations","Database created successfully");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
final String DROP_TABLE = "DROP TABLE IF EXISTS " + TABLE_NAME;
db.execSQL(DROP_TABLE);
onCreate(db);
}
}
И это основное мероприятие.
package com.example.trydb;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends ActionBarActivity {
private DBHelper dbhelper ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbhelper = new DBHelper(this);
dbhelper.close();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Вы пропустили пробелы в своем запросе создания. (но ничего, что вы бы не узнали, просто потратив время на чтение stacktrace.) – njzk2
Прежде всего - предоставить журнал. После этого - удалите 'dbhelper.close()'. ** Почему? ** Подробнее о подключении и использовании 'SQLite' в ** Android **. –