Android Studio發送簡單的GET/POST網路請求
- 閱讀文章需知
- 前提準備
- 權限添加
- 啟動子執行緒,發送網路請求
- POST請求如何添加引數?
- 后文必讀
- 能點贊投幣一鍵三連嘛?
閱讀文章需知
開發環境:Android Studio 4.1 安卓虛擬機版本(Target)android 11
開發語言: JAVA (如果是Kotlin 那么勿怪小弟打擾了)
本著點贊投幣一鍵三連不迷路的原則,小編第一句話就把開發環境給出,避免版本相差太多而浪費您的時間,
感謝各位大佬們打開小弟的文章,本篇文章純粹針對于那些對于Android Studio開發的萌新們,文章所涉及的知識水平非常淺,不喜勿噴,純屬是為了讓萌新們在初學的時候少踩坑(畢竟小弟在寫這篇文章之前所踩的坑,那可真是就差沒拿個“高端探雷測驗器”過來為我指點一下迷津),
不得不自夸一下,本篇文章對于萌新們絕對是一篇讓你感動到痛哭流淚的文章,畢竟咱這十頭牛都拉不回正確的道路,在犯錯的歧途上越走越遠的水平也真是夠可憐的,

前提準備
眾所皆知,咱們首先就要創建一下非常完美且正確的android專案,哈哈哈,,,別問,問就是這么狗(俗話說的好,文章不湊數,何以掃天下)

權限添加
<manifest >
<application> .......</application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
此代碼一定要添加在<manifest>標簽之內,<application>標簽之外,
想必添加到其他的位置AS(Android Studio)也會給你報錯,但是就怕報錯了還不知道發生了什么= =

那么這是不是就🆗了呢? 這就🆗了我還要寫這篇文章干啥呢 對吧😁
<application
...
...
android:usesCleartextTraffic="true"
...>
<activity>
...
...
</activity>
</application>
在你的<application>里面添加一句android:usesCleartextTraffic="true"是必不可少的一步,假設你沒有這一步,那么你熟悉的老朋友就會來見你啦

啟動子執行緒,發送網路請求
new Thread(){
@Override
public void run() {
networkRequest();
}
}.start();
開啟一個子執行緒之后,在子執行緒中完成網路請求的處理,小弟建議將網路請求的代碼封裝一個函式,當然,蘿卜青菜,各有所愛,
private void networdRequest(){
HttpURLConnection connection=null;
try {
URL url = new URL("你要請求的網址,比如www.某度.com");
connection = (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(3000);
connection.setReadTimeout(3000);
//設定請求方式 GET / POST 一定要大小
connection.setRequestMethod("POST");
connection.setDoInput(true);
connection.setDoOutput(false);
connection.connect();
int responseCode = connection.getResponseCode();
if (responseCode != HttpURLConnection.HTTP_OK) {
throw new IOException("HTTP error code" + responseCode);
}
String result = getStringByStream(connection.getInputStream());
if (result == null) {
Log.d("Fail", "失敗了");
}else{
Log.d("succuss", "成功了 ");
}
} catch (Exception e) {
e.printStackTrace();
}
}
直接貼上代碼,ctrl C +V 就能用,想必其他的代碼都是啥意思,大家也不關心,小弟也就不啰嗦了,值得注意的是設定請求方式的時候一定要大寫,否則后果自負(報錯自己改),本文實體采取的是POST請求的方式,因而采用字串的形式接識訓傳的json結果,下面貼上處理json的代碼:
private String getStringByStream(InputStream inputStream){
Reader reader;
try {
reader=new InputStreamReader(inputStream,"UTF-8");
char[] rawBuffer=new char[512];
StringBuffer buffer=new StringBuffer();
int length;
while ((length=reader.read(rawBuffer))!=-1){
buffer.append(rawBuffer,0,length);
}
return buffer.toString();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
那么至此,一個簡單的網路請求就基本上完成啦!

POST請求如何添加引數?
如果是學習網路請求呼叫后端API或者網上公開API介面的童鞋們,那么這個時候我們往往需要有一些必備的引數,那么AS如何添加引數呢?本文給出一個簡單的示例:
,,,
,,,
connection.connect();
-----------------------------------------------
DataOutputStream dos=new DataOutputStream(connection.getOutputStream());
String param="My param";
dos.writeBytes(param);
使用也是非常的簡單,只要在上面網路請求的代碼后面添加上這三句代碼就可以了, 是不是很簡單~

后文必讀
本文所有內容全是小編本人各種踩坑之后的經驗之談,如有任何錯誤,歡迎留言指正!
若本文有任何侵權的行為,請聯系本人郵箱2196316793@qq.com,我會在第一時間洗掉,謝謝!

能點贊投幣一鍵三連嘛?
好像咱csdn不興這個,那就歡迎大家白嫖吧~
希望大家通過本篇文章可以在發送簡單的網路請求時可以少踩坑、不踩坑,
如果本文的方法無效,那么小編祝你下篇文章一定能成功!

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/246880.html
標籤:其他
