使用多个 activity 将值插入同一个 regist/row
Insert values into same regist/row using more than one activity
我将举例说明我想要实现的目标:
假设我有一个名为“5Fruits”的 table 有 6 个营地:
ID - Fruit1 - Fruit2 - Fruit3 - Fruit4 - Fruit5
使用 3 种不同的活动(或更多)我想先插入 activity fruit1,然后我有一个按钮 "next" 打开另一个 activity 我插入 fruit2 和fruit 3 然后又是一个按钮 "next" 打开最后一个 activity 我插入 fruit4 和 fruit5.
并将五个水果保存在同一行,注册,随便什么。
我怎样才能做到这一点?它一定很简单,但我没有弄明白。
谢谢
您可以使用 putExtra 方法在活动之间传输一些数据。就这样。
Define a stringArray in your mainActivity. And put Fruit1 in.
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);
For your other activities.
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);
}
Your Last Activity
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
It's not good way. Because using multiple activities for a just process that decreases your application performance.
You can use with Fragments or dynamically creation Buttons and EditTexts and your process in a one Activity.
我将举例说明我想要实现的目标:
假设我有一个名为“5Fruits”的 table 有 6 个营地:
ID - Fruit1 - Fruit2 - Fruit3 - Fruit4 - Fruit5
使用 3 种不同的活动(或更多)我想先插入 activity fruit1,然后我有一个按钮 "next" 打开另一个 activity 我插入 fruit2 和fruit 3 然后又是一个按钮 "next" 打开最后一个 activity 我插入 fruit4 和 fruit5.
并将五个水果保存在同一行,注册,随便什么。
我怎样才能做到这一点?它一定很简单,但我没有弄明白。 谢谢
您可以使用 putExtra 方法在活动之间传输一些数据。就这样。
Define a stringArray in your mainActivity. And put Fruit1 in.
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);
For your other activities.
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);
}
Your Last Activity
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
It's not good way. Because using multiple activities for a just process that decreases your application performance. You can use with Fragments or dynamically creation Buttons and EditTexts and your process in a one Activity.