亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

android使用url connection示例(get和post數據獲取返回數據)

2020-04-11 11:56:46
字體:
來源:轉載
供稿:網友

一定要加上對Sd卡讀寫文件的權限聲明,以及訪問網絡的權限

復制代碼 代碼如下:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

get /post 工具

復制代碼 代碼如下:

package com.act262.whpj.utils;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;

import android.os.Environment;
import android.util.PrintStreamPrinter;

/**
 * 用于get或者post數據
 */
public class GetPostUtil {
    public static final String TAG = "GetPostUtil Debug";

    /**
     * @param url
     *            傳入的url,包括了查詢參數
     * @return 返回get后的數據
     */
    public static String sendGet(String url) {
        String result = "";
        // String
        URL realURL = null;
        URLConnection conn = null;
        BufferedReader bufReader = null;
        String line = "";
        try {
            realURL = new URL(url);
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("url 格式錯誤");
        }

        try {
            conn = realURL.openConnection();
            // 設置連接參數...conn.setRequestProperty("xx", "xx");

            conn.setConnectTimeout(10000); // 10s timeout
            // conn.setRequestProperty("accept", "*/*");
            // conn.setRequestProperty("", "");

            conn.connect(); // 連接就把參數送出去了 get方法

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("連接錯誤");
        }

        try {
            bufReader = new BufferedReader(new InputStreamReader(
                    conn.getInputStream(), "gb2312"));

            while ((line = bufReader.readLine()) != null) {
                result += line + "/n";
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("讀取數據錯誤");
        } finally {
            // 釋放資源
            if (bufReader != null) {
                try {
                    bufReader.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }

        return result;
    }

    /**
     * @param url
     * @param param
     *            查詢參數 ,形式如 name=xx&age=xx&sex=xx
     * @return
     */
    public static String sendGet(String url, String param) {
        return sendGet(url + "?" + param);
    }

    /**
     * @param url
     *            指定的url,不包括查詢參數
     * @param param
     *            查詢參數 形式如 name=xx&age=xx&sex=xx
     * @return 返回post后的數據
     */
    public static String sendPost(String url, String param) {
        String result = "";
        URL realURL = null;
        BufferedReader bufReader = null;
        // PrintWriter printWriter = null;
        PrintStreamPrinter out = null;
        URLConnection connection = null;
        String line = "";
        try {
            realURL = new URL(url);
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            connection = realURL.openConnection();
            // 設置為可輸入輸出 post的模式,而且在輸出之前不能獲取輸入的數據,否則報錯
            connection.setDoOutput(true);
            connection.setDoOutput(true);

            // 已經連接了,所以不能再用connect(),否則報錯的

            out = new PrintStreamPrinter(new PrintStream(
                    connection.getOutputStream()));
            out.println(param);
            //
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        try {
            bufReader = new BufferedReader(new InputStreamReader(
                    connection.getInputStream(), "gb2312"));
            while ((line = bufReader.readLine()) != null) {
                result += line + "/n";
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            // 釋放資源
            try {
                if (bufReader != null) {
                    bufReader.close();
                }
                if (out != null) {
                    //
                }
            } catch (IOException e2) {
                // TODO: handle exception
            }

        }
        return result;
    }

    public static void saveFile(String content) {

        File file = new File(Environment.getExternalStorageDirectory()
                .getAbsolutePath(), "file.html");
        if (!file.exists()) {
            try {
                boolean status = file.createNewFile();

                System.out.println("is create new file :" + status);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        PrintWriter pw = null;
        try {
            FileWriter fw = new FileWriter(file);
            // pw = new PrintWriter(new Date() + ".html");
            // pw.println(content);

            fw.write(content);
            fw.flush();

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            if (pw != null) {
                pw.close();
            }
        }
    }

}

測試類

復制代碼 代碼如下:

package com.act262.whpj.ui;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

import com.act262.whpj.R;
import com.act262.whpj.utils.GetPostUtil;

public class StartActivity extends Activity {

    Button get, post;
    TextView showTextView;
    Handler handler;
    String result = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_start);
        get = (Button) findViewById(R.id.get);
        post = (Button) findViewById(R.id.post);
        showTextView = (TextView) findViewById(R.id.show);
        handler = new Handler() {
            public void handleMessage(Message msg) {
                if (msg.what == 0x123) {
                    showTextView.setText(result);
                }
            }
        };
        post.setOnClickListener(new ButtonListener());
        get.setOnClickListener(new ButtonListener());
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.start, menu);
        return true;
    }

    class ButtonListener implements OnClickListener {

        @Override
        public void onClick(View v) {
            switch (v.getId()) {
            case R.id.get:

                new Thread() {

                    public void run() {
                        result = GetPostUtil
                                .sendGet("http://www.baidu.com");
                        handler.sendEmptyMessage(0x123);// 通知UI線程更新界面
                        // Log.d(GetPostUtil.TAG, result);
                        System.out.println(result);
                        GetPostUtil.saveFile(result);
                    }
                }.start();
                showTextView.setText(result);
                break;
            case R.id.post:
                new Thread() {
                    public void run() {
                        result = GetPostUtil
                                .sendPost(
                                        "http://www.baidu.com",
                                        "null");
                        handler.sendEmptyMessage(0x123);// 通知UI線程更新界面
                        Log.d(GetPostUtil.TAG, result);
                    }
                }.start();
                showTextView.setText(result);
                break;
            default:
                break;
            }
        }
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本精品久久中文字幕佐佐木| 欧美日韩国产成人| 日韩av大片在线| 国产精品91在线观看| 中文字幕日韩精品在线| 日韩中文字幕网| 欧美亚洲免费电影| 国产精品一区二区三| 久久久人成影片一区二区三区观看| 日韩在线免费视频观看| 久久久精品影院| 欧美丝袜一区二区三区| 日韩精品视频在线播放| 国产美女久久精品香蕉69| 欧美理论电影在线播放| 亚洲精品成人av| 久久久噜噜噜久久中文字免| 日韩视频免费在线| 97精品国产aⅴ7777| 亚洲成人网在线观看| 欧美激情精品久久久久久蜜臀| 欧美国产精品人人做人人爱| 米奇精品一区二区三区在线观看| 亚洲美女自拍视频| 免费av一区二区| 91久久久久久久久| 久热精品视频在线| 日韩在线观看电影| 亚洲一区999| 国产美女扒开尿口久久久| 久久天堂av综合合色| 欧美日韩国产色视频| 国产美女高潮久久白浆| 欧洲亚洲免费在线| 一区二区三区视频在线| 日韩欧美极品在线观看| 日韩在线观看免费全集电视剧网站| 精品亚洲一区二区三区在线观看| 国产成人a亚洲精品| 欧美在线国产精品| 亚洲第一精品久久忘忧草社区| 亚洲xxxxx电影| 久久久999国产| 国产精自产拍久久久久久| 亚洲成人中文字幕| 欧美亚洲视频在线观看| 亚洲精品一区二区网址| 成人444kkkk在线观看| 成人精品久久av网站| 精品无人区太爽高潮在线播放| 亚洲男人天堂手机在线| 欧美午夜片欧美片在线观看| 欧美在线一区二区三区四| 欧美一区三区三区高中清蜜桃| 日韩国产欧美区| 成人激情视频免费在线| 日本欧美在线视频| 欧美—级a级欧美特级ar全黄| 亚洲天堂av图片| 欧美成年人视频网站欧美| 欧美亚洲国产日韩2020| 久久福利视频网| 午夜精品www| 久久久久久久久久亚洲| 日韩av一区二区在线观看| 国产在线观看精品一区二区三区| 亚洲韩国欧洲国产日产av| 日本久久久久久久久| 亚洲精选一区二区| 成人免费网视频| 国产精品自拍视频| 免费91麻豆精品国产自产在线观看| 久久久久女教师免费一区| 亚洲精美色品网站| 少妇高潮久久77777| 日韩高清电影好看的电视剧电影| 国产成人精品一区| 欧美视频中文在线看| 国产日韩在线看| 日韩精品一区二区视频| 日韩女优人人人人射在线视频| 欧美在线视频一二三| 国产视频精品在线| 亚洲www永久成人夜色| 色吧影院999| 久久国产色av| 亚洲精品白浆高清久久久久久| 日韩精品亚洲元码| 亚洲精品成a人在线观看| 国产精品一区二区三区在线播放| 亚洲国产成人精品久久久国产成人一区| 欧美性xxxxxxx| 欧美最猛性xxxxx免费| 久久国产精品电影| 久久久精品视频在线观看| 2020国产精品视频| 国产精品高潮呻吟久久av黑人| 欧美成人一区在线| 狠狠综合久久av一区二区小说| 久久久久久久久网站| 国产精品丝袜久久久久久高清| 亚洲国产精久久久久久| 国产精品欧美在线| 91精品视频免费看| 91视频-88av| 亚洲欧美福利视频| 91亚洲国产成人精品性色| 国产精品免费一区豆花| 久久精品欧美视频| 国模视频一区二区三区| 久久精品国产久精国产思思| 欧美大片第1页| 日韩av在线一区| 深夜福利亚洲导航| 性欧美长视频免费观看不卡| 日本亚洲欧洲色| 欧美激情一级二级| 欧美影院成年免费版| 久久精品久久久久久国产 免费| 成人做爰www免费看视频网站| 色午夜这里只有精品| 在线观看欧美日韩国产| 亚洲精品国产福利| 国产精品高潮呻吟久久av黑人| 性金发美女69hd大尺寸| 亚洲第一av网站| 国产日韩视频在线观看| 91精品视频播放| 九九九热精品免费视频观看网站| 亚洲黄色av女优在线观看| 亚洲免费视频网站| 97国产真实伦对白精彩视频8| 亚洲第一网站男人都懂| 国产98色在线| 成人亚洲欧美一区二区三区| 欧美一区亚洲一区| 欧美日韩999| 欧美性极品xxxx做受| 国产91精品久久久久久久| 欧美日韩国产精品一区二区三区四区| 亚洲跨种族黑人xxx| 亚洲欧美在线免费| 亚洲精品国产拍免费91在线| 中文字幕无线精品亚洲乱码一区| 2019中文字幕全在线观看| 亚洲视频在线观看| 91欧美激情另类亚洲| 欧美黄色三级网站| 国产精品久久久久久久久久新婚| 亚洲高清福利视频| 91精品国产自产在线| 国产精品91在线| 久久不射热爱视频精品| 久久九九亚洲综合| 成人www视频在线观看| 日韩欧美视频一区二区三区| 成人久久久久久久| 亚洲第一精品电影| 日韩在线免费视频观看| 亚洲日本欧美日韩高观看| 久久久伊人日本| 国产精品高清在线观看| 深夜精品寂寞黄网站在线观看| 日韩精品极品视频免费观看|