【发布时间】:2018-12-10 11:18:46
【问题描述】:
我有以下应用程序,用户必须在其中注册(电子邮件,通行证,身高,体重).. 然后他将使用电子邮件登录并通过 -> 选择计算 BMI 选项 -> 在此活动中,我想显示登录用户的 BMI 计算结果 .. 他们有什么方法可以在 BMIActivity 中检索 (Weight,Hight) 还是我必须有意地传递它?
我使用了 SQLite 数据库助手。
我只是想要一个指导者如何思考这个问题。
下面是按钮的主页代码
public void onClick(View view){
if(view==BMI){
cursor = db.rawQuery("SELECT * FROM " + DatabaseHelper.R_TABLE_NAME + " WHERE " + DatabaseHelper.R_COL_10 + "=? AND " + DatabaseHelper.R_COL_11 + "=?" , new String[]{Weight,Hight});
if(cursor!=null){
if (cursor.getCount()>0) {
cursor.moveToNext();
String Weight = cursor.getString(cursor.getColumnIndex(DatabaseHelper.R_COL_10));
String Hight = cursor.getString(cursor.getColumnIndex(DatabaseHelper.R_COL_11));
Intent i = new Intent(HomepageNActivity.this, BMIActivity.class);
i.putExtra("Weight",Weight);
i.putExtra("Hight",Hight);
startActivity(i);
}
}
}
以下是BMI计算活动
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bmi);
openHelper=new DatabaseHelper(this);
db = openHelper.getWritableDatabase();
TextView TBMI= (TextView) findViewById(R.id.textView13);
cursor = db.rawQuery("SELECT * FROM " + DatabaseHelper.R_TABLE_NAME + " WHERE " + DatabaseHelper.R_COL_10 + "=? AND " + DatabaseHelper.R_COL_11 + "=?" , new String[]{Weight,Hight});
if(cursor!=null){
if (cursor.getCount()>0) {
cursor.moveToNext();
String Weight = cursor.getString(cursor.getColumnIndex(DatabaseHelper.R_COL_10));
String Hight = cursor.getString(cursor.getColumnIndex(DatabaseHelper.R_COL_11));
}}
【问题讨论】:
-
在这两种情况下,您都在说(例如使用 10 作为权重,使用 11 作为高度)从数据库中选择权重 = 10 和高度 = 11 的行,得到重量和高度(这将是 10 和 11)。您已经知道要检索的值。因此无需检索已知值。
标签: android sqlite android-intent sqliteopenhelper