使用多个活动将值插入到同一个注册/行中

时间:2016-06-05 16:48:35

标签: android mysql android-database

我将举例说明我想要实现的目标:

假设我有一个名为“5Fruits”的桌子,有6个阵营:

ID - Fruit1 - Fruit2 - Fruit3 - Fruit4 - Fruit5

使用3个不同的活动(或更多)我想在第一个活动上插入fruit1,然后我有一个按钮“next”打开另一个活动,我插入fruit2和fruit 3然后再一个按钮“next”打开我插入fruit4和fruit5的最后一个活动。

将五个水果保存在同一行,注册,无论如何。

我怎样才能做到这一点?它必须简单,但我不能搞清楚。 感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用 putExtra 方法在活动之间传输一些数据。就像那样。

  

在mainActivity中定义 stringArray 。并将Fruit1放入。

       String[] myFruits= new String[6];
       myFruits[0] = "apple";

       //Start your second activity.
       Intent intent = new Intent(this, secondActivity.class); 
       intent.putExtra("myExtras", myFruits); 
       startActivity(intent);
  

适合您的其他活动。

String[] myFruits;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.bla_bla_bla);

              //gets oldFruits.
    Intent intent = getIntent();
    myFruits = intent.getStringArrayExtra("myExtras");
}
private void sendFruits()
{
    myFurits[i] = "banana";  // "i" is your fruit number;
    Intent intent = new Intent(this, otherActivities.class);
    intent.putExtra("myExtras", myFruits);    //sends new fruits
    startActivity(intent);
}
  

您的上一次活动

private SQLiteDatabase sqw;
String[] myFruits;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.bla_bla_bla);

              //gets oldFruits.
    Intent intent = getIntent();
    myFruits = intent.getStringArrayExtra("myExtras");
}



//if your id column is not AUTOINCREMENT, you can add query in.

String query = "INSERT INTO YOURTABLE (Fruit1,Fruit2,Fruit3,Fruit4,Fruit5)
        VALUES("'+myFruits[0]+'","'+myFruits[1]+'","'+myFruits[2]+'","'+myFruits[3]+'","'+myFruits[4]+'");";
sqw = new YOURDB().getWritableDatabas();   //get your db openhelper instance 
sqw.execSQL(query);    //your fruits inserted
  

这不是好方法。因为对正常进程使用多个活动会降低应用程序性能。   您可以在一个活动中使用碎片动态创建按钮和EditTexts以及您的流程

相关问题