在前几篇文章中都是讲的基础,大家应该会觉得非常熟悉,但往往我们可能对于基础某些细节认识不够彻底或贯穿不全,我一直认为基础都是比较难的,那么本章节终于到进阶啦,主要讲的是View 的相关知识,在前面《Android 面试题总结之Android 基础 (六)》 中已经对View有了一定的了解,由于内容较多且也是面试必考题,所以将分两篇继续深入的理解View。

国庆长假闲来无聊,沿着自己喜欢的简约风格自己设计了个在线豆瓣FM,目前正在完善。。。。
先记下笔记
React 的安装包,可以到官网下载。不过,React Demos 已经自带 React 源码,不用另外安装,只需把这个库拷贝到你的硬盘就行了。

现在apk越来越大,原因有如下几个: 1.多dpi支持([l|m|tv|h|x|xx|xxx]dpi) 2.Android开发工具和生态系统的发展 3.为了提高用户体验的高分辨率ui设计 4.无用代码,重复类库的编译 随着项目的开发,项目体积不断增长,应用体积也变大了许多,会让很多用户会放弃安装,为了给apk瘦身,翻阅了大片文章,总结一下自己在开发中的经验

 实在是不喜欢使用Windows了,时间长了就变得卡顿,还是喜欢Linux的文件系统不会像Windows的文件系统一样产生碎片化严重、 用Linux开发Android 感觉太好了,Android Studio 美观,编译速度也快,终端好用。这里我使用的是Ubuntu 安装Android Studio 非常方便。 ##1.百度网盘Android Studio 资源 Android集成环境 NDK JDK 总链接 : http://pan.baidu.com/s/1bnjaDKb;
CoolxLib 进行了大量重构是一个集缓存,错误处理的,网络请求框架,更全面的http请求协议,拥有更加灵活的ORM,不受混淆影响...并且支持更安全的Https CoolxLib *主要模块功能: *网络请求模块, *数据库操作模块, *万能工具类模块, *上传头像模块, *网络请求模块: github地址:https://github.com/fushenghua/CoolxLib 
   Gradle其他好处就不多说,在android应用发布的时候,如果要统计多个渠道,gradle 批量打包的好处就显示出来了, 发现确实比Ant打包会方便很多,就说下本篇Gradle作用吧

Eclipse ADT 谷歌已经放弃支持了,大家都开始用Android Studio开发项目,但还是有人习惯是用Eclipse 开发,而为了让项目兼容多种IDE,满足 用Eclipse和Android Studio 开发人员,我们使用Eclipse 创建项目,这里就不多说了,Android Studio 、Eclipse 同步开发目前有两种方案。 * 1.第一种:(推荐) 把代码checkout 到app 目录下 ,然后粘贴如下代码 到 Gradle,关于Gradle 基本使用,在前面文章已经有提过 主要是配置对应文件目录就好了。

	    sourceSets {
	        main {
	            manifest.srcFile 'AndroidManifest.xml'
	            java.srcDirs = ['src']
	            resources.srcDirs = ['src']
	            aidl.srcDirs = ['src']
	            renderscript.srcDirs = ['src']
	            res.srcDirs = ['res']
	            assets.srcDirs = ['assets']
	            jniLibs.srcDirs = ['libs']
	        }
	    }
    
Android Studio默认使用 Gradle 构建项目, Eclipse 默认使用Ant构建项目。建议Android Studio导入项目时,使用 Gradle 构建项目。 关于如何使用 Gradle 构建项目,可以看我的《用Android Studio Gradle 构建、打包、发布项目》文章 * 2.第二种:
只Checkout对应目录src 代码,lib 对应jniLibs目录,详细后期再说吧。。。。(推荐使用第一种方案)

Handler在Android开发中非常重要,最常见的使用场景就是在子线程需要更新UI,用Handler来投递消息到主线程执行UI更新操作。因为 Android系统的View是非线程安全的,所以需要在主线程更新UI。总的来说Handler就是用来做线程间通信,在不同线程之间传递消息。 注:这篇文章所讲到的Handler是在主线程创建的,主线程在开始的时候已经创建了默认的消息循环。后面的文章会讲如何创建自己的消息循环。 从图中可以看出,四种颜色分别代表了四个对象,并且大致描述了几个对象之间的关系,以及消息的流转过程,首先Handler通过sendMessage将消息投递给MessageQueue,Looper通过消息循环(loop)不断的从MessageQueue中取出消息,然后消息被Handler的dispatchMessage分发到handleMessage方法消费掉。 消息循环中涉及的重要对象

UIKit 基本上没啥变化,主要是Swift 语言的变化,代码创建控件API都很相似。
Weather 是Swift 和Object-c 混合开发,利用定位获取当前位置 天气,使用JSONKit 进行JSON格式数据解析,废话不多说 直接上源码吧 源码地址: github:https://github.com/fushenghua/Weather

 在JAVA中,闭包是通过“接口+内部类”实现,而在swift中我们也可以把函数理解成闭包,函数的分类:自包含函数代码块,(全局函数)有名称函数,(闭包表达式)匿名函数 ,嵌套函数

在基础学习中,我们大致了解swift开发了,本篇文章中将对swift数据类型进行介绍,swift数据类型和java 也很类似。 我们知道java要求我们在每条语句的结尾都必须带上分号(;),而swift并不强制要求这一点,但我喜欢加上分号(;)更好一点 废话少说;

Swift 用来写iOS和OS X程序. Swift吸取了C和Objective-C的优点,且更加强大易用。 Swift可以使用现有的Cocoa和Cocoa Touch框架。 Swift兼具编译语言的高性能(Performance)和脚本语言的交互性(Interactive)。