Android 根据JSON数据移动到多个活动
我有一些JSON数据-Android 根据JSON数据移动到多个活动,android,Android,我有一些JSON数据- { "ActivityOrder":[ { "Position":3, "ActivityName":"Activity1" }, { "Position":5, "ActivityName":"Activity2" }, { "Position":2, "ActivityName":"Activity3" }, { "Position":1, "ActivityName":"Activity4" }, { "Position":4, "ActivityName":"Ac
{
"ActivityOrder":[
{
"Position":3,
"ActivityName":"Activity1"
},
{
"Position":5,
"ActivityName":"Activity2"
},
{
"Position":2,
"ActivityName":"Activity3"
},
{
"Position":1,
"ActivityName":"Activity4"
},
{
"Position":4,
"ActivityName":"Activity5"
}
]
}
根据上面的JSON数据,从单个活动或类调用Intent。我的意思是首先调用位置1活动(活动4),然后调用位置2活动3,依此类推
注意:-在JSON数据中,可以从后端更改活动位置。一旦获得活动名称,请按如下方式创建类:
Class activity= Class.forName("yourActivityName");
然后创建意图:
Intent intent = new Intent(this, activity);
创建pojo模型类:
public class MyPojo {
String ActivityName;
int Position;
public MyPojo(String activityName, int position) {
ActivityName = activityName;
Position = position;
}
public int getPosition() {
return Position;
}
public void setPosition(int position) {
Position = position;
}
public String getActivityName() {
return ActivityName;
}
public void setActivityName(String activityName) {
ActivityName = activityName;
}
}
现在将json解析为模型:
List<MyPojo> MyPojoList=new ArrayList<>();
try {
JSONObject jObj = new JSONObject("your json response");
JSONArray jArr = jObj.getJSONArray("ActivityOrder");
for (int i=0; i < jArr.length(); i++) {
JSONObject obj = jArr.getJSONObject(i);
String Position = jObj.getString("Position");
String ActivityName = jObj.getString("ActivityName");
MyPojoList.add(new MyPojo(ActivityName,Position));
}
}
catch(JSONException ex) {
ex.printStackTrace();
}
解析json并存储在pojo模型中。然后,按位置排序的模型keyis活动名称将从backend@DivyeshPatel-位置键可能已更改…@AbhinavGupta-名称未更改,但activityName的位置将更改
Collections.sort(MyPojoList, new Comparator<MyPojo>(){
public int compare(MyPojo obj1, MyPojo obj2) {
return Integer.valueOf(obj1.getPosition()).compareTo(Integer.valueOf(obj2.getPosition()));
}
});
Intent intent=new Intent();
intent.setComponent(new ComponentName(getApplicationContext(), MyPojoList.get(position).getActivityName()));
try {
startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}