我正在调用一个 Web 服务来从 json 中获取一个对象,然后我需要将该对象传递给另一个 Web 服务,该对象是我制作的字符串。我在 AsyncTask 中调用了每个 Web 服务。我无法将第一个名为 map 的 jsonObject 传递给另一个子类。不用担心 actaul 调用,我想将字符串“map”传递给第二个 AsyncTask 以便能够在网络调用中使用它。这两个类都是子类。
public class aisleStoreID extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... params) {
String urlExtension = "getpartnerstore?latitude=" + lat + "&longitude=" + lng + "&partner_id=" + "60" + "&vendor_store_nbr=" + id + "";
final String authToken = Utils.md5(urlExtension);
String urlString = "http://aisle411.ws/webservices2/getpartnerstore.php?latitude=" + lat + "&longitude=" + lng + "&partner_id=" + 60 + "&vendor_store_nbr=" + id + "&auth=" + authToken;
InputStream inputStream = null;
try {
HttpResponse response = ConnectionHelper.executeHttpGetStoreMap(urlString);
HttpEntity entity = response.getEntity();
inputStream = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
result = sb.toString();
if (response != null) {
result = response.toString();
JSONObject jsonObject = new JSONObject(String.valueOf(sb));
JSONArray arr = jsonObject.getJSONArray("stores");
JSONObject jObj = arr.getJSONObject(0);
String map = jObj.getString("store_map_url");
Intent intent = new Intent(this, getStoreMap.class);
intent.putExtra("retailer_store_id", map);
startActivity(intent);
}
} catch (Exception e) {
System.out.println(e.getMessage());
return e.getMessage();
}
return result;
}
@Override
protected void onPostExecute(String result) {
System.out.println(" What's in it" + result);
}
}
public class getStoreMap extends AsyncTask<String, String, String> {
Bundle bundle = getIntent().getExtras();
String storeMap = bundle.getString("retailer_store_id");
@Override
protected String doInBackground(String... params) {
String urlExtension = "map?latitude=" + lat + "&longitude=" + lng + "&partner_id=" + "60" + "&retailer_store_id=" + map + "";
final String authToken = Utils.md5(urlExtension);
String urlString = "http://aisle411.ws/webservices2/map.php?latitude=" + lat + "&longitude=" + lng + "&partner_id=" + 60 + "&retailer_store_id=" + map + "&auth=" + authToken;*/
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
}
}
最佳答案
尝试将提取 storeMap
的代码从 extras
移至 doInBackground
方法。
关于java - 将字符串从一个子类传递到另一个子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33534346/