Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用json从2个不同的服务器进行解析?_Android_Listview_Arraylist_Getjson - Fatal编程技术网

Android 如何使用json从2个不同的服务器进行解析?

Android 如何使用json从2个不同的服务器进行解析?,android,listview,arraylist,getjson,Android,Listview,Arraylist,Getjson,我需要帮助。 我想从2URL服务器用json进行解析,然后在1ListView中显示数组。 这是我的密码 public class MainActivity extends Activity { private JSONObject jObject; private String jsonResult =""; private JSONObject jObject2; private String jsonResult2 =""; private String url = "http://10.

我需要帮助。 我想从2URL服务器用json进行解析,然后在1ListView中显示数组。 这是我的密码

public class MainActivity extends Activity {
private JSONObject jObject;
private String jsonResult ="";
private JSONObject jObject2;
private String jsonResult2 ="";
private String url = "http://10.0.2.2/kota/daftarkota.php";
private String url2 = "http://10.0.2.2/kota/delkota.php";
private String url3 = "http://www.hatsa.byethost33.com/kota_daftarkota.php";
String[] daftarid;
String[] daftarnama;
String[] daftarlatitude;
String[] daftarlongitude;
Menu menu;
public static MainActivity ma;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ma=this;
    RefreshList();
}

public void RefreshList() {
    try {
        jsonResult = getRequest(url); 

        jObject = new JSONObject(jsonResult);
        JSONArray menuitemArray = jObject.getJSONArray("kota");

        daftarid = new String[menuitemArray.length()];
        daftarnama = new String[menuitemArray.length()];
        daftarlatitude = new String[menuitemArray.length()];
        daftarlongitude = new String[menuitemArray.length()];

        for (int i = 0; i < menuitemArray.length(); i++)
        {
            daftarid[i] = menuitemArray.getJSONObject(i).getString("id").toString();
            daftarnama[i] = menuitemArray.getJSONObject(i).getString("nama").toString();
            daftarlatitude[i] = menuitemArray.getJSONObject(i).getString("latitude").toString();
            daftarlongitude[i] = menuitemArray.getJSONObject(i).getString("longitude").toString();
        }
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    try {
        jsonResult2 = getRequest(url3); 

        jObject2 = new JSONObject(jsonResult2);
        JSONArray menuitemArray = jObject2.getJSONArray("kota");

        daftarid = new String[menuitemArray.length()];
        daftarnama = new String[menuitemArray.length()];
        daftarlatitude = new String[menuitemArray.length()];
        daftarlongitude = new String[menuitemArray.length()];

        for (int i = 0; i < menuitemArray.length(); i++)
        {
            daftarid[i] = menuitemArray.getJSONObject(i).getString("id").toString();
            daftarnama[i] = menuitemArray.getJSONObject(i).getString("nama").toString();
            daftarlatitude[i] = menuitemArray.getJSONObject(i).getString("latitude").toString();
            daftarlongitude[i] = menuitemArray.getJSONObject(i).getString("longitude").toString();
        }
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    ListView ListView01 = (ListView)findViewById(R.id.ListView01);
    ListView01.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, daftarnama));

    ListView01.setSelected(true);
    ListView01.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            final String selectionid = daftarid[arg2]; 
            final String selectionnama = daftarnama[arg2]; 
            final String selectionlatitude = daftarlatitude[arg2]; 
            final String selectionlongitude = daftarlongitude[arg2]; 
            final CharSequence[] dialogitem = {"Edit", "Delete"};
            AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
            builder.setTitle("Pilih ?");
            builder.setItems(dialogitem, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int item) {
                    switch(item){
                    case 0 :
                        Intent i = new Intent(getApplicationContext(), EditActivity.class);  
                        i.putExtra("id", selectionid);
                        i.putExtra("nama", selectionnama);
                        i.putExtra("latitude", selectionlatitude);
                        i.putExtra("longitude", selectionlongitude);
                        startActivity(i);

                        break;
                    case 1 :
                        getRequest(url2 + "?id=" + selectionid);
                        RefreshList();

                        break;
                    }
                }
            });
            builder.create().show();
        }});

    ((ArrayAdapter)ListView01.getAdapter()).notifyDataSetInvalidated();

}

/**
 * Method untuk Mengirimkan data ke server
 */
public String getRequest(String Url){

    String sret="";
    HttpClient client = new DefaultHttpClient();
    HttpGet request = new HttpGet(Url);
    try{
        HttpResponse response = client.execute(request);
        sret =request(response);

    }catch(Exception ex){
        Toast.makeText(this,"Gagal "+sret, Toast.LENGTH_SHORT).show();
    }
    return sret;

}
/**
 * Method untuk Menerima data dari server
 */
public static String request(HttpResponse response){
    String result = "";
    try{
        InputStream in = response.getEntity().getContent();
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        StringBuilder str = new StringBuilder();
        String line = null;
        while((line = reader.readLine()) != null){
            str.append(line + "\n");
        }
        in.close();
        result = str.toString();
    }catch(Exception ex){
        result = "Error";
    }
    return result;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    this.menu = menu;

    menu.add(0, 1, 0, "Tambah").setIcon(android.R.drawable.btn_plus);
    menu.add(0, 2, 0, "Refresh").setIcon(android.R.drawable.ic_menu_rotate);
    menu.add(0, 3, 0, "Exit").setIcon(android.R.drawable.ic_menu_close_clear_cancel);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case 1:
        Intent i = new Intent(MainActivity.this, AddActivity.class);
        startActivity(i);
        return true;
    case 2:            
        RefreshList();         
        return true;
    case 3:
        finish();
        return true;
    }
    return false;
}
公共类MainActivity扩展活动{
私有JSONObject作业对象;
私有字符串jsonResult=“”;
私有JSONObject jObject2;
私有字符串jsonResult2=“”;
专用字符串url=”http://10.0.2.2/kota/daftarkota.php";
专用字符串url2=”http://10.0.2.2/kota/delkota.php";
专用字符串url3=”http://www.hatsa.byethost33.com/kota_daftarkota.php";
字符串[]daftarid;
字符串[]daftarnama;
字符串[]表示纬度;
字符串[]经度;
菜单;
公共活动管理硕士;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ma=这个;
刷新列表();
}
公共空刷新列表(){
试一试{
jsonResult=getRequest(url);
jObject=新的JSONObject(jsonResult);
JSONArray menuitemArray=jObject.getJSONArray(“kota”);
daftarid=新字符串[menuitemArray.length()];
daftarnama=新字符串[menuitemArray.length()];
daftarlatitude=新字符串[menuitemArray.length()];
daftarlongitude=新字符串[menuitemArray.length()];
对于(int i=0;i