我试图从3个编辑文本中收集数据并将其保存以用于其他活动。 代码如下(我已经编辑了代码,只显示一个edittext for convinence)
EditText holdersala = (EditText) findViewById(R.id.rawsalary);
String holdersalary = holdersala.getText().toString();
final int salary = Integer.parseInt(holdersalary);
SQLiteDatabase datab = openOrCreateDatabase("yourdata", MODE_PRIVATE, null);
datab.execSQL("CREATE TABLE IF NOT EXISTS MainData (Salafig INT);");
datab.execSQL("INSERT INTO MainData VALUES (@salary);");
datab.close();
然后我在另一个活动中检索此信息并将其保存到textview
TextView bn = (TextView) findViewById(R.id.budget_need);
SQLiteDatabase datab = openOrCreateDatabase("yourdata", MODE_PRIVATE, null);
Cursor c = datab.rawQuery("SELECT * FROM MainData", null);
c.moveToFirst();
bn.setText(c.getString(c.getColumnIndex("Salafig")));
datab.close();
由于某些原因,当我运行应用程序时,textview为空白。请帮忙。提前谢谢。
答案 0 :(得分:0)
这里有一些建议。 SQLite与常规SQL =)
略有不同您的第一个datab.execSQL("CREATE TABLE IF NOT EXISTS MainData (Salafig INT);");
应如下所示:
datab.execSQL("CREATE TABLE MainData (Salafig INTEGER);");
如果表已经存在,SQLite将不会覆盖您的表,并且使用整数代替int。
您的第二个查询datab.execSQL("INSERT INTO MainData VALUES (@salary);");
应替换为:
ContentValues values = new ContentValues();
values.put("Salafig", salary);
datab.insert("MainData", null, values);
最后,您的bn.setText(c.getString(c.getColumnIndex("Salafig")));
应替换为:
bn.setText(c.getInt("Salafig") + "");