JavaDoc不顯示 &Android中HttpGet和HttpPost &JSONObject

這幾天試着解決的問題有如下幾個:java

1)開發Android的時候打開Eclipse ADT將鼠標移到基礎類的方法上時,不能顯示方法的具體信息,方法解釋。起初不知道這是工具Eclipse的問題,仍是Android的問題。後來百度後又不少熱心而全面的解答,才定位到這原來是Eclipse中關於JavaDoc的設置問題。右擊項目-Property-JavaDoc  Location,這裏能夠設置網上的android的javaDoc位置,也能夠設置本身用ADT-SDK Manager 下載的android SDK文件夾下/Doc/References的位置,前提是你必須在SDK Manager下載了「Documentation for Android SDK」,這個我認爲就是SDK 的API,也就是JavaDoc。這樣作之後個人問題就解決了。通過我本身的琢磨,用本身樸素的語言理解就是:JavaDoc就是把SDK API嵌入到工具中,讓其在開發中能自動顯示。個人開發工具中沒有自動顯示出來,直接緣由是開發工具中JavaDoc的位置設置錯誤,其實本質是我沒有下載API文檔。這裏也讓我又漲了姿式,不須要本身去搜索引擎搜索,只須要使用SDK Manager就能下載Android開發的各類官方資源。android

2)Android開發中利用HttpGet或者HttpPost發起網絡請求。曾經也在java開發時用過HttpURLConnection,疑惑他們的關係,大概搜了下,沒有深刻研究,本身理解就是:HttpURLConnection是java原生的網絡訪問的類,操做比較繁瑣可是足夠靈活;Http.Client(HttpGet和HttpPost的長輩類)是Android封裝了Java中的一些類所開發出的開源框架,使用簡單。api

如今我開發的問題倒不是上面的問題,而是怎樣對請求參數編碼轉換?HttpGet和HttpPost又是如何對各自的請求參數進行編碼轉換的?我如今解決問題的方式應該是不求甚解型,就是大概知道爲何這樣,可是再追求下去,問到源碼之類的,我就不清楚了。至於爲何要對請求編碼,是由於在請求中,請求參數中的空格會被轉成+,除了數字字母和  .  _  - 之外的符號和中文字符會被轉正%XX,XX爲其十六進制表示。請求方法以下:服務器

GET
網絡

        HttpClient hc=null;
        HttpGet hg=null;
        String baseUrl="http://192.168.15.88:8000/api/cms/poi/poisearch.do";
        List<BasicNameValuePair> params=new ArrayList<BasicNameValuePair>();
        params.add(new BasicNameValuePair("name","Lucy"));
        params.add(new BasicNameValuePair("grades","89"));
        String paramsUrl=URLEncodedUtils.format(params, HTTP.UTF_8);
        hg=new HttpGet(baseUrl+paramsUrl);
        hc=new DefaultHttpClient();
        HttpResponse hr=null;
        String result=null;
        try {
            hr=hc.execute(hg);
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if(hr.getStatusLine().getStatusCode()==200){
            try {
                result=EntityUtils.toString(hr.getEntity()); //能夠獲取字符串,也能夠獲取字節。這裏獲取字符串
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

服務器不要求請求轉碼的時候也能夠不對URL編碼,這個時候URL能夠直接用字符串拼接的方式獲得,即baseUrl=baseUrl+"?name="+name+"&age="+age;
框架

POST工具

        HttpClient hc=null;
        HttpPost hp=null;
        String baseUrl="http://192.168.15.88:8000/api/cms/poi/poisearch.do";
        List<BasicNameValuePair> params=new ArrayList<BasicNameValuePair>();
        params.add(new BasicNameValuePair("name","Lucy"));
        params.add(new BasicNameValuePair("grades","89"));
        hp=new HttpPost(baseUrl);
        try {
            hp.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));
        } catch (UnsupportedEncodingException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        hc=new DefaultHttpClient();
        HttpResponse hr=null;
        String result=null;
        try {
            hr=hc.execute(hp);
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if(hr.getStatusLine().getStatusCode()==200){
            try {
                result=EntityUtils.toString(hr.getEntity());
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

寫的都很粗略,由於暫時開發水平才入門,因此請看官多多指教。
開發工具

相關文章
相關標籤/搜索