JavaFX基础学习之OkHttp/Gson2
222
package application;
import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
import com.google.gson.Gson;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class Controller implements Initializable{
@FXML
private Button button;
@FXML
private TextField textfield;
@FXML
private TextArea textarea;
private static OkHttpClient client = new OkHttpClient();
//发起请求,获取内容
public static String getjson (String url) throws IOException {
Request request = new Request.Builder()
.url(url)
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
//函数调用api,并利用gson解析json数据,获取KEY
public static String getkey(String corpid,String corpsecret){
String json = null;
try{
json = getjson("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+corpid+"&corpsecret="+corpsecret);
}catch (Exception e){
e.printStackTrace();
}
Gson gson = new Gson();
weixinapi wxapi = gson.fromJson(json, weixinapi.class);
return wxapi.getAccess_token();
}
//函数调用api,并利用gson解析json数据,获取用户ID
public static String[] getid(String token,String xuehao){
String json = null;
try{
json = getjson("https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token="+token+"&userid="+ xuehao);
}catch (Exception e){
e.printStackTrace();
}
System.out.println(json);
if (json.contains("ok")){
Gson gson = new Gson();
idapi iapi = gson.fromJson(json, idapi.class);
String xb = null;
if (iapi.getGender().equals("1")){
xb = "男";
}else if (iapi.getGender().equals("2")){
xb = "女";
}
return new String[]{
"学号: "+ iapi.getUserid(),
"姓名:" + iapi.getName(),
"手机号: "+ iapi.getMobile(),
"性别 : "+ xb,
"微信号: "+ iapi.getWeixinid()
};
}else {
return new String[]{
"user not find",
};}
}
@FXML
private void handleButtonAction(ActionEvent event) {
String key=getkey("test","test");
String xuehao = textfield.getText();
for(String str : getid(key,xuehao)){
textarea.appendText(str+"\n");
}
}
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
// TODO Auto-generated method stub
}
}
JavaFX基础学习之OkHttp/Gson2的更多相关文章
- JavaFX基础学习之OkHttp/Gson
导入jar包,使用OkHttp/Okio/Gson请求解析 package application; import java.io.IOException; import java.net.URL; ...
- JavaFX基础学习之URLConnection
一个标准的JavaFX文件包含三个部分:主类 . 控制类. 界面设计(XML+CSS) 1,main.java package application; import javafx.applicati ...
- salesforce 零基础学习(五十二)Trigger使用篇(二)
第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...
- 如何从零基础学习VR
转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 近期很多搞技术的朋友问我,如何步入VR的圈子?如何从零基础系统性的学习VR技术? 本人将于2017年1月 ...
- IOS基础学习-2: UIButton
IOS基础学习-2: UIButton UIButton是一个标准的UIControl控件,UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedContro ...
- HTML5零基础学习Web前端需要知道哪些?
HTML零基础学习Web前端网页制作,首先是要掌握一些常用标签的使用和他们的各个属性,常用的标签我总结了一下有以下这些: html:页面的根元素. head:页面的头部标签,是所有头部元素的容器. b ...
- python入门到精通[三]:基础学习(2)
摘要:Python基础学习:列表.元组.字典.函数.序列化.正则.模块. 上一节学习了字符串.流程控制.文件及目录操作,这节介绍下列表.元组.字典.函数.序列化.正则.模块. 1.列表 python中 ...
- python入门到精通[二]:基础学习(1)
摘要:Python基础学习: 注释.字符串操作.用户交互.流程控制.导入模块.文件操作.目录操作. 上一节讲了分别在windows下和linux下的环境配置,这节以linux为例学习基本语法.代码部分 ...
- CSS零基础学习笔记.
酸菜记 之 CSS的零基础. 这篇是我自己从零基础学习CSS的笔记加理解总结归纳的,如有不对的地方,请留言指教, 学前了解: CSS中字母是不分大小写的; CSS文件可以使用在各种程序文件中(如:PH ...
随机推荐
- [每日一题] OCP1z0-047 :2013-07-26 alter table set unused之后各种情况处理
有疑问可以去itpub讨论:http://www.itpub.net/thread-1804872-1-1.html 对于alter table setunused的用法,查官方文档: alter_t ...
- MySQL中函数、游标、事件、视图
MySQL中函数.游标.事件.视图基本应用举例(代码) MySQL中function用户自定义函数c,fun,fun是面向过程的实现方式只能传入参数,或不传入参数,不能传出参数,必有返回值函数中是不能 ...
- rabbitmq在mac上安装
1.安装brew 打开http://bash.sh 执行 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/ ...
- j2ee面试宝典翻译(1)
q1:给出一些使用Java的理由? a1:java是一个有趣的编程语言,让我找出一些理由来: 内建的多线程机制.套接字.内存管理(自动垃圾回收) 面向对象 跨平台 通过对标准API的扩展来支持基于we ...
- python手记(11)
<form method="POST" action="http://host.com/cgi-bin/test.py"> <p>You ...
- PRJ: Split a nodes-map into some triangles
PRJ: Split a nodes-map into some triangles Share the source codes of this algorithm to your guys... ...
- java输出万年历
import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class M ...
- kuryr环境搭建
前言 kuryr是docker和neutron结合的一个项目.docker自1.9之后,支持libnetwork的remote的driver,使得可以通过json rpc调用,为docker提供网络. ...
- PHP中file_exists与is_file、is_dir的区别,以及执行效率的比较 转自#冰雪傲骨#
PHP中file_exists与is_file.is_dir的区别,以及执行效率的比较 判断文件是否存在,有2个常用的PHP函数:is_file 和 file_exists, 判断文件夹是否存在, ...
- javascript练习题(3):基础字符串运算
用两种方法实现下列问题! 1. 把一个字符串转化为驼峰写法 需求:margin-left=>marginLeft 思路一:split 把它转化为一个数组然后修改内容 function conve ...