大家好,
我已经构建了一个示例应用程序,它从用户那里获取输入并将其保存在数据库的表中。我为我的应用程序创建了自己的数据库并将数据保存在其中。每件事似乎都很好。前几天,我启动了 Eclipse IDE 并开始运行我的应用程序。我无法在我的应用程序中看到任何数据。
当我在文件资源管理器(DDMS)中看到时,没有数据库(我的数据库、表、其中的所有数据都丢失了)。我听说 SQLite 数据库是持久的。我使用通用语法来创建数据库和表。请任何人告诉我为什么会这样。
这是我的 MainActivity.java,
public class MainActivity extends Activity {
public final android.content.Context Context = MainActivity.this;
public String ReadingMode = "";
public String Value = "";
public String DialogStatus = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button saveWaterReadingToDB = (Button) findViewById(R.id.saveReading);
saveWaterReadingToDB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String TABLE_NAME = "WaterElectricity";
String COLUMN_NAME_READING_ID = "_Id";
String COLUMN_NAME_READING_MODE = "ReadingMode";
String COLUMN_NAME_PASTDATETIME = "StartDateTime";
String COLUMN_NAME_READINGVALUE = "ReadingValue";
final SQLiteDatabase DB = Context.openOrCreateDatabase(
"WaterElectricityReadingDataBase.db",
MODE_WORLD_READABLE, null);
final String CREATE_TABLE = "create table if not exists "
+ TABLE_NAME + " (" + COLUMN_NAME_READING_ID
+ " integer primary key autoincrement,"
+ COLUMN_NAME_READING_MODE + " text not null,"
+ COLUMN_NAME_PASTDATETIME + " date not null, "
+ "EndDateTime date not null, "
+ COLUMN_NAME_READINGVALUE + " integer not null" + ");";
DB.execSQL(CREATE_TABLE);
}
});
}
谢谢。