2017-08-26 9 views
-2

** hello dear friends、私のプロジェクトでは、ビーコンのデータを毎秒埋めるarraylistがあります。この配列LをJSONArrayに変換してURLに投稿することは可能ですか?同時に ??? **android:ArrayListをJSONに変換してURLに投稿する

'private ArrayList<Beacon> arrayL = new ArrayList<>(); 

@Override 
public void onBeaconServiceConnect() { 

    iBeaconManager.setRangeNotifier(new RangeNotifier() { 
     @Override 
     public void didRangeBeaconsInRegion(final Collection<Beacon> iBeacons, Region region) { 
      runOnUiThread(new Runnable() { 
       @Override 
       public void run() { 
        arrayL.clear(); 
        arrayL.addAll((ArrayList<Beacon>) iBeacons); 

       } 
      }); 
     } 
    });' 

enter image description here

+0

[ArrayList をJSONArrayに変換する]の複製があります(https://stackoverflow.com/questions/4841952/convert-arraylistmycustomclass-to-jsonarray) – mismanc

答えて

1

あなたはそのような何かを試みることができる:

1)サーバー

public void postData() { 
    ArrayList<String> arrayL = new ArrayList<>(); 
    JSONArray mJSONArray = new JSONArray(Arrays.asList(arrayL)); 
    URL url = null; 
    try { 
     url = new URL("http://www.android.com/"); 
    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } 
    HttpURLConnection connection = null; 
    try { 
     connection = (HttpURLConnection) url.openConnection(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    connection.setDoOutput(true); 
    connection.setDoInput(true); 
    connection.setRequestProperty("Accept", "application/json"); 
    connection.setRequestProperty("Content-Type", "application/json"); 
    try { 
     connection.setRequestMethod("POST"); 
    } catch (ProtocolException e) { 
     e.printStackTrace(); 
    } 

    for(int i = 0; i < mJSONArray.length(); i++) 
    { 
     try { 
      JSONObject objects = mJSONArray.getJSONObject(i); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
     //Iterate through the elements of the array i. 
     //Get thier value. 
     //Get the value for the first element and the value for the last element. 
    } 
    JSONObject json = new JSONObject(); 

    byte[] outputBytes = new byte[0]; 
    try { 
     outputBytes = json.toString().getBytes("UTF-8"); 
    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } 
    OutputStream os = null; 
    try { 
     os = connection.getOutputStream(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    try { 
     os.write(outputBytes); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    try { 
     os.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

にJSONオブジェクト

ArrayList<Beacon> arrayL = new ArrayList<>(); 
JSONArray mJSONArray = new JSONArray(Arrays.asList(arrayL)); 

2)ポストを構築願っています。 ps。

+0

tnx、私がur wayを使用すると、閉まっている ... – amirofff

関連する問題