- 浅谈Android开发模式之RxJava+Retrofit+MVP(kotlin)
Wocus
此文分两部分讲,一部分是RxJava+Retrofit网络请求的使用,一部分是MVP模式结合网络请求开发一,RxJava+Retrofit的使用①module引入里面已经封装了OkHttp和Gson,不需要另外引入implementation'com.squareup.retrofit2:retrofit:2.3.0'implementation'com.squareup.retrofit2:co
- Kotlin Coroutine + retrofit + Okhttp3 网络请求实战篇
wjxbless
KotlinAndroidAndroid项目AndroidKotlinDSLdsl
背景最近看到很多项目都将RxJava+Retrofit替换成了Coroutine+retrofit,首先Coroutine学习成本相对于Rxjava来说较低,而且最重要的一点是Kotlin的下实现线程切换的代码更加精简,逻辑相对更加清晰一些注意:没有学习过DSL以及协程(此次实践将会使用)的可以阅读以下两篇KotlinDSLKotlin协程封装RxJava+Retrofit+OkHttp3网络请求
- 优雅的封装网络请求,协程 + Retrofit
王晨彦
前言随着Kotlin1.3的发布,JetBrains正式为我们带来了协程,协程的好处这里不多介绍了,那么是时候将RxJava+Retrofit网络库升级为协程+Retrofit,使我们的代码更加简洁,程序更加健壮。准备这里我们以玩AndroidApi为例,向大家演示如何使用协程封装网络库,先看一下接口的返回格式,为了方便查看,做了精简处理{"data":[{"desc":"扔物线","id":29
- Android Rxjava+Retrofit 网络数据请求
Janice_x
1、添加依赖//retrofit网络请求框架implementation'com.squareup.retrofit2:retrofit:2.5.0'//retrofit添加Json解析返回数据implementation'com.squareup.retrofit2:converter-gson:2.5.0'//retrofit添加Rxjava支持implementation'com.jakew
- Android MVP开发模式与Rxjava+Retrofit结合的使用(进阶版)
刘坤林
以前根据参考各路大神的博客,以及自己对mvp的理解,早早就写了这种不成熟的结合模式(旧版),历时半年,他们终于进化了!一、基础介绍1、什么是mvpmvp是android开发架构之一,MVP每个字母分别代表Model、View和Presenter。①model负责处理网络数据的处理②presenter是model和view的桥梁,负责与两端的通信③view是视图层2、为什么有mvpmvp的诞生得益于
- RXJAVA
leap_
简介:rxjava是一个异步框架,功能和handler类似,特点是链式调用,逻辑简单。本文内容:观察者模式rxjava异步使用操作符介绍rxjava背压rxjava源码分析rxjava+retrofit观察者模式java中的观察者模式,主要有三个关键词需要记住,被观察者(Observable),订阅(subscribe),观察者(Observer)。核心思想:被观察者和观察者通过订阅产生一种关系,
- MVVM 模式初体验
MorningandSun
1.使layout绑定databindingimage.png2.创建ViewModel(这里使用的使rxjava+retrofit)publicclassBang_Meau_VmextendsViewModel{publicMutableLiveData>Bang_Music_list=newMutableLiveData>io_main()).subscribe(newApiResponse>
- Rxjava+Retrofit使用心得
AriesYe
Rxjava+Retrofit使用心得一、Rxjava+Retrofit的包依赖//RxJavaimplementation"io.reactivex.rxjava2:rxjava:2.1.0"implementation"io.reactivex.rxjava2:rxandroid:2.0.1"//Retrofitimplementation'com.squareup.retrofit2:ret
- MVVMLin一个基于Jetpack+Kotlin+协程+Retrofit的快速开发框架
Aleyn_
MVVMLin一个基于MVVM用Kotlin+Retrofit+协程+Databinding+LiveData来封装的快速开发框架:项目地址:MVVMLinGithub上关于MVVM的框架也不少,之前一直在用RxJava+Retrofit用MVP模式来做项目,现在AndroidX是大势所趋,Kotlin已经成官方语言两年了,今年GoogleIO大会又出了新东西,哎~~~~学不动了呀。近期项目不太忙
- Android MVP开发模式与Rxjava+Retrofit结合的使用
刘坤林
简述直接起飞吧本文章主要详细展示了安卓mvp开发模式中如何优雅的结合Rxjava+Retrofit,完成我们的接口调用。我自称其模式为“MCP”模式,该模式介绍如下mcp模式示意图①Model层:处理网络请求,设定网络框架中的回调线程等②Contract层:契约层,主要定义了各种类型下的View和Presenter,这也是MCP中尤为重要的存在,是用户界面和网络接口需求的定义。③Presenter
- Android 实现rxjava+retrofit封装网络层封装
刘坤林
我建议直接起飞,不用往下看了一、引入相关的包api'com.squareup.retrofit2:retrofit:2.5.0'api'com.squareup.retrofit2:converter-scalars:2.5.0'api'com.squareup.retrofit2:adapter-rxjava2:2.5.0'api'com.squareup.retrofit2:converter
- RxJava + Retrofit源码解析
妖久
RxJava+Retrofit怎么请求网络,具体的用法这里就不讲了,本文只讲一些重点源码。版本如下:okhttp:"com.squareup.okhttp3:okhttp:3.10.0",okhttp3_integration:"com.github.bumptech.glide:
- Android项目架构搭建
半阖眼眸
引入依赖库123456retrofitokhttpokioRxJavaRxAndroid参考文档Linux命令大全AndroidGradlePlugin3.0implementation、api、compile区别给Android开发者的RxJava详解RxJava+Retrofit完成网络请求一、创建项目新建SilenceCoder项目,创建时勾选添加Kotlin支持,以便后续扩展。创建Base
- 使用RxJava+Retrofit完成同步连续请求
冰红儿茶
首先声明一下,这是本人的学习Rxjava和Retrofit的第一篇博客,也是我第一次写博客,内容中可能会有错误的地方或者我理解错误的地方,请大家多理解,都是这么过来的嘛,如果有错误的地方非常欢迎大家指正,我会及时修改以免误导他人。使用场景连续请求在很多App中都经常会被使用,例如通过定位获得当前定位城市的天气预报,我们首先要通过Android为我们提供的Api调用GPS获得我们当前的经纬度,然后将
- RxJava+Retrofit的瀑布流Demo
三十二蝉
前言学习RxJava+Retrofit的开发框架之余,做了一个小的Demo。主要功能是获取图片数据,以瀑布流形式展示。项目效果:项目效果.gif代码实现:网络请求的对外接口通过HttpManager这个类访问:publicclassHttpManager{//basehttpserviceprivateHttpServicehttpService;//构造方法私有privateHttpManage
- Rxjava2.1 线程切换原理解析
innovatorCL
一、前提说明本文是在Rxjava2.1的基础上进行的,目前只对Rxjava进行解析,未搭配Retrofit食用,如果想看Rxjava+Retrofit源码解析,请移步Retrofit2.1+Rxjava源码解析(一)。二、Rxjava使用栗子newThread("子线程"){@Overridepublicvoidrun(){Observable.create(newObservableOnSubs
- Rxjava 2.1 订阅流程源码解析
innovatorCL
一、前提说明本文是在Rxjava2.1的基础上进行的,目前只对Rxjava进行解析,未搭配Retrofit食用,如果想看Rxjava+Retrofit源码解析,请移步Retrofit2.1+Rxjava源码解析(一)。二、Rxjava使用栗子Observable.create(newObservableOnSubscribe(){@Overridepublicvoidsubscribe(Obser
- rxjava+retrofit+mvp
若无初见
有一段时间没有更新文章了,最近都在忙公司的项目偶尔闲下来也是针对之前的框架补一些七七八八的功能。包括一些第三方的以及工具类。这次主要是针对之前Rxjava+retrofit二次封装的修改:添加mvp的架构思想。之前一直没有添加是因为感觉自己封装的网络请求其实已经算是很简便了。一个请求添加上返回数据的封装类,Activity继承HttpOnNextListener重新onNext方法就可以实现一个基
- RXjava+Retrofit 史上最精简封装(RxHttpUtils 1.x)使用说明
lygttpod
RxHttpUtils继上次SuperTextView之后的又一次封装Rxjava+Retrofit封装,便捷使用编写原由:项目用到Rxjava+Retrofit的使用,总是感觉封装的不到位,网上也有很多类此的封装,找来找去没有一款适合自己的,无奈之下只能自己动手封装一个使用起来超级简单的网络框架,个人感觉装装的还是挺不错的,相比网络上其他封装简单了不少,使用起来也很方便,源码很少可以随意修改源码
- rxjava+retrofit 请求返回的数据是String怎样解决
rivc
在返回数据里面不要直接写String写上ResponseBody,然后根据ResponseBody获取自己想要的东西就好
- Kotlin 重写项目笔记(持续更新)
Derek_Yan
7、${}正确使用方法一个DataBean实体类,想要打印其中一个属性值println("sth$databean.name")这是错误的写法带"."的都属于表达式必须用"{}"包起来不然它会打印出"sth@databean对象值.name"println("sth${databean.name}")这才是正确写法6、RxJava+Retrofit中Service定义时可变Url@Path("")
- 不要打破链式调用!一个极低成本的RxJava全局Error处理方案
却把清梅嗅
RxJava与CallbackHell在正式铺展开本文内容之前,我们先思考一个问题:你认为RxJava真的好用吗,它好用在哪?CallbackHell,中文翻译为回调地狱,在以往没有依赖RxJava+Retrofit进行网络请求的代码中,这种代码并不少见(比如AsyncTask),我曾有幸见识并维护了各种3层4层AsyncTask回调嵌套的项目——后来我一直拒绝阅读AsyncTask的源码,我想这
- Rxjava+Retrofit基础学习
毹毹
前段时间看了RxJava,发现跟他一起用的Retrofit,今天就把认识的他们俩个来总结梳理一下一、什么是RxJava?(异步)一个实现异步操作的库给android开发者的RxJava详解具体的看下这个链接,写的超级详细,超级好二、什么是Retrofit?网络请求的封装。Android网络(四)Retrofit学习笔记Retrofit是Square公司出品的默认基于OkHttp封装的一套RESTf
- 【Android】RxJava源码流程分析
Tech Ranger
Androidjavaandroid
一、RxJava介绍Rxjava是很多项目中都会涉及用到的第三方库,项目中,有用到Rxjava+retrofit进行项目开发,故理解这第三方库的原理能解决很多隐藏的问题。二、流程分析最终会形成一条被观察者链,每个被观察者对象都有各自的线程Schedulers用来切换线程。OkHttpCall封装okhttp3相关的操作。分5个步骤来分析流程:第一步:设置RxJava2CallAdapter在ret
- Retrofit上传多文件,多参数,包括数组
yw_5_24
Android学习小结
公司之前的项目中需要用到同时上传多文件,多参数,多数组的形式,因为使用的网络框架是自己封装的Rxjava+Retrofit所以就研究了一下文件的上传方法,不看不知道,单个类型上传还挺简单,上面那些放在一起,差点把我搞蒙了,主要还是对Retrofit的使用不深刻,写此篇文章,用来记录一些心得:privateStringguessMimeType(Stringpath){FileNameMapfile
- RxJava+Retrofit网络请求框架基本用法
NAME_CJF
Android技术
背景当前Android新的框架越来越多,RxJava+Retrofit进行网络请求的框架尤为突出。故本次整合了RxJava+Retrofit进行网络请求最基本的用法。框架简介RxJava:基于观察者模式的,链式调用方式的异步编程框架。观察者模式,包含观察者(Observer)、被观察者(Observable)。两者之间绑定(subscribe)后即可由观察者去观察被观察者的行为。观察者在察觉到被观
- Rxjava+retrofit 添加公共请求参数及请求结果封装
u014671811
Android数据库android
RxJava+Retrofit+okHttp做为当前android主流的网络请求框架,写一些自己在项目中的应用!本文主要内容:1.为所用请求添加公共的请求参数。2.封装适合于自己项目的服务器接口数据处理类。开发环境retrofitVersion=‘2.2.0’ok3Version=‘3.6.0’rxjavaVersion=‘1.2.7’rxAndroidVersion=‘1.2.1’rxlifec
- Android 使用RxJava+Retrofit 2.0合并网络请求
疾风细语
Android总结Android高性能编码
在开发验证码的功能时,要求验证code的同时判断这个是不是服务码(服务人员专用),这个就需要同时去请求两个接口,只要有一个功能就算成功,不再执行两个接口。这个问题可以使用RxJava的flatmap完成一次嵌套请求,有一点需要注意的是,我们需要在第一个接口调用失败的情况下,去请求第二个接口,我们先去验证验证码,再验证服务码。@OverridepublicvoidcheckConfirmCode(S
- Android资源
刘涤生
Android设计相关的网站推荐Androidstudio启动时禁止更新Ajian_studio伯乐在线技术分享ReactiveX/RxJava文档中文版Mystravanpersie_9987的博客typorahuachao1001的专栏李济洲的博客推翻自己和过往,重学自定义ViewAndroid源码剑指offer题解Android开发之Rxjava+Retrofit上百个Android开源项目
- Android 网络框架(三)LiveData+Retrofit封装与原理剖析
Xsinwa
Android
前言Retrofit算是目前最流行的网络框架了,而用的比较多的组合方式是Rxjava+Retrofit,因为RxJava很好的实现了异步通信、UI线程和子线程之间的切换,但是RxJava+Retrofit这一组合有一个缺点,那就是容易造成内存泄漏,因为不能感知UI的生命周期,当然通过加入RxLifeCycle也能解决这一问题。我们今天要说的不是RxLifeCycle,主角是LiveData,下面进
- ztree异步加载
3213213333332132
JavaScriptAjaxjsonWebztree
相信新手用ztree的时候,对异步加载会有些困惑,我开始的时候也是看了API花了些时间才搞定了异步加载,在这里分享给大家。
我后台代码生成的是json格式的数据,数据大家按各自的需求生成,这里只给出前端的代码。
设置setting,这里只关注async属性的配置
var setting = {
//异步加载配置
- thirft rpc 具体调用流程
BlueSkator
中间件rpcthrift
Thrift调用过程中,Thrift客户端和服务器之间主要用到传输层类、协议层类和处理类三个主要的核心类,这三个类的相互协作共同完成rpc的整个调用过程。在调用过程中将按照以下顺序进行协同工作:
(1) 将客户端程序调用的函数名和参数传递给协议层(TProtocol),协议
- 异或运算推导, 交换数据
dcj3sjt126com
PHP异或^
/*
* 5 0101
* 9 1010
*
* 5 ^ 5
* 0101
* 0101
* -----
* 0000
* 得出第一个规律: 相同的数进行异或, 结果是0
*
* 9 ^ 5 ^ 6
* 1010
* 0101
* ----
* 1111
*
* 1111
* 0110
* ----
* 1001
- 事件源对象
周华华
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- MySql配置及相关命令
g21121
mysql
MySQL安装完毕后我们需要对它进行一些设置及性能优化,主要包括字符集设置,启动设置,连接优化,表优化,分区优化等等。
一 修改MySQL密码及用户
 
- [简单]poi删除excel 2007超链接
53873039oycg
Excel
采用解析sheet.xml方式删除超链接,缺点是要打开文件2次,代码如下:
public void removeExcel2007AllHyperLink(String filePath) throws Exception {
OPCPackage ocPkg = OPCPac
- Struts2添加 open flash chart
云端月影
准备以下开源项目:
1. Struts 2.1.6
2. Open Flash Chart 2 Version 2 Lug Wyrm Charmer (28th, July 2009)
3. jofc2,这东西不知道是没做好还是什么意思,好像和ofc2不怎么匹配,最好下源码,有什么问题直接改。
4. log4j
用eclipse新建动态网站,取名OFC2Demo,将Struts2 l
- spring包详解
aijuans
spring
下载的spring包中文件及各种包众多,在项目中往往只有部分是我们必须的,如果不清楚什么时候需要什么包的话,看看下面就知道了。 aspectj目录下是在Spring框架下使用aspectj的源代码和测试程序文件。Aspectj是java最早的提供AOP的应用框架。 dist 目录下是Spring 的发布包,关于发布包下面会详细进行说明。 docs&nb
- 网站推广之seo概念
antonyup_2006
算法Web应用服务器搜索引擎Google
持续开发一年多的b2c网站终于在08年10月23日上线了。作为开发人员的我在修改bug的同时,准备了解下网站的推广分析策略。
所谓网站推广,目的在于让尽可能多的潜在用户了解并访问网站,通过网站获得有关产品和服务等信息,为最终形成购买决策提供支持。
网站推广策略有很多,seo,email,adv
- 单例模式,sql注入,序列
百合不是茶
单例模式序列sql注入预编译
序列在前面写过有关的博客,也有过总结,但是今天在做一个JDBC操作数据库的相关内容时 需要使用序列创建一个自增长的字段 居然不会了,所以将序列写在本篇的前面
1,序列是一个保存数据连续的增长的一种方式;
序列的创建;
CREATE SEQUENCE seq_pro
2 INCREMENT BY 1 -- 每次加几个
3
- Mockito单元测试实例
bijian1013
单元测试mockito
Mockito单元测试实例:
public class SettingServiceTest {
private List<PersonDTO> personList = new ArrayList<PersonDTO>();
@InjectMocks
private SettingPojoService settin
- 精通Oracle10编程SQL(9)使用游标
bijian1013
oracle数据库plsql
/*
*使用游标
*/
--显示游标
--在显式游标中使用FETCH...INTO语句
DECLARE
CURSOR emp_cursor is
select ename,sal from emp where deptno=1;
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
begin
ope
- 【Java语言】动态代理
bit1129
java语言
JDK接口动态代理
JDK自带的动态代理通过动态的根据接口生成字节码(实现接口的一个具体类)的方式,为接口的实现类提供代理。被代理的对象和代理对象通过InvocationHandler建立关联
package com.tom;
import com.tom.model.User;
import com.tom.service.IUserService;
- Java通信之URL通信基础
白糖_
javajdkwebservice网络协议ITeye
java对网络通信以及提供了比较全面的jdk支持,java.net包能让程序员直接在程序中实现网络通信。
在技术日新月异的现在,我们能通过很多方式实现数据通信,比如webservice、url通信、socket通信等等,今天简单介绍下URL通信。
学习准备:建议首先学习java的IO基础知识
URL是统一资源定位器的简写,URL可以访问Internet和www,可以通过url
- 博弈Java讲义 - Java线程同步 (1)
boyitech
java多线程同步锁
在并发编程中经常会碰到多个执行线程共享资源的问题。例如多个线程同时读写文件,共用数据库连接,全局的计数器等。如果不处理好多线程之间的同步问题很容易引起状态不一致或者其他的错误。
同步不仅可以阻止一个线程看到对象处于不一致的状态,它还可以保证进入同步方法或者块的每个线程,都看到由同一锁保护的之前所有的修改结果。处理同步的关键就是要正确的识别临界条件(cri
- java-给定字符串,删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。
bylijinnan
java
public class DeleteExtraSpace {
/**
* 题目:给定字符串,删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。
* 方法1.用已有的String类的trim和replaceAll方法
* 方法2.全部用正则表达式,这个我不熟
* 方法3.“重新发明轮子”,从头遍历一次
*/
public static v
- An error has occurred.See the log file错误解决!
Kai_Ge
MyEclipse
今天早上打开MyEclipse时,自动关闭!弹出An error has occurred.See the log file错误提示!
很郁闷昨天启动和关闭还好着!!!打开几次依然报此错误,确定不是眼花了!
打开日志文件!找到当日错误文件内容:
--------------------------------------------------------------------------
- [矿业与工业]修建一个空间矿床开采站要多少钱?
comsci
地球上的钛金属矿藏已经接近枯竭...........
我们在冥王星的一颗卫星上面发现一些具有开采价值的矿床.....
那么,现在要编制一个预算,提交给财政部门..
- 解析Google Map Routes
dai_lm
google api
为了获得从A点到B点的路劲,经常会使用Google提供的API,例如
[url]
http://maps.googleapis.com/maps/api/directions/json?origin=40.7144,-74.0060&destination=47.6063,-122.3204&sensor=false
[/url]
从返回的结果上,大致可以了解应该怎么走,但
- SQL还有多少“理所应当”?
datamachine
sql
转贴存档,原帖地址:http://blog.chinaunix.net/uid-29242841-id-3968998.html、http://blog.chinaunix.net/uid-29242841-id-3971046.html!
------------------------------------华丽的分割线--------------------------------
- Yii使用Ajax验证时,如何设置某些字段不需要验证
dcj3sjt126com
Ajaxyii
经常像你注册页面,你可能非常希望只需要Ajax去验证用户名和Email,而不需要使用Ajax再去验证密码,默认如果你使用Yii 内置的ajax验证Form,例如:
$form=$this->beginWidget('CActiveForm', array( 'id'=>'usuario-form',&
- 使用git同步网站代码
dcj3sjt126com
crontabgit
转自:http://ued.ctrip.com/blog/?p=3646?tn=gongxinjun.com
管理一网站,最开始使用的虚拟空间,采用提供商支持的ftp上传网站文件,后换用vps,vps可以自己搭建ftp的,但是懒得搞,直接使用scp传输文件到服务器,现在需要更新文件到服务器,使用scp真的很烦。发现本人就职的公司,采用的git+rsync的方式来管理、同步代码,遂
- sql基本操作
蕃薯耀
sqlsql基本操作sql常用操作
sql基本操作
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月1日 17:30:33 星期一
&
- Spring4+Hibernate4+Atomikos3.3多数据源事务管理
hanqunfeng
Hibernate4
Spring3+后不再对JTOM提供支持,所以可以改用Atomikos管理多数据源事务。Spring2.5+Hibernate3+JTOM参考:http://hanqunfeng.iteye.com/blog/1554251Atomikos官网网站:http://www.atomikos.com/ 一.pom.xml
<dependency>
<
- jquery中两个值得注意的方法one()和trigger()方法
jackyrong
trigger
在jquery中,有两个值得注意但容易忽视的方法,分别是one()方法和trigger()方法,这是从国内作者<<jquery权威指南》一书中看到不错的介绍
1) one方法
one方法的功能是让所选定的元素绑定一个仅触发一次的处理函数,格式为
one(type,${data},fn)
&nb
- 拿工资不仅仅是让你写代码的
lampcy
工作面试咨询
这是我对团队每个新进员工说的第一件事情。这句话的意思是,我并不关心你是如何快速完成任务的,哪怕代码很差,只要它像救生艇通气门一样管用就行。这句话也是我最喜欢的座右铭之一。
这个说法其实很合理:我们的工作是思考客户提出的问题,然后制定解决方案。思考第一,代码第二,公司请我们的最终目的不是写代码,而是想出解决方案。
话粗理不粗。
付你薪水不是让你来思考的,也不是让你来写代码的,你的目的是交付产品
- 架构师之对象操作----------对象的效率复制和判断是否全为空
nannan408
架构师
1.前言。
如题。
2.代码。
(1)对象的复制,比spring的beanCopier在大并发下效率要高,利用net.sf.cglib.beans.BeanCopier
Src src=new Src();
BeanCopier beanCopier = BeanCopier.create(Src.class, Des.class, false);
- ajax 被缓存的解决方案
Rainbow702
JavaScriptjqueryAjaxcache缓存
使用jquery的ajax来发送请求进行局部刷新画面,各位可能都做过。
今天碰到一个奇怪的现象,就是,同一个ajax请求,在chrome中,不论发送多少次,都可以发送至服务器端,而不会被缓存。但是,换成在IE下的时候,发现,同一个ajax请求,会发生被缓存的情况,只有第一次才会被发送至服务器端,之后的不会再被发送。郁闷。
解决方法如下:
① 直接使用 JQuery提供的 “cache”参数,
- 修改date.toLocaleString()的警告
tntxia
String
我们在写程序的时候,经常要查看时间,所以我们经常会用到date.toLocaleString(),但是date.toLocaleString()是一个过时 的API,代替的方法如下:
package com.tntxia.htmlmaker.util;
import java.text.SimpleDateFormat;
import java.util.
- 项目完成后的小总结
xiaomiya
js总结项目
项目完成了,突然想做个总结但是有点无从下手了。
做之前对于客户端给的接口很模式。然而定义好了格式要求就如此的愉快了。
先说说项目主要实现的功能吧
1,按键精灵
2,获取行情数据
3,各种input输入条件判断
4,发送数据(有json格式和string格式)
5,获取预警条件列表和预警结果列表,
6,排序,
7,预警结果分页获取
8,导出文件(excel,text等)
9,修