我有以下应用程序用户必须注册(电子邮件,通过,高,重)..然后他将使用电子邮件登录并传递 - >选择计算BMI选项 - >在此活动中我想显示结果登录用户的BMI计算..是他们检索BMIActivity中的(权重,高度)还是我必须有意图传递它的任何方法?
我使用过SQLite Database Helper .
我只想让导游如何思考这个问题 .
以下是该按钮的主页代码
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));
}}
2 回答
如果只需要两个值,即高度和宽度,那么您也可以使用共享首选项来存储登录按钮,在经过一些验证检查和BMIActivity之后单击,是的,您也可以根据您的要求按意图传递值直接显示值,无需使用SQLite数据库 .
当用户注册时,您可以将他/她的BMI保存在DB表的单独列中,其主键是用户的电子邮件,当用户登录时,您可以根据电子邮件获取该记录 .