《移动项目实践》实验报告——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();
    

实验结果(实验最终作品截图说明)

实验心得

  1. 掌握数据解析(以json为例)
  2. 网络请求

参考文章

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于《移动项目实践》实验报告——Android网络通信的主要内容,如果未能解决你的问题,请参考以下文章

《移动项目实践》实验报告——Android设备操作

《移动项目实践》实验报告——Android设备操作

《移动项目实践》实验报告——Android设备操作

《移动项目实践》实验报告——Android调试与上线

《移动项目实践》实验报告——Android数据存储

《移动项目实践》实验报告——Android中级控件