Android studio获取服务器端json数据——天气预报

MainActivity.java

import androidx.appcompat.app.AppCompatActivity;import android.app.ProgressDialog;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;public class MainActivity extends AppCompatActivity implements View.OnClickListener {EditText city_name;TextView set_tq;Button get_tq;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);city_name=findViewById(R.id.city_name);get_tq=findViewById(R.id.get_tq);set_tq=findViewById(R.id.set_tq);get_tq.setOnClickListener(this);}@Overridepublic void onClick(View view) {switch (view.getId()) {case R.id.get_tq:city_name.setText("");try {//方法一new Thread(new Runnable() {String url=" http://wthrcdn.etouch.cn/weather_mini?city=灵川";@Overridepublic void run() {try {String html = HtmlService.getHtml(url);Log.i("天气信息",html);set_tq.setText(html);} catch (Exception e) {e.printStackTrace();}}}).start();} catch (Exception e) {e.printStackTrace();}break;}}}

HtmlService.java

package com.weather;import android.util.Log;import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;public class HtmlService {public static String getHtml(String path) throws Exception {Log.i("path",path);URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setConnectTimeout(5 * 1000);InputStream inStream = conn.getInputStream();//通过输入流获取html数据byte[] data = readInputStream(inStream);//得到html的二进制数据String html = new String(data, "UTF-8");return html;}public static byte[] readInputStream(InputStream inStream) throws Exception {ByteArrayOutputStream outStream = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len = 0;while ((len = inStream.read(buffer)) != -1) {outStream.write(buffer, 0, len);}inStream.close();return outStream.toByteArray();}
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"android:background="@drawable/one"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="天气预报"android:textSize="20dp"android:layout_gravity="center"android:layout_margin="20dp"></TextView><EditTextandroid:id="@+id/city_name"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="输入城市名称"android:layout_margin="20dp"></EditText><Buttonandroid:id="@+id/get_tq"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="查询"android:textColor="@color/color_white"android:textSize="25dp"android:background="#6BB618"android:layout_margin="20dp"android:layout_gravity="right"></Button><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/set_tq"android:layout_width="match_parent"android:layout_height="600dp"android:background="@drawable/gray"android:layout_margin="50dp"android:layout_alignParentBottom="true"android:textSize="20dp"></TextView></RelativeLayout></LinearLayout>

Android studio获取服务器端json数据——天气预报(仅读取了json文件尚未分析)相关推荐

  1. Android studio获取服务器端json数据并解析

    最近在做Android的一个项目,涉及到Android studio与服务器端通信问题,在网上看了很多,找到了一些解决办法,这篇文章就简单介绍一下如何获取以及向服务器上传json数据. 在这个项目中, ...

  2. 【Android Studio安装部署系列】十一、Android studio获取数字签名信息

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 下面介绍下调试版本和发布版本获取数字签名的方法,通过以下方法可以获取到SHA1和MD5. 一般在使用分享功能,在第三方平台中创建应用 ...

  3. Android获取电子签名内容,Android Studio 获取app签名

    今天在学习整合高德地图的时候,需要app的sha1码. image.png Android Studio 获取app签名的步骤如下: 1.Build下的Generate Signed APK imag ...

  4. 简单步骤:Android studio 内容观察者 - 实现数据变化监测

    提示:本篇文章将会尽量保持精简,附加图文解释,焦躁是敲写代码最大的敌人,三连是最大的支持! 文章目录 前言 一.项目介绍 二.使用步骤 1.创建第一个程序 2.导入图片 3.放置界面控件 4.创建数据 ...

  5. Android Studio 获取应用签名 MD5和SHA1等

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.配置module的build.gradle 二.使用步骤 总结 前言 平时开发,很多第三方需要配置应用签名,比如百 ...

  6. Android Studio获取SHA-1 key的方法

    Android Studio获取SHA-1 key的方法: 首先去C盘的C:\Users\R.android(R是自己设置的电脑名称)找是否有.android文件夹: 若有就用cmd命令调出电脑的命令 ...

  7. 错误 程序包android.app不存在,运行.app时Android Studio获取包名称错误

    运行.app时Android Studio获取包名称错误 我将程序包名称从com.mycompany.myapplication更改为com.mycompany.testapp. 一切都构建良好,但是 ...

  8. android studio 获取sha1keytool -list -v -keystore E:\PGY\keyStore\chunni.jks

    android studio 获取sha1值的方法 keytool -list -v -keystore E:\PGY\keyStore\xxxx.jks

  9. android studio 写文件,在Android Studio中从我自己的类读取和写入文本文件

    我一直在试图创建一个名为TextFileReaderWriter的类我想使用getters和setters来读取和写入文本文件,以便我可以调用类,并通过简单地使用setfileContents(som ...

最新文章

  1. web前端java script学习2017.7.11
  2. 简单案例:unittest+HTMLTestRunner实现生成测试报告
  3. 【数据竞赛】NLP竞赛中99%上升的技巧!
  4. 【数据竞赛】席卷Kaggle的调参神器,NN和树模型通吃!
  5. vscode智能提示css的插件_Visual Studio Code 必备插件,主题及语法提示
  6. 德国巴伐利亚山谷积雪遍地 汽车被大雪掩埋
  7. pytorch回归_PyTorch:用岭回归检查泰坦尼克号下沉
  8. CTO 技术管理的“三板斧”
  9. mondrian olap 示例_详解OLAP概念、基本内容、特点、分类
  10. html换行符_HTML 列表
  11. linux安装之后缺少命令,CentOS7安装成功后缺少命令的解决办法
  12. Java实现Word画折线图(非图片)
  13. java安装证书_Java安装证书文件
  14. 旋风解析磁力php,2018年免费引擎和正版旋风四核引擎棋力测试分析
  15. 严蔚敏版数据结构视频讲解
  16. 常见物理性能测试仪器设备档案
  17. c语言求同构数的三个步骤,C语言求同构数.doc
  18. 2018年第九届蓝桥杯真题C/C++B组
  19. FIsh论坛《零基础入门学习Python》| 第012讲 课后测试题及答案
  20. EfficientDeRainy:一种高效的图像去雨雾算法

热门文章

  1. SaveFileDialog控件介绍
  2. 三星 android 5.0 root,三星E330S 5.0 root教程_三星E330S获取5.0系统root的方法
  3. Dede织梦常用标签
  4. Python—数据类型之decimal类型
  5. 134.2KHZ低频动物耳标面板式读卡器|读写器HX-L8160通讯协议说明
  6. 【2023注册测绘师考试综合能力考试攻略】 ——房产测绘的考点试题汇编及参考答案
  7. LDA文档主题发现R
  8. 【028】中国语言资源保护工程–了解不同方言和少语
  9. 电子信息类包括计算机软件吗,电子信息类包括什么专业
  10. CESIUM离线三维地球发布教程