当前位置: 首页 > news >正文

自己做网站写文章免费网站访客qq统计系统

自己做网站写文章,免费网站访客qq统计系统,小蚁人网站建设,做毕业设计的网站设计最近在做东西的时候,一直在使用RxJava框架,越是深入了解RxJava,就越觉得这个框架威力实在是太大了。好东西不能一个人独自享受,后面几篇文章我会由浅入深来介绍一下RxJava的使用方法,相信看完之后,你会跟我一样逐渐喜欢上这个“威力无比”的武器! 那么,RxJava到底是什…最近在做东西的时候,一直在使用RxJava框架,越是深入了解RxJava,就越觉得这个框架威力实在是太大了。好东西不能一个人独自享受,后面几篇文章我会由浅入深来介绍一下RxJava的使用方法,相信看完之后,你会跟我一样逐渐喜欢上这个“威力无比”的武器! 那么,RxJava到底是什么?使用RxJava到底有什么好处呢?其实RxJava是ReactiveX中使用Java语言实现的版本,目前ReactiveX已经实现的语言版本有: Java: RxJavaJavaScript: RxJSC#: Rx.NET C#(Unity): UniRx Scala: RxScala Clojure: RxClojureC++: RxCpp Ruby: Rx.rb Python: RxPY Groovy: RxGroovy JRuby:RxJRubyKotlin: RxKotlin可以看出ReactiveX在开发应用中如此的火爆。那到底什么是ReactiveX呢?简单来说,ReactiveX就是”观察者模式+迭代器模式+函数式编程”,它扩展了观察者模式,通过使用可观察的对象序列流来表述一系列事件,订阅者进行占点观察并对序列流做出反应(或持久化或输出显示等等);借鉴迭代器模式,对多个对象序列进行迭代输出,订阅者可以依次处理不同的对象序列;使用函数式编程思想(functional programming),极大简化问题解决的步骤。 RxJava的基本概念 RxJava最核心的两个东西就是Observables(被观察者,也就是事件源)和Subscribers(观察者),由Observables发出一系列的事件,Subscribers进行订阅接收并进行处理,看起来就好像是设计模式中的观察者模式,但是跟观察者模式不同的地方就在于,如果没有观察者(即Subscribers),Observables是不会发出任何事件的。 由于Observables发出的事件并不仅限于一个,有可能是多个的,如何确保每一个事件都能发送到Subscribers上进行处理呢?这里就借鉴了设计模式的迭代器模式,对事件进行迭代轮询(next()、hasNext()),在迭代过程中如果出现异常则直接抛出(throws Exceptions),下表是Observable和迭代器(Iterable)的对比: 事件(event)迭代器(Iterable)Observable接收数据T next()onNext(T)发现错误throws ExceptiononError(Exception)迭代完成!hasNext()onCompleted()与迭代器模式不同的地方在于,迭代器模式在事件处理上采用的是“同步/拉式”的方式,而Observable采用的是“异步/推式”的方式,对于Subscriber(观察者)而言,这种方式会更加灵活。 开始准备 Hello World! 说了那么多概念性的东西,可能大家会一头雾水,下面我们就使用获取天气预报的例子来说明吧。 准备工作 获取天气预报,我们就使用新浪提供的API接口吧,地址如下: http://php.weather.sina.com.cn/xml.php?city=%B1%B1%BE%A9password=DJOYnieT8234jlsKday=0 其中,city后的城市转码。 Password固定 Day为0表示当天天气,1表示第二天的天气,2表示第三天的天气,以此类推,最大为4为了简化代码,使用Retrolamda框架(有时间后面会专门写文章介绍),需要安装JDK8,并且环境变量中需要增加“JAVA8_HOME”变量,如图: Android Studio版本就用最新的1.2版本+Gradle1.0.0吧。使用Eclipse ADT的朋友,建议赶紧换成Android Studio吧,在android开发上,Android Studio比Eclipse ADT实在是不可同日而语。环境搭建 首先在Android Studio中新建一个项目,然后修改Project级的build.gradle如下: buildscript {repositories {jcenter()}dependencies {classpath 'com.android.tools.build:gradle:1.0.0'classpath 'me.tatarka:gradle-retrolambda:3.0.1'} }allprojects {repositories {jcenter()} }module级的build.gradle修改如下: apply plugin: 'com.android.application' apply plugin: 'me.tatarka.retrolambda'retrolambda {jdk System.getenv("JAVA8_HOME")oldJdk System.getenv("JAVA6_HOME")javaVersion JavaVersion.VERSION_1_6 }android {compileSdkVersion 21buildToolsVersion "21.1.2"compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}defaultConfig {applicationId "com.example.hesc.weather"minSdkVersion 10targetSdkVersion 21versionCode 1versionName "1.0"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}} }dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.android.support:appcompat-v7:22.0.0'compile 'io.reactivex:rxandroid:0.24.0' }tasks.withType(JavaCompile){options.encoding="utf-8" } 开发代码 首先新建布局文件activity_main.xml如下: LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
http://www.tj-hxxt.cn/news/228885.html

相关文章:

  • 珠海专业机械网站建设wordpress视频网站模板下载
  • php响应式网站模板温州网站建设风格
  • 湘潭网站建设 技精磐石网络网站运营问题
  • 建设学分银行网站策划书自己做网站前端开发
  • 贵州省城乡建设部网站首页wordpress怎么链接
  • 免费做旅游海报的网站网站开发美工的任务
  • 专业网站建设制作价格低店面设计要素
  • 创建本地网站软件定制
  • 泸州作网站建设联系电话建设部网站如何登录监理工程师
  • 南京企业网站开发公司上海网站建设公司网站
  • 厦门好的网站设计个人网页免费域名注册入口
  • 网站优化标题不超过多少个字符网站建设致谢
  • 苏州市做网站东莞网站建设如何做
  • 淘宝电子网站建设论文有没有专门做中式的设计网站
  • 澎湃动力网站建设公司品牌销售策划方案
  • 京东物流网站建设特点重庆业务网站建设
  • jsp做网站用到什么技术wordpress 未分类
  • 网站开发案例分析wordpress会员查看
  • 深圳宝安网站建设公司推荐企业seo蜘蛛屯
  • 发布网站搭建教程素材网官网
  • 教程网站建设网站的后台在哪儿
  • 旅游网站这么做网络舆情案例分析
  • 深圳住房与城乡建设部网站惠州seo网站推广
  • 咸宁商城网站建设动态ip做网站可以备案吗
  • 哪些大学网站做的比较好企业网站系统建设
  • 汉中做网站公司优秀flash网站欣赏
  • 秦皇岛建设厅网站鞍山58二手车
  • 贵州网站建设联系电话深圳东门属于哪个区
  • 兰州网站建设与优化陕西安康网站建设
  • 上海法律网站建设宝塔做的网站能不能访问