《移动项目实践》实验报告——Android网络通信
Posted Starzkg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《移动项目实践》实验报告——Android网络通信相关的知识,希望对你有一定的参考价值。
实验目的
掌握数据解析(以json为例)、网络请求的关键内容。
实验内容
1.接口示例(北京)http://www.weather.com.cn/data/sk/101010100.html
2.可选择和任意切换北京、杭州、广州、上海的天气(阴晴雨雪)、气温、湿度等。
3.解析json接口获取的数据。
4.在app中展现天气结果。
中国天气网地址:http://www.weather.com.cn
请求服务 : 查询实时天气信息
http://www.weather.com.cn/data/sk/101110101.html
其中101110101是城市的代码,如果要查询其他城市的天气,只需要修改城市的代码即可,在中国天气网中城市代码如下:
101010100=北京
101020100=上海
101210101=杭州
101280101=广州
实验参考网址:https://blog.csdn.net/liji_xc/article/details/47323137
实验过程(实验的设计思路、关键源代码等)
源代码:https://gitee.com/shentuzhigang/mini-project/tree/master/android-network
package io.shentuzhigang.demo.network
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.StrictMode
import android.widget.TextView
import com.alibaba.fastjson.JSON
import okhttp3.OkHttpClient
import okhttp3.Request
class MainActivity : AppCompatActivity()
override fun onCreate(savedInstanceState: Bundle?)
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
if (android.os.Build.VERSION.SDK_INT > 9)
val policy = StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
val str = run("http://www.weather.com.cn/data/sk/101210101.html")
val json = JSON.parseObject(str).getJSONObject("weatherinfo")
val textView = findViewById<TextView>(R.id.textView)
textView.text = String.format("城市:%s\\n风向:%s\\n风力:%s\\n湿度:%s\\nAP:%s\\n",
json.getString("city"),
json.getString("WD"),
json.getString("WS"),
json.getString("SD"),
json.getString("AP"),
)
var client = OkHttpClient()
fun run(url:String): String?
val request = Request.Builder()
.url(url)
.build();
val response = client.newCall(request).execute()
return response.body?.string();
实验结果(实验最终作品截图说明)
实验心得
- 掌握数据解析(以json为例)
- 网络请求
参考文章
、
开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系以上是关于《移动项目实践》实验报告——Android网络通信的主要内容,如果未能解决你的问题,请参考以下文章