2014年04月 存档

Launcher3分析之拖动图标的流程——按下

2014年04月23日,星期三

(系列文章点这里)

拖动图标是Launcher的特色,非常形象地解释了如何改变桌面的布局,让小白用户也可以轻松上手,这背后所做的工作也是把复杂的东西简单化,简单到按下-移动-松开。

今天说一说这个按下的过程是如何产生的。这里说的按是长按,长按就要找到他的长按监听器。在Workspace中addInScreen方法最后,给图标设置的监听器是Launcher对象,他实现了onLongClick方法。

拖动的流程-按下
(更多…)

Android Studio试用总结

2014年04月22日,星期二

Android Studio是一年前Google I/O上推出的一款Android开发IDE,他基于JetBrains’ IntelliJ IDEA,目前还在preview阶段。增强了布局拖拽和预览功能,使用了新的构建系统Gradle,增加了android相关的重构和quick fix功能。之前听说用Android Studio来构建应用程序的时候会很方便,而且在学习常用Android开源项目的时候看到大部分都提供了对Android Studio的支持,所以就折腾了下,分享点经验给大家。

大多数Android Studio尝鲜者遇到的最大的障碍是Gradle,启动的时候非常慢,他需要从Maven库下东西,网络不稳定,这就坑了,不知道别人怎么解决的,我是翻墙搞的,光这一点就阻止了Android Studio大陆范围内推广,而且多人合作的时候同伴不一定习惯这个东西。网络的问题如果解决后,就需要了解Gradle的构建原理,这也需要费一番功夫的,去年谷歌I/O上有40分钟的视频来说明他是怎么工作的,链接在这里,讲的很清楚,在Linkedin上查到主讲人的头衔是”Tech Lead for the Android SDK at Google”。

你可以新建一个HelloWorld工程感性的认识一下Android Studio的使用。你肯定会在这个过程拿他和Eclipse做对比,很可惜的是,他们的目录结构不像AppCode和Xcode一样目录完全兼容可以相互无缝替换,不能直接import对方的工程,虽然现在Eclipse提供了功能可以把现有项目导出来再导入到Android Studio中,但是这个过程并不是无痛的,也会有些小问题,很麻烦;反过来,要把Android Studio中的项目导出来到Eclipse中,那就是纯属找事了。
(更多…)

不要太把学习当回事

2014年04月17日,星期四

还在上学的时候,每学一个新东西都要调研很久,比如说要学习新语言了,就会上各大论坛,搜各种社区的资料,比如对c++和java有兴趣,就会搜“我想学习新语言,c++和java哪个有前途?”,等考察了好长时间,终于决定了学习c++,就开始纠结着另外一个问题,“我想学习c++,是《c++编程思想》好还是《c++程序设计语言》好?”,最终决定了哪一本,开始看,一字一句不漏。耗费了很长时间在选择上,好像学习编程是一件轰轰烈烈的事情,等我一字一句弄懂书上的每一个细节,我就可以成为跟作者水平一样的高手。

其实大可不必,没必要把学习某个东西当成太大的事,精心调研精心准备,找一本书就可以动手了,你用来犹豫的时间完全可以完成某个技术的入门。就比如说你想做移动开发,不必纠结是android好还是iOS好,直接动手搭建开发环境,跑一个HelloWorld出来,看看他们各自的开发流程都是什么样子的,随便翻看一本相关的书籍,了解进阶时需要学习的东西。这样有感性的体验和对学习成本的估量之后,选择自然而然就有了。看的越重,走的越慢。

Launcher3的启动流程(二)

2014年04月10日,星期四

(系列文章点这里)

在启动流程的上一篇之中,Launcher的onCreate方法做了一些准备工作。下面就要LoaderTask上场了。

LoaderTask (1)

Activity.onCreate在接近结尾的地方调用了mModel的startLoader方法,他把LoaderTask对象放到了工作线程中。
(更多…)