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

响应式网站模板费用wordpress提示密码不对

响应式网站模板费用,wordpress提示密码不对,中国菲律宾热身赛,制作一个简单网页html最近在做东西的时候,一直在使用RxJava框架,越是深入了解RxJava,就越觉得这个框架威力实在是太大了。好东西不能一个人独自享受,后面几篇文章我会由浅入深来介绍一下RxJava的使用方法,相信看完之后,你会跟我一样逐渐喜欢上这个“威力无比”的武器! 那么,RxJava到底是什…

最近在做东西的时候,一直在使用RxJava框架,越是深入了解RxJava,就越觉得这个框架威力实在是太大了。好东西不能一个人独自享受,后面几篇文章我会由浅入深来介绍一下RxJava的使用方法,相信看完之后,你会跟我一样逐渐喜欢上这个“威力无比”的武器!

那么,RxJava到底是什么?使用RxJava到底有什么好处呢?其实RxJava是ReactiveX中使用Java语言实现的版本,目前ReactiveX已经实现的语言版本有:

  • Java: RxJava
  • JavaScript: RxJS
  • C#: Rx.NET
  • C#(Unity): UniRx
  • Scala: RxScala
  • Clojure: RxClojure
  • C++: RxCpp
  • Ruby: Rx.rb
  • Python: RxPY
  • Groovy: RxGroovy
  • JRuby:RxJRuby
  • Kotlin: 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!

说了那么多概念性的东西,可能大家会一头雾水,下面我们就使用获取天气预报的例子来说明吧。

准备工作

  1. 获取天气预报,我们就使用新浪提供的API接口吧,地址如下:
    http://php.weather.sina.com.cn/xml.php?city=%B1%B1%BE%A9&password=DJOYnieT8234jlsK&day=0
    其中,city后的城市转码。
    Password固定
    Day为0表示当天天气,1表示第二天的天气,2表示第三天的天气,以此类推,最大为4

  2. 为了简化代码,使用Retrolamda框架(有时间后面会专门写文章介绍),需要安装JDK8,并且环境变量中需要增加“JAVA8_HOME”变量,如图:
    这里写图片描述

  3. 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.yayakq.cn/news/562913/

相关文章:

  • 集团网站策划阿里巴巴网站更新怎么做
  • vs2010网站开发示例如何优化网站加载速度
  • 网站排名优化怎样做上海专业的seo公司
  • 网站建设 项目文档网页视频下载工具哪个好
  • 平面设计类的网站sem和seo哪个工作好
  • 新网站如何被网站收录建设银行英文网站
  • 重庆推广网站排名深圳外贸公司排名榜
  • 企业做网站认证有哪些好处小程序开发教程源码潮汐
  • 怎么找到那个网站湛江设计公司
  • 中国互联网公司排名100强seo收录查询工具
  • 长治房产网站建设微商引流推广
  • 西渡网站建设网站月流量什么意思
  • WordPress托管如果使用插件青岛seo建站
  • 织梦网站上传及安装步骤号卡分销系统
  • wordpress站点标题是什么wordpress管理历史版本
  • 东莞材料网站建设lamp网站开发黄金组合 pdf
  • 网站模板怎么做做网页要钱吗
  • 在越南做网站都是什么人昆明有多少做网站的公司
  • 教育网站设制下载天津造价信息网
  • 做音响网站网站宣传工作
  • 站点与网站有什么区别组织建设方面存在的问题
  • 余干网站建设制作班级优化大师手机版下载
  • 广东网站建设模板怎样用dw做网站主页
  • 康县建设局网站网站建设费用及预算
  • 网站后台登陆不进去建设银行网站需要什么浏览器
  • 做网站手机适配需要加价吗wordpress修改手机模板
  • 做python题目的网站中国求购信息网
  • 茶山东莞网站建设网站域名301设置
  • 天台高端网站建设公司南阳专业做网站
  • 通用企业网站织梦模板(红绿蓝三色)爱设计ppt官网