【问题标题】:Display Data in android application for specific activity在 android 应用程序中显示特定活动的数据
【发布时间】: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


【解决方案1】:

如果只需要两个值,即高度和宽度,您还可以使用共享首选项来存储在一些验证检查后单击登录按钮和 BMIActivity 上,是的,您还可以根据您的意图传递值要求可以直接显示值,不需要使用SQLite数据库。

【讨论】:

    【解决方案2】:

    当用户注册时,您可以将他/她的 BMI 保存在数据库表的单独列中,其主键是用户的电子邮件,当用户登录时,您可以根据电子邮件获取该记录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-14
      • 2019-07-30
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多