阅读android数据库。第一次询问价值并储存。如果插入值,则在下一个活动中显示该值
这个问题有点类似于我的共享偏好问题,只是它涉及到android数据库。我想在数据库中存储一个人首次启动应用程序时的工资。第二次启动时,他存储的工资将在下一个活动中以文本视图的形式查看 我大致知道如何跳过薪资提示,但不确定数据库。我的问题是,如何从数据库中读取工资不为空并在下一个活动中显示?我知道它在某种程度上涉及到一个if-else语句,比如>>(如果工资/数据库不为null,则以textview的形式开始下一个活动),但不确定如何对它们进行编码 (SavingsGuiderMenuActivity包含一个指向SavingsGuiderAppActivity的链接,该链接要求工资(目标)然后将显示到SavingsGuiderInstance活动。这意味着用户只能访问SavingsGuiderApp活动一次,下次启动时,SavingsGuiderMenu活动将直接进入SavingsGuiderInstance活动) 以下是我的代码储蓄指南活动:阅读android数据库。第一次询问价值并储存。如果插入值,则在下一个活动中显示该值,android,database,Android,Database,这个问题有点类似于我的共享偏好问题,只是它涉及到android数据库。我想在数据库中存储一个人首次启动应用程序时的工资。第二次启动时,他存储的工资将在下一个活动中以文本视图的形式查看 我大致知道如何跳过薪资提示,但不确定数据库。我的问题是,如何从数据库中读取工资不为空并在下一个活动中显示?我知道它在某种程度上涉及到一个if-else语句,比如>>(如果工资/数据库不为null,则以textview的形式开始下一个活动),但不确定如何对它们进行编码 (SavingsGuiderMenuActivi
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
Bundle bundle = getIntent().getExtras();
String name= bundle.getString("name");
TextView结果视图=(TextView)findViewById(R.id.view\u Name)
以下是我的储蓄指南插入活动代码。我觉得显示从savingsguiderappactivity页面插入数据库的数据有问题。就像我不应该使用Bundle Extras:
public class SavingsGuiderInsertActivity extends SavingsActivity {
/** Called when the activity is first created. */
String tag = "Savings Guider";
DecimalFormat df = new DecimalFormat("#.##");
protected void onCreate(Bundle savedInstance) {
super.onCreate(savedInstance);
setContentView(R.layout.insert);
Bundle bundle = getIntent().getExtras();
double target= bundle.getDouble("target");
int interval= bundle.getInt("interval");
TextView targetView=(TextView)findViewById(R.id.view\u目标);
TextView intervalView=(TextView)findViewById(R.id.view\u interval)
你可以这样做
public boolean isSalaryTableNotEmpty() {
String sql = "SELECT COUNT(*) FROM SALARY_TABLE";
Cursor cursor = database.rawQuery(sql, null);
if(!cursor.moveToFirst()) {
return false;
}
int count = cursor.getInt(0);
cursor.close();
return count > 0;
}
但是我如何测试记录是否被插入并移动到下一个意图,并检索记录以在下一页显示它呢?我也不希望应用程序提示用户更新我的答案。在代码中,我假设数据库对象已创建。键入它们后,我有错误。。。我更新了我的问题和原始代码。你添加了一堆代码,但你没有真正提到你面临的问题到底是什么。是的,我的代码片段会给出错误,因为您必须自己创建数据库对象。该代码段假定您已经创建了。为了使用数据库,您应该了解如何使用SQLiteOpenHelper。我不会帮助您编写整个解决方案:)
public class SavingsGuiderInsertActivity extends SavingsActivity {
/** Called when the activity is first created. */
String tag = "Savings Guider";
DecimalFormat df = new DecimalFormat("#.##");
protected void onCreate(Bundle savedInstance) {
super.onCreate(savedInstance);
setContentView(R.layout.insert);
Bundle bundle = getIntent().getExtras();
double target= bundle.getDouble("target");
int interval= bundle.getInt("interval");
targetView.setText("$" + target);
intervalView.setText("" + interval);
double average = target/interval;
TextView averageView = (TextView)findViewById(R.id.viewAverage);
averageView.setText("You must save $" + df.format(average) + " everytime!");
}
public boolean isSalaryTableNotEmpty() {
String sql = "SELECT COUNT(*) FROM SALARY_TABLE";
Cursor cursor = database.rawQuery(sql, null);
if(!cursor.moveToFirst()) {
return false;
}
int count = cursor.getInt(0);
cursor.close();
return count > 0;
}