日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

安卓学习 之 网络技术(十)

發(fā)布時間:2024/2/28 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安卓学习 之 网络技术(十) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一. 顯示web頁面

  • 添加布局。使用webView
  • 添加權(quán)限<user-permission android:name = “android.permission.INTERNET”>
  • 加載布局,webView,并作出對應(yīng)的設(shè)置。
  • WebView webView = (WebView)findViewById(R.id.web_view); webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient()); webView.loadUrl("http://www.baidu.com");

    二. 訪問網(wǎng)絡(luò)的方法

    方法一:HttpURLConnection(不推薦)

    URL url = new URL("https://www.qq.com/"); connection = (HttpURLConnection)url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(8000); connection.connect(); InputStream in = connection.getInputStream(); reader = new BufferedReader(new InputStreamReader(in)); StringBuffer respose = new StringBuffer(); String line ;while((line = reader.readLine()) != null) {respose.append(line); } showRespose(respose.toString());

    方法二:OKHttp(推薦)

  • 在 app/build.gradle 添加依賴
  • dependencies {implementation 'com.squareup.okhttp3:okhttp:3.14.1' }
  • 發(fā)送請求
  • OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("http://www.baidu.com") .build(); Response response = client.newCall(request).execute(); String resposeDate = response.body().string();

    三. 使用OKHttp和GSON解析JSON格式數(shù)據(jù)

  • 準備Json格式的數(shù)據(jù)
    1)sudo apachectl start打開mac自帶的apache服務(wù)器
    2)在/Library/WebServer/Documents目錄下創(chuàng)建get_data.json文件,內(nèi)容為
    [{"id":"5","version":"5.5","name":"Clash of CLans"},{"id":"6","version":"7.0","name":"Boom Beach"},{"id":"7","version":"3.5","name":"Clash Royal"}]
    3)瀏覽器訪問localhost/get_data.json查看數(shù)據(jù)
  • 添加GSON的依賴
  • dependencies {implementation 'com.squareup.okhttp3:okhttp:3.14.1'implementation 'com.google.code.gson:gson:2.8.5' }
  • 使用OKHttp訪問網(wǎng)絡(luò)
  • OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url("http://192.168.1.155/get_data.json")//注意不要寫localhost或者127.0.0.1.build(); Response response = client.newCall(request).execute(); String resposeDate = response.body().string();
  • 使用GSON解析數(shù)據(jù)
  • Gson gson = new Gson(); List<People> peoples = gson.fromJson(data , new TypeToken<List<People>>(){}.getType()); for(People p : peoples){Log.d("MainActivity","id is : "+p.getId()); Log.d("MainActivity","name is : "+p.getName());Log.d("MainActivity","version is : "+p.getVersion());

    如果json格式不是一個數(shù)組的話

    People peoples = gson.fromJson(data , People.class);

    總結(jié)

    以上是生活随笔為你收集整理的安卓学习 之 网络技术(十)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。