疯狂Android讲义中有没有android viewpagerr

Android(12)
& & & &如今移动开发已太太太饱和了,想必今年找工作的androider深有感触,据说ios的更甚。但鉴于有同事业务需要,从别的语言转到安卓开发上来,趁此就写篇博客,也整理一下自己学安卓以来的感受。本人入门时读的书是李刚的《疯狂Android讲义》,之前还啃过他的另一本砖头《疯狂java讲义》。感觉他的疯狂系列都挺经典的,比我大学时的教材强得多。那就从《疯狂Android讲义》(第2版)这本入门书讲起吧。
& & & &android app开发主要使用的语言还是Java,在此就当读者都有Java基础。
& & & &1、书中第一章讲的主要是Android的体系架构以及开发工具。
& & & & & & &SDK----开发工具包(箱),简单说,里面包含着android开发所需要的API。
& & & & & & &ADT----android开发工具,个人觉得这个东西解释起来有点抽象,不过作为初学者完全没必要关注这个东西,因为——谷歌已经都替你弄好了,你直接用就是了。以前android开发工具都是用Eclipse,安装上ADT插件,就可以了,如今绝大多数都是用Android Studio,里面已经集成了SDK和其他开发所需的东西,开发工程中如果还需要什么东西,直接在android
studio上下载就是了。不过个人印象中,电信网是可以更新和下载到的,联通网连不到,因为,毕竟是谷歌的东西啊!你懂得。
& & & & & &第一章中还讲到创建AVD、DDMS调试、电脑和手机之间相互复制、SD卡、应用签名等等内容,这些了解一下就可以了,暂时不用关注。
& & & & & &第一章主要知道主流开发工具是Android Studio,并会用它创建一个只有一个界面的app就够了。其他的内容能看懂最好,看不懂也不打紧,以后会慢慢明白的。
& & & &2、第二章主要是讲常用的控件。这章没什么好说的,就是很直接的告诉你有哪些现成的控件(比如按钮)可以供你使用,作为初学者,你重点记住Button、TextView、EditText、ImageView、Toast好了,还有就是线性布局、相对布局、帧布局,这三种是最常用的。谷歌在后来又推出了百分比布局、ConstraintLayout等,越来越先进,不过初学者可以先不关注。
& & & & 纵观第二章,其实整章都挺重要的,基本都是常用的控件,将来还会有不少自定义控件都是继承自它们的。
& & & &3、第三章,整章都是重点,100%都是重点。事件监听,这可是手机上最常发生的东西了。手指每次触碰屏幕都是一系列事件。将来自定义控件这里也是绕不开的地方。
& & & &4、Actvity和Fragment,在早期,安卓里大量使用Activity,但由于这玩意开销很大,也不太易于维护,貌似是借鉴ios,推出了Fragment,如今大多Fragment和Viewpager结合Activity使用。作为初学者,这章的内容还是好关注的,重点就是两个Activty或与Fragment之间怎样跳转、传递数据,即Intent、Bundle;还有Activity的生命周期,这是非常重要的一点,将来有很多逻辑需要在这些生命周期方法里写,比如从一个界面退出,这时Activity可能会被销毁(它的onDestroy()
会执行),你就可以把一些释放资源的逻辑写在ondestroy &( )里。
& & & &5、第五章(Intent和IntentFilter)和第六章(android应用的资源),个人觉得较前面几章更抽象,也更枯燥,第五章重点记住通过设置action可以用Intent启动四大组件,第六章则记住怎样定义color、shape、dimen并使用它们就好了,至于动画、样式、各种drawable可以先看看有个印象,不必深究。
& & & &6、第七章讲图形图像,这一章基本可跳过,因为这章的主要内容是为app“锦上添花”,对功能实现无多大影响。如果非要定个重点,就是View的绘图基础(canvas、paint)和Surfaceview,以后自定义控件可能会用到。
& & & &7、第八章,数据存储,又是一个重点章节。8.4节手势之前的都是重点。从手势开始,可以留个印象就行了。
& & & &8、第九章,ContentProvider,这个东西主要是跨应用的时候使用,比如QQ去查询手机里的通讯录(手机通讯录也是一个app,只不过是android自带的app)。所以这一节随便看看就行了,因为初学者一个app可能都写不好,先不用关注跨应用。
& & & &9、第十章,servier和broadcastReceiver,又是一个重点啊!是app中使用非常频繁的两个组件。重点:启动servervice的两种方式和区别,broadcastReceiver怎样使用。最好把AIDL和IntentService也重点关注下。书中的例子,看看就行了,不用特别关注。
& & & &10、多媒体,这一节......随便看看吧,有兴趣可以多看看。
& & & &11、第十二章,opengl和3D,直接跳过吧!
& & & &12、第十三章,网络,这部分跟java大同小异,不过作为一个app,联网可以说是最基本的功能,所以网络部分还是相当重要的,实际编写时会用到很多第三方框架。
& & & & 再往后的章节就随便了,初学者凭兴趣看。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:15861次
排名:千里之外
原创:24篇
(2)(1)(2)(2)(4)(1)(1)(1)(1)(2)(2)(4)(2)安全检查中...
请打开浏览器的javascript,然后刷新浏览器
< 浏览器安全检查中...
还剩 5 秒&Android 学习资料收集
收集整理这份资料灵感来自于 , 征得同意引用了该资料的开头描述
收集整理这份资料主要帮助初学者学习 Android 开发, 希望能快速帮助到他们快速入门, 找到适合自己学习资料,
节省再去收集学习资料时间.
这份资料我会不断的更新完善, 同时也欢迎更多具有丰富经验的Android开发者将自己常用的工具、学习资料、学习心得等分享上来, 我将定期筛选合并, 该份学习资料有不足的地方, 也请指出, 我会谦虚接受改正, 希望我能与大家一起来学习, 谢谢.
如果您有任何意见或建议也可以通过或联系我
的大力支持
=============================================================
学习 Android 开发, 首先需要 Java 基础, 这里推荐 Thinking In Java, Thinking In Java 是 Java 的经典书籍, 是学习 Java 语言必备书籍
郭霖大神的杰作, 郭神在CSDN中的博客文章非常不错, 书我看了, 非常适合新手, 里面的内容非常棒, 建议结合郭神博客文章一起来学习
作者是李刚, 这本书是基于 Android 5.0 来讲的, 我看过第二版, 这本书给我第一感觉就是很厚, 但里面内容写的还是很详细的, 代码很多, 可以跟着代码一步步敲
本书作者 @Tomcat 的猫, 曾就职于上海 TCL 通讯, 从事 Alcatel(阿尔卡特) Android 手机系统的定制工作, 活跃于 CSDN, 目前就职于上海沪江网 Android 开发部RD项目组, 负责沪江 App 的功能预研
由@任玉刚Coder所著, 是一本 Android 进阶类书籍, 采用理论, 源码和实践相结合的方式来阐述高水准的 Android 应用开发要点. 本书从三个方面来组织内容: 第一, 介绍 Android 开发者不容易掌握的一些知识点: 第二,结合Android源代码和应用层开发过程, 融会贯通, 介绍一些比较深入的知识点: 第三, 介绍一些核心技术和Android的性能优化思想.
本书作者是包建强, 本书是作者多年 App 开发的经验总结, 从 App 架构的角度, 重点总结了 Android 应用开发中常见的实用技巧和疑难问题解决方法, 为打造高质量 App 提供有价值的实践指导, 迅速提升应用开发能力和解决疑难问题的能力. 这本书非常有利于 Android 开发者进阶.
本书作者是开发技术前线创立者之一 Mr.Simple, 该书从 Android 源码的角度由浅入深地剖析设计模式的运用, 让工程师们把设计与模式重视起来, 提升自己的设计能力与代码质量
开发环境/工具
收集维护超多开发工具下载地址 , 后五个工具资料在
博客中找到的,)
这个开发工具上手需要一定的时间, 自从 Google 推出1.0正式版, 这个工具一直火爆, 谷歌也不停更新维护, 性能逐渐稳定提高, 目前 github 上面的绝大多数开源项目都是使用 Android Studio 工具, 这就是开发 Android 必须掌握使用的工具, 如果还在使用 Eclipse 开发 Android 的童鞋们, 赶紧换成 AS 开发吧
强大好用高性能的 Android 模拟器, 自带的那个模拟器简直不忍直视, 启动超慢的, 跟这个没法比, 无论你是用 Eclipse 还是 Android Studio 里面都有 Genymotion 插件
一个 Android 反编译神器, 不同于常见的 , 这个反编译器生成代码的 try/catch 次数更少, View也不再是数字 id 了, 可读性更高
可以根据指定颜色生成 Selector Drawable 的插件
Gradle 依赖自动补全插件
sv 是一款免费 APK 分析软件, 对你感兴趣的 APP 分析看看它们都用了些什么, 对你学习借鉴有一定帮助
layout 文件夹里的布局文件一般很长很长没有目录, 这个插件就可以把 layout 分好层级结构, 类似 src 下目录结构
在编辑代码最右侧, 显示一块代码小地图
统计整个项目行数的插件, 这可表示我们日日夜夜辛辛苦苦必备插件
在 AS 中编写 Markdown 文件, 可以直接预览网页显示效果, 对于你经常编写 Markdown 文件的你值得拥有这个插件
Stetho 是 Facebook 出品的一个强大的 Android 调试工具,使用该工具你可以在 Chrome Developer Tools 查看 App 的布局, 网络请求(仅限使用 Volley, okhttp 的网络请求库), sqlite, preference, 一切都是可视化的操作,无须自己在去使用 adb, 也不需要 root 你的设备
ClassyShark 是 Google 发布的一款可以查看 Android 可执行文件的浏览工具, 支持.dex, .aar, .so, .apk, .jar, .class, .xml 等文件格式, 分析里面的内容包括 classes.dex 文件, 包方法数量, 类, 字符串, 使用的 NativeLibrary 等
使用 WiFi 连接而不需要 USB 连接 Android 设备达到安装, 运行, 调试应用的目的
Checkstyle-idea 是一款检查自己写的代码是否符合规范的插件, 该插件是根据 checkstyle.xml 文件来检查的, checkstyle.xml 文件可以由自己自己定义, 也可以使用一些大公司定义的规范, 如果不懂得如何定义, 可以查看 , 该插件的详细介绍以及使用, 可以看一下咕咚大侠写的
ECTranslation 是 Android Studio 开发工具的一个翻译插件, 可以将英文翻译为中文, 英语基础差的童鞋装上它就可以轻松阅读 Android 源码啦
统计 Android 依赖库中方法的总个数, 避免应用方法数超过 65K 问题
可用于将项目中的 string 资源自动翻译为其他语言的插件, 其翻译支持使用 Microsoft Translator 或 Google Translation
ButterKnife 生成器, 使用起来非常简单方便, 为你简写了很多 findViewId 代码, 如果你不了解 ButterKnife 的可以到看看
设计师给我们提供好了各种资源, 每个按钮都要写一个selector是不是很麻烦? 这么这个插件就为解决这个问题而生, 你只需要做的是告诉设计师们按照规范命名就好了, 其他一键搞定
现在大多数服务端 api 都以 json 数据格式返回, 而客户端需要根据 api 接口生成相应的实体类, 这个插件把这个过程自动化了, 赶紧使用起来吧
Android中的序列化有两种方式, 分别是实现 Serializable 接口和 Parcelable 接口, 但在 Android 中是推荐使用 Parcelable, 只不过我们这种方式要比Serializable方式要繁琐, 那么有了这个插件一切就ok了
良心企业 Square 最近刚开源的一个非常有用的工具, 强烈推荐, 帮助你在开发阶段方便的检测出内存泄露的问题, 使用起来更简单方便, 而且我们团队第一时间使用帮助我们发现了不少问题, 英文不好的这里有雷锋同志翻译的中文版
该作者收集整理了 40 个插件, 可以说是史上最全的了
Android官网博客, 在上面可以关注 Android 最新的进展与最权威的博客(需翻墙)
博主是上海薄荷科技开发主管, 他的博客分享了他从编程白痴到自学 Android 一路走过的经验, 写了一篇
帮助了无数人, 里面还有很多好的文章非常适合新手入门, 并且是微信公众号「AndroidDeveloper」的运营者, 可以算是 Android 界最有影响力的公众号之一了, 强烈推荐关注
目前就职于腾讯上海从事 Android 开发的工作, 发起 Google Android 官方培训课程中文版翻译, 这课程是学习 Android 应用开发的绝佳资料
目前在滴滴负责 Android 客户端技术, 他是开源库项目收集达人, 你想要的开源库都有, 并且发起 Android 开源项目源码解析, 在使用开源库的同时也可以知道其中原理, 大家可以去关注一下,
博主郭霖是大神, 人人都称”郭神”, 是第一行代码的作者, 博主在 CSDN 上所写的文章都非常值得学习
90后 Android 大神, 称作库达人, 博主收集了很多 Android 开源库, 博主自己也做了很多开源库, 非常值得学习
Android 开发工程师, 目前在北京工作. Google big fan, 热爱开源, 热爱分享, 活跃于 GitHub, G+, Twitter, 捕捉Android最新资讯和技术, ViewPagerIndicator 开源项目分析者
张鴻洋是 CSDN 博客专家, 博主在 CSDN 所发布的每一篇文章都是干货, 都很值得大家去学习
张兴业同样也是 CSDN 博客专家, 博主专注移动互联网开发, 关注移动支付业务
hi大头鬼hi 是阿里巴巴集团的一名 Android 工程师, 擅长 Android, RxJava, RxAndroid, ReactNative, Node.js, 大前端, 可谓是全栈工程师, 如果你对 RxJava 技术感兴趣, 不妨到他的博客看看, 他写了一系列有关 RxJava 的介绍
这里面收集了很多国内外开发者的信息, 大家可以去看看
IT 界的问答社区, 你开发当中所遇到的问题基本上都能在这里能寻找到你想要的答案
SegmentFault 是一个专注于解决编程问题, 提高开发技能的社区
CSDN 是全球最大中文IT技术社区
高质量的技术分享社区
GDG 是 Google Developer Groups 的缩写, 中文名称是谷歌开发者社区
开源项目学习
Google I/O Android App 使用了当时最新推出的 Material Design 设计
一个跨多个平台音乐播放器
Google 开源的一个儿童教育和娱乐的 App
开源者 github 团队, 支持项目的 lssues 和 Gists 并集成了新闻 feed 以便及时获取来自组织好友和资料库的更新信息, 还提供了一个用于快速访问你创建,监控以及发布 issue 面板, 可查看并将问题加到收藏夹
一个完整版 Twitter 第三方客户端, 属于顶级水平, 而且在源代码 100% 开源, 学习资源让你取之不尽
开发者是代码家为 AnimeTaste 全球动画精选开发的 Android 客户端, 国内很少见的精彩而且开源的 APP, 获得豌豆荚110期设计奖
开发者是代码家, EverMemo 是一款让你快速记录与分享灵感的随身便签, 极简的界面与卡片式布局, 让你记录与查找便签更有效率
开发者是 stormzhang 博主,这个开源项目教你使用 Studio, Gradle 以及一些流行的开源库快速开发一个不错的 Android 客户端
MiCode 便签是小米便签的社区开源版, 由 MIUI 团队()发起并贡献第一批代码, 遵循 NOTICE 文件所描述的开源协议
开发者是许晓峰(Drakeet), 获得豌豆荚设计奖, 这个是初期版本, 新版没有开源, 但是在博主的博客当中将一些新版的内容都剥离出来写成了文章,可以去学习一下
开发者是 Ian Lake , 就职于 Google, 这款是定时更换桌面精美壁纸 App
一个仿新浪微博客户端 App, 基本都含有新浪微博的功能, 开源团队写了一份 wiki 文档, 可以去学习一下该 App 是如何实现的
开发者是白瓦力, 项目结构清晰, 代码分包合理, 很棒. 很适合新手去学习如何搭建一个 App 结构, 熟悉开发一个完整 App 的流程
eoe 社区Android客户端
开源中国社区 Android 客户端, 此开源的是 v1 版本, v2 版本将在 2015 年年中开源
开发者是, 这个是 v2ex Android 第三方客户端
功能比较完整的 Twitter 客户端
一款简单易用个人理财 Android 程序
Coding 类似于 github 一个代码托管平台, 这个是 Coding 的 Android 版客户端
二维码扫描工具,市场上许多应用的二维码扫描工具都是从这个修改得到的
编辑机批量上传照片到 facebook 上,代码分包合理,很棒,不过这个项目依赖的开源项目比较多, 比较难编译
todo.txt 官方 Android 应用, 一个极简的将待办事件记录在 .txt 文件中
一个让你懂得如何去选择一本书的 APP, 具有扫描搜索查询图书的信息功能
开启摄像头在你所在位置寻找鬼魂, 进行打鬼游戏
AntennaPod 是一个自由, 开源的播客客户端, 支持 Atom 和 RSS Feed
开发者是冯建, 一个专注收集 android 相关干货(文摘,名博,github等等)资源 App
一个查看黑客新闻报道和评论的 App
ProxyDroid 是一个帮助你在你的 Android 设备上设置代理 (HTTP / SOCKS4 / SOCKS5)
Android平台手势识别应用, 简单的手势就可以进入预置的应用, 方便快捷
指读顾名思义就是用手指去阅读浩瀚的书海
开发者是, 快捷音乐使用到开发框架, 拥有界面绚丽, 操作简单, 播放手机本地音乐, 在线收听音乐等功能, 还支持: 新浪微博, 百度账号, QQ 账号的一键登录
OSCHINA 第三方客户端, 这个版本界面比官方版本界面好看多了, 使用的是 Material Design, 界面看上去非常清爽舒服
博客园第三方客户端, 使用到缓存技术, 当你打开一次之后的博客内容, 会自动保存到设备中, 下次打开阅读同一文章时不需要再利用网络加载, 大家如果想为自己 App 搞缓存的, 可以研究一下该 App 是如何实现的喔
该 App 是 cnBeta(中文业界资讯站) 第三方阅读客户端, 界面也是使用 Material Design, 还加上一些动画效果, 让人阅读文章起来不会感觉枯燥, 值得去研究学习一下
BlackLight是由纸飞机开发团队开发的一款Android上的新浪微博第三方轻量级客户端
Actor(优聆) 是一款即时通讯 App, 解决网络通讯差的情况, 支持离线消息和文件存储, 自动与手机联系人建立联系等等
一个遵循 Material Design 的一个设计新闻客户端,里面的一些完全MD的一些特效很棒,同时整个客户端的框架设计也很有参考意义
一款基于 Google Material Design 设计开发的 Android 客户端, 包括新闻简读, 图片浏览, 视频爽看, 音乐轻听以及二维码扫描五个子模块, 项目采取的是MVP架构开发
PHPHub Android 客户端, 项目架构使用 nucleus 简化 MVP 架构, API 请求返回数据使用 RxJava 进行处理, 客户端使用了独特的二维码扫码登录, 有兴趣的可以去研究一下
闲暇(Leisure)是一款集”知乎日报”, “果壳科学人”, “新华网新闻”以及”豆瓣图书”于一体的阅读类 Android 应用, 项目里面有多语言切换、夜间模式以及无图模式, 如果你还不知道这些技术怎么实现, 不妨参考一下这个项目
开发者是许晓峰(Drakeet), 该 app 是数据来自代码家干货网站 , 有很多开发者都纷纷为这网站做客户端 app, 因为代码家大神开放该网站的 Api, 更重要的是该网站每天除了有干货还有漂亮妹子看呢, 该 App 使用到的技术有 RxJava + Retrofit, 代码结构非常清晰, 值得一看的开源 App.
开发者是, Bingo 是一款 IT 阅读学习类的开源软件, 作者收集一些干货学习内容, 你也可以在 App 上分享你的认为干货文章, 该项目使用动态代理 AOP 编程框架, 使开发起来更简洁, 更高效. 里面有一个功能就是多种主题切换, 感兴趣的可以看看怎么实现
Android 开发者杂志周刊
( 前五个资料来自
收集整理的, 资料原链接
Android Weekly 是由Android 团队的成员和国外知名的 Android 开发者维护, 分享的内容不仅仅只有干货, 而且还有最新的技术分享, 也是Android 开发圈子最早, 最有名的周报
Android 开发技术周报是由 维护更新, 截止到现在, 已经发布了28 期, 分享的都是高质量的文章教程, 代码库, 工具, 新闻视频, 设计等
由 和豌豆荚一小撮工程师组成, 分享的都是最新的 Android 技术: 虽然更新频率不是很高, 但是质量确是很高的, 值得一看的
开发技术前线是一个高质量技术文章的聚合网站, 主要分享 Android, iOS, 以及招聘等内容
App 开发日报主要关注移动应用的开发, 它每天一刊, 分享的内容主要来自微博上知名的开发者推荐的内容, 因此质量基本上是有保证的
Android 开发周报是郭亮在连载更新在 Infoq 的周刊, 它不仅分享 Android 的相关新闻, 新工具, 而且还有更加深入的, 所以对于新生老人都很适合
维护更新, 周一到周五每天中午分享, 分享内容有漂亮妹子, Android 干货, iOS 干货, App, 技术以外推荐, 还有休息视频
AndroidBlog 是由
收录的, 目前就职于搜狐, 该周刊分享内容主要有一周国内外热门技术博客, 优秀的类库, 以及一些有趣的新闻, 看了前几期分享的内容质量都是很高的, 因此值得推荐给大家
Awesome 系列
Material Design 设计
(Material Design 开源库, 很多效果可以直接拿来用)
开源库收集
(一个专门收集 android 开源库的网站, 网站经常更新)
(Trinea 大神收集的)
(在懂得使用这些开源项目同时, 也应该了解当中的原理)
(国内外很多开发者都在这里上传他们最新的项目, 还带有 apk 下载)
(来自总结)
(非常详细的面试资料, 涉及 Android, Java, 设计模式, 算法等)
新手看完这几份教程基本上知道怎么使用 Git 了
(Git 命令集合)
(网站需要翻墙,不翻墙可以离线文件)
(由胡凯发起对 Google Android 官方培训课程翻译的中文版)
其它资料收集
(TimLiu 总结的 Android 开源项目及库)
知乎上的讨论
点击查看该项目所有贡献者
以上内容采用
进行许可, 转载请注明出处, 版权归本人及所有贡献者所有
原文链接:
本文已收录于以下专栏:
相关文章推荐
BAT面试,程序员成长路线
下面的题目都是楼主在android交流群大家面试时遇到的,如果大家有好的题目或者好的见解欢迎分享,楼主将长期维护此帖。
1、请解释下在单线程模型中Message,Handler,Message Q...
程序员升职加薪指南!还缺一个“证”!
CSDN出品,立即查看!
http://blog.csdn.net/ruglcc/article/details/7814546
【原文地址
点击打开链接】
版权声明:本文为博主原创文章,未经博主允许不得转载。
目录(?)[+]
应大家的邀请,写一篇关于Android面试相关的博客,需要说明的是本...
全网最全的Android面试题总结,2017年跳槽的你必备
成功没有捷径,脚踏实地一步一个脚印,不好高骛远,不急功近利,付出总有回报,不管出于哪个阶段,都要一步一个脚印,踏实的走好每一步。让技术来强大自己,让技术改变世界。
一个Android菜鸟“面霸”的面试经历分享
今天是我入职一个创业公司的第二天。由于公司今天才把自己用的电脑买回来,只好今天在做着每一个技术人员入职第一天常做的事:安装相关开发软件,...
前言应大家的邀请,写一篇关于Android面试相关的博客,需要说明的是本文只针对Android应用开发,不针对rom开发以及逆向工程。我想面试对于程序员来说是很重要的一件事件,面试结果的好坏直接决定了...
Java基础:
1、内存泄露的原因:
资源对象没关闭。
如Cursor、File等资源。他们会在finalize中关闭,但这样效率太低。容易造成内存泄露。
SQLiteCursor...
转自:http://blog.csdn.net/finddreams/article/details/
做为程序员,我们都是有梦想的人,有时候当我们不满足现状,想要进...
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)您目前的活力值不够下载该资源哦~~
怎么样快速获得活力值?
下载此资源将扣除活力值-20
(只在首次下载扣除活力值,之后可以免费下载)
DevStore用户登录
还没有DevStore帐号?
快捷登录:
满足所有需求,助您轻松工作
Java程序员转Android开发必读经验分享
DevStore编辑 夏萌
摘要:小编最近几日偷偷的发现部分Java程序员想转安卓开发,故此加紧补充知识,为大家搜集资料,积极整理前人的经验,希望可以给正处于困惑中的你,带来些许的帮助。
啰哩啰嗦的说说Java和Android程序的区别:
Android是主流智能手机的操作系统,是一种开发语言,两者没有好坏优劣之分,只是两种职业岗位的选择。学安卓从事移动互联方向开发,学Java从事软件、网站开发。而安卓上的应用大多是Java编写的,所以建议在安卓前期的Java学习阶段中,要用心学好。
言简意赅的说说“转”前的准备:
其实Java程序员要自学安卓开发的基础知识还是没有什么难度的,毕竟语言相通,特性相似,阅读安卓源代码的门槛以比较低一些,作为能够考虑“转”的合格的程序员的你,自学能力和相关的基础知识应该不是问题,学习安卓也相对比较轻松一些。
所以Java程序员转安卓开发可以看做是一次“增量更新”,只需要学习一下安卓的基本组件:Activity、ContentProvider、Service、BroadcastReceiver;
了解一下安卓中的Intent,Handler,Adapter以及各类事件的传递方式(onClick,onTouch等);
同时辅助一定的代码量,像JNI、AIDL什么的都可以看一下;
你还要摒弃“UI元素像素位置”这个概念,安卓本身是允许通过设定元素位置来制作UI的,如果你这样做导致的结果便是大批机器不适配,那么显示效果就有点惨不忍睹了,所以不要妄想通过获取屏幕大小来调整UI,像LinearLayout在swing或者swt上可有可无的东西,在安卓上是必须要精通的。
还有熟悉ide,安卓提供的开发框架、Java及其他编程知识等。
当然,小编在此说的只是九牛一毛,还有很多在开发过程中需要注意的细节问题是我们没有提到的。
下面小编跟大家分享一下前人关于技术开发转移动应用开发的经验,希望对大家有借鉴的作用:
刘铁峰,海豚浏览器CTO
因为具体的开发场景不一样,目标的读者的经验也各不一。分享一点转型过程中,所需要补充的知识点和逻辑上的转变。
移动开发和PC上的开发带来了哪些不一样?
在我看来,从2002年之后,传统桌面的开发者基本都转向了J2EE/.NET/LAMP等以Web技术或者服务器端开发技术为主的开发方式。使用C/C++/MFC/Delphi等开发C/S模式的用户越来越少,甚至工作的需求也开始变得越来越少。
这样在技术体系上,开发者的经验开始基本上覆盖在:
1.HTML + CSS + JavaScript
2.各种脚本语言(PHP/http://ASP.NET/JSP/Python/Ruby)操作服务器API
3.服务器数据处理逻辑(O/R Mapping, 数据库连接池,各种如AOP等设计模式,甚至DSL等等)
4.大型服务器的架构设计(分布式架构,各种负载均衡,服务器连接优化)
5.数据库(分布式数据库,事务处理,大规模数据的存储、查询优化)
6.大数据处理(Hadoop, Hive)等等。
那对于移动开发上需要什么?
不管是Android / iOS /WP , 其实对于开发的需求上逐渐回到了2002年之前,大概类比MFC/Delphi的时代,更加合适。
移动开发者的技能需求发生了转变,需要的经验变成了:
充分理解各移动平台的进程架构和程序生命周期逻辑(程序启动,程序被系统suspend/kill, Services)
1.界面设计(各种UI控件,事件处理)
2.数据处理逻辑(客户端缓存、多线程并发)
3.网络数据处理
4.平台相关特性(系统API调用,系统通知机制等)
5.各种性能处理。
因此,在学习的路线和需要的经验上有了不同。
如果需要从非移动开发者往移动开发者进行转型,哪怕同样使用的是Java语言,需要的就是了解不同的库以及处理不同领域的具体问题。
在移动设备的开发上,我归结为三大类问题:性能的问题,界面响应的问题,产品的稳定性。这些是技术人员可以需要最为注意和保障的。
&季逸超,Peak Labs创始人
记得当时iPhone出来后,让人们看到了一个与传统的“窗口”完全不同概念的逻辑:界面方面一个应用占满整块屏幕,程序方面代码也都是在严格的沙箱内运行。当时我就意识到这将是一整套全新的规则体系,后来渐渐从表面往深层看,写了几年烂代码慢慢我也有了点心得:
1.淡化文件的存在,而凸显应用和工作流。
2.尽量避让主线程/UI线程,避免锁界面。因为桌面应用锁UI的话只不过是一个窗口,而移动应用会给人感觉是“手机”这个整体挂了...
3.能迅速完成的操作/运算就不要指望后台,自己的程序随时可能被kill掉。后台只留给VOIP、网络操作之类的。
4.尽量加快启动速度。移动产品用的频繁,但单次使用远比桌面要短,所以不要出现Photoshop那样让用户傻等的情况。即使用个“假象”也要让用户觉得启动挺快的。
5.同一个功能最好有多种交互/操作方式。不像Windows一统桌面江湖,现在各个版本的android、iOS用户之间使用习惯迥异,最好能让人们的习惯都能work。
6.最好不要让UI控件太显眼(比如街机游戏中硕大的摇杆遮住了人物),但也别太隐晦(猛犸浏览器4,哈哈哈)。
7.用户其实很在意耗电和发热量,桌面用户从不在乎…
8.很多功能别人说做不到或说平台不允许不开放的时候,总有人用匪夷所思的奇葩手段实现了…
个人拙见请勿轻信哈~
&王思达,爱安卓,爱刷机,爱移动互联网
从桌面端转向移动端,一定要认识到二者不同的侧重点。桌面端包括web更侧重于逻辑复杂,高级的任务,而移动端的娱乐性明显更强。
就从操作方式说起吧,桌面端主要靠鼠标键盘和touchpad,所以操作精度要高得多,很容易将很多功能集成到一个界面里;但同样的思路就完全不适用于移动端了 (反例我是实在想不起来了,大家可以帮忙想想),相信一个cluttered ui的app,就算功能再强大,用户盯着你的界面超过3s就会头晕,点击某个button要点好几下才会成功,也必定是一个糟糕的app。
那什么样的操作方式是适用于移动端的呢?
ListView的滑动操作就是一个很好的例子,不需要用户任何的思考,只需顺着期待的内容出现的方向滑动,这样 intuitive的设计便是王道。类似的设计还有来自Tweetie的下拉刷新,Android 4.0引入标准库的ViewPager等等。上述的操作都有一个共同特点——手势操作。既然移动端(不管是手机还是平板)是拿在手上的设备,那手势操作成为其杀手锏就毫不奇怪了,自然也就成了区分移动端和桌面端的一个重要特质。PeakJi大神的猛犸浏览器和输入法(忘记名字了)同样也体现了这一点。
有了简单直观的手势操作,还有一个不得不提的feature——push notification。用户很懒,一台机器装了上百个app,可能一个月你的app也就被打开一两次,这当然不是你希望看到的。如果你的app是网站客户端性质的,那么push notification就是一个很好地利器了。怎么做呢?我总结了下面的流程:
1. 与社交网络连接,获取用户资料,分析用户兴趣
2. 记录用户在你的网站或客户端的使用习惯,逐渐逼近用户真正的兴趣
3. 根据得到的用户兴趣,推送他感兴趣的内容
可以看到,不仅仅是“通知”那么简单,像新浪微博那样的,一天一条的palm news,多了只能让人感到annoying,并不能起到和用户很好的沟通的效果;只有推送用户感兴趣的内容,才会引起他们的注意,增加你的app在用户心中的权重。
最后一点我认为很重要的,就是consistency,和操作系统要保持操作习惯的一致性。比如左上角的返回button,Android 4.0的ViewPager滑动换标签等,这样做最大的好处就是降低了用户的学习成本,让你的app和OS融为一体。当然在OS的大框架下,也不乏有新意的app,比如Android下的一款类siri应用Maluuba,大胆地采用了Metro风格的设计,但操作起来并不会觉得陌生,最大的原因就是 ViewPager的滑动操作被保留了下来。
以上是各位前人的一些经验,大家可以根据自己的情况吸收消化,下面快送一些可以帮助到大家的书籍:
推荐一:Head&First&Java(中文版)(第2版)(涵盖Java5.0)
推荐理由:安卓应用层和大部分framework层用的都是Java语言。
推荐二:疯狂Android讲义
推荐理由:知识点比较全,也比较新。
推荐三:深入理解Android(卷1)
推荐理由:作者的文笔流畅,见解独到,而且系统地,深入地讲解了Android系统原理。同时作者那种层层递进,抽丝剥茧式的分析模块的手法也非常值得学习。
今天小编的推荐就到这里,当然,还有很多观点是小编在本文中没有提到的,小编的思想和文章是有限的,但是大众的观点是无限的,小编此文的目的一是给有计划转安卓或者是移动的你有所帮助,二是希望能够集合大家的力量展开这么一场讨论,让这篇文章更为强大!!!有自己看法的亲~留下你的观点吧!不要只做看客呦~
已收藏 取消
夏萌 DevStore编辑
简介:姑娘有春天,也有夏天
可能喜欢的文章
开发者交流群:
DevStore技术交流群2:
运营交流群:
产品交流群:
深圳尺子科技有限公司
深圳市南山区蛇口网谷万海大厦C栋504
Copyright (C) 2015 DevStore. All Rights Reserved

我要回帖

更多关于 疯狂android讲义 的文章

 

随机推荐