摘要: MVVM 实战之计算器 android DataBinding MVVM calculator Model View 布局文件 Fragment ViewModel 结束语 前些日子,一直在学习基于 RxAndroid + Retrofit + DataBinding 技术组合的 MVVM 解决方案 阅读全文
posted @ 2016-12-10 16:51 wchhuangya 阅读(1094) 评论(0) 推荐(0) 编辑
摘要: AdapterView 和 RecyclerView 的连续滚动androidRecyclerViewtutorial概述ListView 和 GridView 的实现方式RecyclerView 的实现方式复位连续滚动状态故障排查在自定义的适配器中显示进度概述应用中一个常见的使用场景就是:当用户滚动浏览的项目时,会自动加载更多的项目(又叫做无限滚动)。它的原理是:当滚动到达底部之前,一旦当前剩... 阅读全文
posted @ 2016-11-23 11:36 wchhuangya 阅读(5745) 评论(0) 推荐(0) 编辑
摘要: 使用 RecyclerViewandroidRecyclerViewtutorial概述与 ListView 的对比RecyclerView 的组件LayoutManagerRecyclerView.AdapterItemAnimator使用 RecyclerView安装定义 Model在布局文件中创建 RecycleView创建自定义的行布局创建 RecyclerView.Adapter把适配... 阅读全文
posted @ 2016-11-21 18:25 wchhuangya 阅读(1903) 评论(0) 推荐(0) 编辑
摘要: Android CoordinatorLayout 入门介绍 CoordinatorLayout View 知道如何表现 CoordinatorLayout View 知道如何表现 CoordinatorLayout View 知道如何表现 在 2015 年的 I/O 开发者大会上,Google 介 阅读全文
posted @ 2016-11-12 09:00 wchhuangya 阅读(12122) 评论(0) 推荐(0) 编辑
摘要: 27. Retrofit2 -- How to Use Dynamic Urls for RequestsRetrofittutorial用户案例场景如何使用动态 Url相对于基本地址,动态 Url 如何解析观点最终,Retrofit 2 为动态 url 添加了一个额外的注解。在 Retrofit 1 中,它是一个 hackround[1]。但在 Retrofit 2 中,它是一个注解,用于端点... 阅读全文
posted @ 2016-11-10 20:26 wchhuangya 阅读(569) 评论(0) 推荐(0) 编辑
摘要: 2. Retrofit2 -- Basic Authentication on AndroidandroidRetrofittutorial整合基本的认证Retrofit 1.9Retrofit 2.0用法Retrofit 1.9Retrofit 2.0Retrofit 1.9Retrofit 2.0上一节课中,我们创建了用于执行 API/HTTP 请求的原始 Android 客户端版本。本节课... 阅读全文
posted @ 2016-11-10 15:28 wchhuangya 阅读(2008) 评论(0) 推荐(0) 编辑
摘要: RandomUser 网站介绍toolsapi介绍使用结果API 错误请求多个用户指定性别密码种子格式使用早期版本国家页码包含/不包含字段杂项结束语介绍在 2013 年 8 月,该项目开始启动。项目的目的是:创建一个免费的、易于使用的服务,用于为应用的测试生成随机的用户数据。使用可以使用 AJAX 来调用随机用户生成器的 API,返回的结果中将包含一个随机生成用户。如果使用了 jQuery,可以... 阅读全文
posted @ 2016-11-08 21:07 wchhuangya 阅读(1433) 评论(0) 推荐(0) 编辑
摘要: RxBinding -- 官网说明新建模板小书匠作用组件平台绑定support-v4 绑定appcompact-v7 绑定design 库绑定recyclerview-v7 绑定leanback-v17 绑定开发问题作用RxBinding 的 API 用于把平台和兼容包内的 UI 组件变为 Observable 对象。组件平台绑定compile 'com.jakewharton.rxbindin... 阅读全文
posted @ 2016-11-08 09:05 wchhuangya 阅读(1842) 评论(0) 推荐(0) 编辑
摘要: Retrofit--官网2.1.0androidRetrofit介绍API 描述请求方法URL 处理请求体表单的 ENCODED 和 MULTIPARTHEADER 处理同步 VS 异步Retrofit 配置转换器自定义转换器下载使用 maven使用 GradlePROGUARD介绍Retrofit 将 HTTP API 转换为 Java 的接口:public interface GitHubS... 阅读全文
posted @ 2016-11-05 23:37 wchhuangya 阅读(2380) 评论(0) 推荐(0) 编辑
摘要: 1. Retrofit2 -- Getting Started and Create an Android ClientRetrofittutorial什么是 Retrofit如何申明请求准备 Android 项目使用 Gradle 或 Maven 定义依赖Retrofit 1.9 的依赖定义pom.xmlbuild.gradleRetrofit 2.0 的依赖定义pom.xmlbuild.gr... 阅读全文
posted @ 2016-11-05 23:32 wchhuangya 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 1. DataBinding - offical tutorialandroidDataBindingtutorial构建环境数据与布局文件的绑定data binding 表达式数据对象绑定数据事件处理方法引用监听绑定避免复杂的监听布局细节importvariable自定义绑定类的名称include表达式一般特性缺失的操作符null 的合并操作符属性引用避免 NullPointerExcepti... 阅读全文
posted @ 2016-11-04 22:35 wchhuangya 阅读(619) 评论(0) 推荐(0) 编辑
摘要: DataBinding 笔记androidDataBindingnotes那些年踩过的坑问题那些年踩过的坑非 public 类型的变量,getter 方法必须有,没有就会报错:Could not find accessor xxx.xxx.FiledName。原理是:DataBinding 需要给变量设置值、获取变量的值ObservableXX 类型的变量设置值时使用:fieldName.set... 阅读全文
posted @ 2016-11-04 22:29 wchhuangya 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 做过的自定义 View android view custom 音频条状图 需求 详细设计 具体实现 音频条状图 需求 音频图 最终效果类似于音频图中的条状图 只是效果模拟,并不监听真实的音频 条的宽度相同,高度随机;条的颜色是红到黄的线性渐变 随着时间的变化,条的高度发生变化 详细设计 自定义属性 阅读全文
posted @ 2016-09-11 12:15 wchhuangya 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 自定义ViewandroidcustomviewView 的测量测量类测量模式测量方法自定义View实现自定义 View 的三种方法View 的三个构造方法自定义属性xml 中定义layout 文件中使用Java 文件中获取自定义绘制View 的测量测量类MeasureSpec 类是一个 32 位的 int 值高 2 位为测量的模式,低 30 位为测量的大小在计算中使用位运算是为了提高并优化效率... 阅读全文
posted @ 2016-09-05 22:29 wchhuangya 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 拖拖看小游戏 ios project 本项目使用了 storyboard 和 xib 需求整理 一个滑动条 生成随机的目标数字 一个完成按钮 结果显示 积分累积 + 显示 轮数累积 + 显示 一个重新来过按钮 一个显示介绍的按钮 详细设计 横屏显示,禁止竖屏 页面布局: 屏幕最上方放置一文本控件,显 阅读全文
posted @ 2016-07-27 08:33 wchhuangya 阅读(500) 评论(0) 推荐(0) 编辑
摘要: UIView ios UIView UIView的常见属性 NSArray *subview; 所有的子控件 数组中元素的顺序决定着子控件的显示层级顺序(下标越大,越显示在屏幕的上面) @property(nonautomic) CGRect frame; 控件矩形框在父控件中的位置和尺寸(以父控件 阅读全文
posted @ 2016-07-23 17:44 wchhuangya 阅读(189) 评论(0) 推荐(0) 编辑
摘要: UIButton ios UIButton 类总述 为了响应用户的交互动作,UIButton 对象可以执行自定义的代码。当你按下按钮时,或选择一个已经获取焦点的按钮时,按钮就会执行任何绑定到它上面的动作。通过文本、或图片、或两者结合的方面表达按钮的意图。按钮的外观是可配置的,因此,你可以给按钮着色, 阅读全文
posted @ 2016-07-23 17:44 wchhuangya 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 故事板iosstoryboardstoryboard 的认识用来描述软件界面默认情况下,软件一启动就会加载 Main.storyboard加载storyboard时,会首先创建和显示箭头所指的控制器面板IBAction和IBOutletIBAction本质就是 void能让方法具备连线的功能IBOutlet能让属性具备连线的功能storyboard连线容易出现的问题被连接的方法被删除,但是连线没... 阅读全文
posted @ 2016-07-21 16:02 wchhuangya 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 在开发IOS应用中,当你编写自定义的类时,你会发现很多的特殊场合。当你需要把自定义的行为和数据包装在一起时,自定义的类非常有用。在自定义的类中,你可以定义自己的存储、处理和显示数据的方法。例如,IOS Clock应用中的World Clock面板。table view中的单元格需要显示比标准tab... 阅读全文
posted @ 2015-06-27 18:10 wchhuangya 阅读(807) 评论(0) 推荐(0) 编辑
摘要: 在你使用Objective-C语言开发应用时,你会发现在开发中,你会用到很多框架。尤其是Foundation框架,该框架为应用提供了最基础的服务。Foundation框架包括了代表着基本数据类型的value类,例如字符串,数值,它也包括了用于存储其它对象的collection类。在ToDoLis... 阅读全文
posted @ 2015-06-25 18:52 wchhuangya 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 设计模式解决了一个常见的软件工程学问题。模式不是编码,它是抽象的设计。它用于帮助开发者定义数据模型的结构和应用的交互。如果你采用了某种设计模式,你需要把它的一般形式适配到你特殊的需求上。不论你的应用是哪种形式,了解框架中使用的基本设置模式都是很有必要的。理解设置模式有助于你更有效的使用框架,还能... 阅读全文
posted @ 2015-06-13 18:33 wchhuangya 阅读(656) 评论(0) 推荐(0) 编辑
摘要: 在实现完应用的行为后,需要创建数据模型来支撑应用的界面。应用的数据模型定义了应用中数据的维护方法。数据模型可以是一个基本的dictionary类型,也可以是复杂的数据库,范围很广。好的数据模型可以更为轻松的构建伸缩性强的应用,还可以提升功能,改变特性。应用的数据模型由数据结构和(可选的)自定义的业... 阅读全文
posted @ 2015-06-12 09:30 wchhuangya 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 该教程是基于你在前面的课程中构建的项目上进行的。学完本教程后,你将使用你前面学到的视图、视图控制器、动作、导航的内容,还会为应用创建一些关键的用户界面,并在场景中添加行为以下就是本节课的内容:1. 使用storyboard来定义应用内容和流程2. 管理多个视图控制器3. 在用户界面上,给元素添加... 阅读全文
posted @ 2015-06-11 17:42 wchhuangya 阅读(819) 评论(0) 推荐(0) 编辑
摘要: IOS应用编程是基于事件驱动的编程。也就是说,应用的流程由事件来决定:事件包括系统事件和用户操作。界面上用户执行的操作会触发事件。这些事件导致应用的逻辑被执行,数据被操作。应用对用户动作的响应反映在界面上。因为是用户——不是开发者——控制了应用的某些特定代码片断被执行,因此,你一定要确定一个用户... 阅读全文
posted @ 2015-06-11 09:43 wchhuangya 阅读(473) 评论(0) 推荐(0) 编辑
摘要: ​ 用户需要以最简单的方式与应用界面进行交互。应该从用户的角度出发设计页面,使得界面更高效、简捷和直接。 storyboard以图形化的方式帮助你设计和实现界面。在设计和实现界面的过程中,你可以准确的看到你实现的界面是什么样的,界面上哪些东西合适,哪些东西不合适,以及你对界面随时的调整,都是... 阅读全文
posted @ 2015-06-10 17:17 wchhuangya 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 每个出色的应用都是由理念开始的。在开发应用时,你不需要把理念完善和完成后再进行开发。但是你确实需要确定你要做什么,做完后的效果如何。 为了定义理念,问自己以下的问题: 应用的受众是哪些人?应用的内容和体验将取决于你打算写一个游戏,还是一个待办事项的应用,或是为了学习知识而创建的一个测试... 阅读全文
posted @ 2015-06-10 16:11 wchhuangya 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 本节教程会带你浏览创建简单的用户界面、添加自定义行为的整个过程。完成本节教程后,你创建的应用就可以运行在iPhone和iPad上了。 本节教程会教给你如下技能: 1. 使用Xcode创建和管理项目 2. 确定一个Xcode项目的关键部分 3. 在IOS模拟器上运行应用 4. 在st... 阅读全文
posted @ 2015-06-10 15:42 wchhuangya 阅读(586) 评论(0) 推荐(1) 编辑
摘要: 安装 本课程对于创建运行在iPad、iPhone和iPod触摸屏上的应用来说,是一个完美的起点。该向导的四个板块可以作为构建你第一个应用的简单向导——内容包括了你需要使用的工具,主要的理念和最佳的实践。 前三个板块组成了一个教程,在这个教程中,你需要实现你所学到的知识。在最后一个教程的末尾,你... 阅读全文
posted @ 2015-06-10 14:26 wchhuangya 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 在GoF的23种设计模式中,单例模式是比较简单的一种。然而,有时候越是简单的东西越容易出现问题。下面就单例设计模式详细的探讨一下。所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在。就像是Java Web中的application,也就是提供了一个全局变量,用处相当广泛,比如保存全局数... 阅读全文
posted @ 2014-05-27 17:34 wchhuangya 阅读(373) 评论(0) 推荐(1) 编辑
摘要: 服务是一种应用组件,它可以在后台执行耗时的操作,它是没有用户界面的。其它的应用组件都可以开启一个服务,服务开启后,即使用户离开了应用,服务仍然可以在后台运行。此外,绑定到服务的组件可以与服务进行交互,甚至执行跨进程的通信(IPC)。例如,服务可以处理网络事务,播放音乐,执行文件I/O操作,或者和内容提供器进行交互,这一切的一切都是在后台运行的。 从本质上说,服务可以有两种形式: started:当某个应用组件(例如activity)调用了startService() 方法,那这个服务就是"started" 的。一旦服务被启动,它就可以立即在后台运行,即使启动服务的组件在启动 阅读全文
posted @ 2013-09-19 21:26 wchhuangya 阅读(783) 评论(0) 推荐(0) 编辑
摘要: Setup - 安装 1. 在Eclipse里,只需要把库引入Android library project就可以了。选择Project->Clean动作来生成你项目所需要的二进制数据,例如R.java等。 2. 然后,把SlidingMenu添加为你项目的引用就可以了。 译者注:添加项目引用比较麻烦,在这里说明下: a. 下载zip包。下载地址:https://github.com/jfeinstein10/SlidingMenu。网页打开后,下载在右边,如图: b. 解压压缩包,然后将里面的library项目导入到你项目的工作空间。导入的方法是:New->Android-> 阅读全文
posted @ 2013-09-09 19:09 wchhuangya 阅读(8243) 评论(6) 推荐(3) 编辑
摘要: 该文档提供了Android SDK v3的部分元素的高级配置说明。Overview - 概述 Android Google Analytics SDK提供了Tracker类,应用可以用它给Google Analytics设置和发送数据,GoogleAnalytics的单例为你实现的全局配置值提供了接口。Initialization - 初始化 在开始检测数据之前,你必须通过GoogleAnalytics单例实现至少一个跟踪,你需要提供的参数有Context和Google Analytics的属性ID。 // 使用Google Analytics的属性ID来初始化一个跟踪 GoogleAnal. 阅读全文
posted @ 2013-09-09 08:32 wchhuangya 阅读(2501) 评论(0) 推荐(0) 编辑
摘要: 该文档讨论了如何开始使用Google Analytics SDK for Android v3。Before you Begin - 在开始之前 在开始实现SDK之前,请确保有下面的东东: 1. 安装了Android developer SDK 。 2. Google Analytics SDK for Android v3(把它里面的libGoogleAnalyticsServices.jar放置到项目根目录的libs目录下,并把它放入build path)。 3. 用来实现Google Analytics的Android应用项目。Getting Started - 开始 使用SDK有三个步 阅读全文
posted @ 2013-09-08 22:13 wchhuangya 阅读(2521) 评论(0) 推荐(0) 编辑
摘要: 一个应用通常包含多个Activities。每个activity的设计应该围绕着某种指定类型的action,如果这样做了,用户就可以执行该action,也可以用它来开启另外的activity。例如,邮件应用可能会有一个用于展示新邮件列表的页面。当用户选择了一封邮件时,就打开一个新的activity来浏览内容。 一个activity甚至可以打开存在于同一设备上不同应用里的activity。例如,如果你的应用想发送邮件,你可以定义一个intent来执行这个“发送”的动作,并在intent里带上数据,例如邮件地址和内容等。其它应用中已经申明自己可以处理这种intent类型的activity就会被打开. 阅读全文
posted @ 2013-09-06 22:27 wchhuangya 阅读(1905) 评论(2) 推荐(1) 编辑
摘要: Loaders从Android 3.0引入,它使得在activity或是fragment里进行异步数据加载变得非常简单。Loaders有如下的特性:它在每个Activity 和Fragment 里都可用。它提供了异步读取数据的机制。它可以监控数据相关的资源,当它们的内容发生变化时,会分发新的结果。在配置发生变化引起重建后,它们会自动重新连接到最新loader的游标上。因此,不需要重新查询数据。Loaders API Summary - 加载器API摘要 在应用里,Loaders提供了很多的类和接口,表格里是类的概要说明:Class/InterfaceDescription--描述LoaderM 阅读全文
posted @ 2013-08-23 11:27 wchhuangya 阅读(567) 评论(0) 推荐(1) 编辑
摘要: 在activity中,Fragment代表了一种行为和用户界面的一部分。在一个activity里,你可以联合多个fragment来创建一个多面板的UI,你也可以在多个activity里重复使用同一个fragment。你可以把fragment当作activity里一个模块化的部分。fragment有自己的生命周期,接收自己的输入事件,当activity运行时,你可以添加移除fragment。 一个fragment总是被嵌入到activity中,并且它的生命周期会受到宿主activity生命周期的影响。例如,当activity暂停时,它里面的fragment都暂停了,当activity停止时,它. 阅读全文
posted @ 2013-08-21 16:54 wchhuangya 阅读(1765) 评论(2) 推荐(0) 编辑
摘要: Activity是个应用组件,它给用户提供了为了完成某些工作而可以进行交互操作的界面,例如,电话详情,打电 话,发邮件,或是浏览地图。每一个Activity都有一个窗口来绘制自已的用户界面。通常来说,activity的窗口充满了整个屏幕,也可能比屏幕小并且浮动在其它窗口之上。 应用程序通常是由一些松散的、但是相互绑定的Activity组成。一般来说,应用中的某个activity被指定为“主要”的activity,也就是当用户第一次运行应用时运行的activity。每一个activity都可以启动其它的activity来进行不同的动作。每次,当一个新的activity开始的时候,先前的acti. 阅读全文
posted @ 2013-08-16 09:20 wchhuangya 阅读(975) 评论(0) 推荐(1) 编辑
摘要: Android应用是使用Java编程语言编写的。Android SDK工具把代码、资源和数据文件编译为一个Android包,这是一个有.apk后缀的压缩文件。一个单独的.apk文件里包含所有的代码,这被当作一个应用,而且这个.apk文件是Android设备用来安装应用的文件。 一旦在设备上安装了应用,那么每个应用都在自已安全的沙盒里运行: 1. Android操作系统是一个多用户的Linux操作系统,在这个系统里,每个应用都是一个不同的用户。 2. 默认地,系统把每一个应用都标识为一个独一无二的Linux用户ID(这个ID仅仅可以被系统所使用,对于应用程序来说,它是不可见的)。系统为每个应用. 阅读全文
posted @ 2013-08-15 19:19 wchhuangya 阅读(1010) 评论(0) 推荐(2) 编辑
摘要: Android应用框架可以让你使用一系列可重用的组件来创建极其丰富和新颖的应用。本节说明了Android应用如何工作,如何使用组件来创建应用。Managing the Activity Lifecycle -- 管理Activity的生命周期 该课程解释了重要的生命周期的回调方法,这些方法是每一个Activity的实例都接收的方法,课程还展示了你如何使用这些方法来使你的应用做到用户期望的那样,并且当你的应用不需要它们时,让它们不会消耗系统的资源。Building a Dynamic UI with Fragments -- 使用Fragments来构建一个动态的UI 该课程展示了如何使用fra 阅读全文
posted @ 2013-08-15 19:16 wchhuangya 阅读(779) 评论(0) 推荐(0) 编辑
摘要: struts2框架,大多数框架都在使用。由于工作需要,开始做Java项目。先学个struts2。 一、下载struts2 有好多版本,我下载的是struts-2.2.1.1。 二、创建web项目,导入使用struts2所必须的jar包。 我使用的是MyEclipse 7.5。建立web项目,给项目添加外部引用包(project-properties-Java Build Path-Add External Jars...)。添加的包有:commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,commons-logging-api-1.1.jar,f. 阅读全文
posted @ 2011-03-21 11:56 wchhuangya 阅读(117226) 评论(13) 推荐(10) 编辑