如何在 android 上使用 putExtra JsonObject 意图?
How to use intent putExtra JsonObject on android?
如何使用putExtra获取JsonObject?我想要 JSON 文本来显示另一个 activity.
@Override
protected String doInBackground(Void... v) {
HashMap<String, String> params = new HashMap<>();
params.put(KEY_MEMBER_ID, memberId);
params.put(KEY_PWD, pwd);
JSONParser jParser = new JSONParser();
JSONObject json = jParser.sendPostRequest(GlobalVariabel.URL_LOGIN_MEMBER, params);
System.out.println("URL :######### "+GlobalVariabel.URL_LOGIN_MEMBER);
try {
status = json.getString("STATUS");
System.out.println("STATUSSSSSSSSSSSSSSSSSS : " + status);
System.out.println(json);
JSONObject jObj = json.getJSONObject("PROFILE");
if (jObj != null) {
user_id = jObj.getString("USER_ID");
profile_url = jObj.getString("PROFILE_URL");
date_joined = jObj.getString("DATE_JOINED");
phone_type = jObj.getString("PHONE_TYPE");
email = jObj.getString("EMAIL");
name = jObj.getString("NAME");
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
我想获取 JsonObject 电子邮件和名称 intent.putExtra 给另一个 activity.
Intent intent = new Intent(getActivity(), MainActivity.class);
intent.putExtra(".... ", ....);
//intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
就这样
转到 onPostExcute() 方法
proctected void onPostExcute(String result){
Intent intent = new Intent(getActivity(), MainActivity.class);
intent.putExtra("YOUR_KEY ", result);// result contains all jsonObject value
//intent.setFlags(intent.getFlags() |Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);}
希望对您有所帮助。 :)
json实际上是一个"String"具有确定格式的文本。
第一个选项:
我建议您将它传递给 String 以通过 putExtra 发送,然后将其重新映射到 json 对象:
Intent intent = new Intent(getActivity(), MainActivity.class);
intent.putExtra("JSON_OBJECT", json.toString());
//intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
并通过以下方式检索:
String jsonObject = intent.getStringExtra("JSON_OBJECT");
之后,您将不得不重新构建 json 对象。
第二个选项:
将 json 对象转换为实现 Serializable 或 Parcelable 的 POJO 对象并通过以下方式发送:
intent.putExtra("POJO_OBJECT", myJsonObject);
并通过以下方式检索:
MyJsonObject myjsonObject = (MyJsonObject)intent.getParcelableExtra("POJO_OBJECT", myJsonObject);
试试这个
//将全局字符串作为 String JsonOutput="";
@Override
protected String doInBackground(Void... v) {
HashMap<String, String> params = new HashMap<>();
params.put(KEY_MEMBER_ID, memberId);
params.put(KEY_PWD, pwd);
JSONParser jParser = new JSONParser();
JSONObject json = jParser.sendPostRequest(GlobalVariabel.URL_LOGIN_MEMBER, params);
System.out.println("URL :######### "+GlobalVariabel.URL_LOGIN_MEMBER);
try {
status = json.getString("STATUS");
System.out.println("STATUSSSSSSSSSSSSSSSSSS : " + status);
System.out.println(json);
JSONObject jObj = json.getJSONObject("PROFILE");
JsonOutput=jobj.toString(); //convert your json to string here.
if (jObj != null) {
user_id = jObj.getString("USER_ID");
profile_url = jObj.getString("PROFILE_URL");
date_joined = jObj.getString("DATE_JOINED");
phone_type = jObj.getString("PHONE_TYPE");
email = jObj.getString("EMAIL");
name = jObj.getString("NAME");
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
在 postExecute() 中
proctected void onPostExcute(){
Intent intent = new Intent(yourActivity.this, MainActivity.class);
intent.putExtra("YOUR_KEY ", JsonOutput);// result contains all jsonObject value
//intent.setFlags(intent.getFlags() |Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}
in MainActivity.class //你想从哪里获得这些细节。
String Jsonoutput=getIntent().getExtras().getString("Your Key");
JSONObject job=new JSOObject(Jsonoutput);
//now parse this job to get your name and email.or anuy other data in jobj.
希望对您有所帮助。
用于发送 json
Intent intent = new Intent(getActivity(), MainActivity.class);
intent.putExtra("json", jsonObject.toString());
startActivity(intent);
用于检索
if(getIntent().hasExtra("json")) {
JsonObject mJsonObject = new JsonObject(getIntent().getStringExtra("json"));
}
如何使用putExtra获取JsonObject?我想要 JSON 文本来显示另一个 activity.
@Override
protected String doInBackground(Void... v) {
HashMap<String, String> params = new HashMap<>();
params.put(KEY_MEMBER_ID, memberId);
params.put(KEY_PWD, pwd);
JSONParser jParser = new JSONParser();
JSONObject json = jParser.sendPostRequest(GlobalVariabel.URL_LOGIN_MEMBER, params);
System.out.println("URL :######### "+GlobalVariabel.URL_LOGIN_MEMBER);
try {
status = json.getString("STATUS");
System.out.println("STATUSSSSSSSSSSSSSSSSSS : " + status);
System.out.println(json);
JSONObject jObj = json.getJSONObject("PROFILE");
if (jObj != null) {
user_id = jObj.getString("USER_ID");
profile_url = jObj.getString("PROFILE_URL");
date_joined = jObj.getString("DATE_JOINED");
phone_type = jObj.getString("PHONE_TYPE");
email = jObj.getString("EMAIL");
name = jObj.getString("NAME");
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
我想获取 JsonObject 电子邮件和名称 intent.putExtra 给另一个 activity.
Intent intent = new Intent(getActivity(), MainActivity.class);
intent.putExtra(".... ", ....);
//intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
就这样
转到 onPostExcute() 方法
proctected void onPostExcute(String result){
Intent intent = new Intent(getActivity(), MainActivity.class);
intent.putExtra("YOUR_KEY ", result);// result contains all jsonObject value
//intent.setFlags(intent.getFlags() |Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);}
希望对您有所帮助。 :)
json实际上是一个"String"具有确定格式的文本。
第一个选项:
我建议您将它传递给 String 以通过 putExtra 发送,然后将其重新映射到 json 对象:
Intent intent = new Intent(getActivity(), MainActivity.class);
intent.putExtra("JSON_OBJECT", json.toString());
//intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
并通过以下方式检索:
String jsonObject = intent.getStringExtra("JSON_OBJECT");
之后,您将不得不重新构建 json 对象。
第二个选项:
将 json 对象转换为实现 Serializable 或 Parcelable 的 POJO 对象并通过以下方式发送:
intent.putExtra("POJO_OBJECT", myJsonObject);
并通过以下方式检索:
MyJsonObject myjsonObject = (MyJsonObject)intent.getParcelableExtra("POJO_OBJECT", myJsonObject);
试试这个 //将全局字符串作为 String JsonOutput="";
@Override
protected String doInBackground(Void... v) {
HashMap<String, String> params = new HashMap<>();
params.put(KEY_MEMBER_ID, memberId);
params.put(KEY_PWD, pwd);
JSONParser jParser = new JSONParser();
JSONObject json = jParser.sendPostRequest(GlobalVariabel.URL_LOGIN_MEMBER, params);
System.out.println("URL :######### "+GlobalVariabel.URL_LOGIN_MEMBER);
try {
status = json.getString("STATUS");
System.out.println("STATUSSSSSSSSSSSSSSSSSS : " + status);
System.out.println(json);
JSONObject jObj = json.getJSONObject("PROFILE");
JsonOutput=jobj.toString(); //convert your json to string here.
if (jObj != null) {
user_id = jObj.getString("USER_ID");
profile_url = jObj.getString("PROFILE_URL");
date_joined = jObj.getString("DATE_JOINED");
phone_type = jObj.getString("PHONE_TYPE");
email = jObj.getString("EMAIL");
name = jObj.getString("NAME");
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
在 postExecute() 中
proctected void onPostExcute(){
Intent intent = new Intent(yourActivity.this, MainActivity.class);
intent.putExtra("YOUR_KEY ", JsonOutput);// result contains all jsonObject value
//intent.setFlags(intent.getFlags() |Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}
in MainActivity.class //你想从哪里获得这些细节。
String Jsonoutput=getIntent().getExtras().getString("Your Key");
JSONObject job=new JSOObject(Jsonoutput);
//now parse this job to get your name and email.or anuy other data in jobj.
希望对您有所帮助。
用于发送 json
Intent intent = new Intent(getActivity(), MainActivity.class);
intent.putExtra("json", jsonObject.toString());
startActivity(intent);
用于检索
if(getIntent().hasExtra("json")) {
JsonObject mJsonObject = new JsonObject(getIntent().getStringExtra("json"));
}