安卓数据回传计算星座
时间: 2024-02-15 14:03:15 浏览: 20
好的,我可以为您介绍如何在安卓中计算星座并回传数据。
首先,我们需要编写一个方法,用于根据出生日期计算星座。这里提供一个简单的实现:
```
public static String getConstellation(int month, int day) {
String[] constellationArr = {"摩羯座", "水瓶座", "双鱼座", "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座", "摩羯座"};
int[] constellationEdgeDay = {20, 19, 20, 20, 21, 21, 22, 23, 23, 23, 22, 22}; //每个星座的起始日期
int index = month;
if (day < constellationEdgeDay[month - 1]) {
index -= 1;
}
return constellationArr[index];
}
```
这个方法需要传入两个参数,即出生月份和出生日期,返回对应的星座名称。
接下来,在Activity B中,我们可以通过Intent将计算得到的星座名称回传给Activity A。示例代码如下:
```
//获取出生日期
int month = 5;
int day = 25;
//计算星座
String constellation = getConstellation(month, day);
//构造Intent,将星座名称回传给Activity A
Intent intent = new Intent();
intent.putExtra("constellation", constellation);
setResult(RESULT_OK, intent);
finish();
```
在Activity A中,我们可以通过重写onActivityResult()方法获取Activity B回传的数据:
```
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1 && resultCode == RESULT_OK){
String constellation = data.getStringExtra("constellation"); //获取回传的星座名称
//处理回传的星座名称
}
}
```
这样,就可以在Activity B中计算星座并将结果回传给Activity A了。