<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                因為項目中要用到JSON解析,所以就學習了一下。有關于安卓JSON的教程網上有很多,來來去去都是這幾個類的介紹。其實這一篇文章甚至也不能算是一篇學習心得,只能理解為一份備忘錄。 下面是我要解析的JSON格式: ~~~ [{"file_id": "13", "filename": "grub2\u6559\u7a0b.pdf"}, {"file_id": "14", "filename": "demo.pdf"}] ~~~ 這里面要用JSONArray來存儲數組,然后用JSONObject獲得里面的每一個鍵值對。 因為是隨便寫寫,所以不免很多紕漏,listview的優化也沒寫。代碼純當笑話。 ~~~ package com.example.getpdflist; import java.io.InputStream; import java.util.ArrayList; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONArray; import org.json.JSONObject; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.app.Activity; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; /** * 該類從服務器獲取PDF文件名稱和ID關系,獲取方式:JSON * * @author USER * */ public class MainActivity extends Activity { // 網頁傳遞JSON信息路徑 private final String JSON_PATH = "http://sysucs.org:8080/list"; // 獲得的JSON字符串內容 private StringBuilder str; // 從JSON獲取的名字與ID對應關系 private ArrayList<Pair> jsonContent; private ListView lv; private Handler handler = new Handler() { public void handleMessage(android.os.Message msg) { showListView(); }; }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); jsonContent = new ArrayList<Pair>(); str = new StringBuilder(); new Thread(new getPdfThread()).start(); } /** * 該函數將stringBuilder轉化為map對應關系 */ private void handleJson() { try { JSONArray jsonArray = new JSONArray(str.toString()); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String name = jsonObject.getString("filename"); int id = jsonObject.getInt("file_id"); Pair pair = new Pair(name, id); jsonContent.add(pair); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } // 為list設置內容 private void showListView() { lv.setAdapter(new myAdapter()); } private class myAdapter extends BaseAdapter { @Override public int getCount() { // TODO Auto-generated method stub return jsonContent.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub Pair pair = jsonContent.get(position); System.out.println(pair.id + " " + pair.name); convertView = View.inflate(MainActivity.this, R.layout.item, null); TextView name = (TextView) convertView.findViewById(R.id.file_name); TextView id = (TextView) convertView.findViewById(R.id.file_id); name.setText(pair.name); id.setText(String.valueOf(pair.id)); return convertView; } } /** * 存儲name id對的類 * * @author Hehyu * */ private class Pair { public String name; public int id; public Pair(String name, int id) { this.name = name; this.id = id; } } public class getPdfThread implements Runnable { @Override public void run() { // TODO Auto-generated method stub HttpClient httpClient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(JSON_PATH); try { HttpResponse httpResponse = httpClient.execute(httpGet); HttpEntity httpEntity = httpResponse.getEntity(); InputStream is = httpEntity.getContent(); byte[] buffer = new byte[1024]; int len = 0; while ((len = is.read(buffer)) != 0) { String t = new String(buffer, 0, len); str.append(t); } } catch (Exception e) { e.printStackTrace(); } // 獲取JSON對應關系 handleJson(); Message msg = Message.obtain(); handler.sendMessage(msg); } } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看