Special thanks to the generous sponsorship by:
收集整理这份资料灵感来自于 trip_to_iOS, 征得同意引用了该资料的开头描述
收集整理这份资料主要帮助初学者学习 Android 开发, 希望能快速帮助到他们快速入门, 找到适合自己学习资料, 节省再去收集学习资料时间.
这份资料我会不断的更新完善, 同时也欢迎更多具有丰富经验的Android开发者将自己常用的工具、学习资料、学习心得等分享上来, 我将定期筛选合并, 该份学习资料有不足的地方, 也请指出, 我会谦虚接受改正, 希望我能与大家一起来学习, 谢谢.
感谢 @GitHubDaily 与 @Android 开发日常 的大力支持
=============================================================
书籍名称 | 推荐理由 |
---|---|
Thinking In Java 中文版 | 学习 Android 开发, 首先需要 Java 基础, 这里推荐 Thinking In Java, Thinking In Java 是 Java 的经典书籍, 是学习 Java 语言必备书籍 |
第一行代码 | 郭霖大神的杰作, 郭神在CSDN中的博客文章非常不错, 书我看了, 非常适合新手, 里面的内容非常棒, 建议结合郭神博客文章一起来学习 |
疯狂Android讲义第三版 | 作者是李刚, 这本书是基于 Android 5.0 来讲的, 我看过第二版, 这本书给我第一感觉就是很厚, 但里面内容写的还是很详细的, 代码很多, 可以跟着代码一步步敲 |
Android群英传 | 本书作者 @Tomcat 的猫, 曾就职于上海 TCL 通讯, 从事 Alcatel(阿尔卡特) Android 手机系统的定制工作, 活跃于 CSDN, 目前就职于上海沪江网 Android 开发部RD项目组, 负责沪江 App 的功能预研 |
Android开发艺术探索 | 由@任玉刚Coder所著, 是一本 Android 进阶类书籍, 采用理论, 源码和实践相结合的方式来阐述高水准的 Android 应用开发要点. 本书从三个方面来组织内容: 第一, 介绍 Android 开发者不容易掌握的一些知识点: 第二,结合Android源代码和应用层开发过程, 融会贯通, 介绍一些比较深入的知识点: 第三, 介绍一些核心技术和Android的性能优化思想. |
App 研发录 | 本书作者是包建强, 本书是作者多年 App 开发的经验总结, 从 App 架构的角度, 重点总结了 Android 应用开发中常见的实用技巧和疑难问题解决方法, 为打造高质量 App 提供有价值的实践指导, 迅速提升应用开发能力和解决疑难问题的能力. 这本书非常有利于 Android 开发者进阶. |
Android 设计模式源码分析 | 本书作者是开发技术前线创立者之一 Mr.Simple, 该书从 Android 源码的角度由浅入深地剖析设计模式的运用, 让工程师们把设计与模式重视起来, 提升自己的设计能力与代码质量 |
(附上: 由 @脉脉不得语 收集维护超多开发工具下载地址 AndroidDevTools, 后五个工具资料在 stormzhang 博客中找到的,地址)
环境/工具 | 简述 |
---|---|
Android Studio | 这个开发工具上手需要一定的时间, 自从 Google 推出1.0正式版, 这个工具一直火爆, 谷歌也不停更新维护, 性能逐渐稳定提高, 目前 github 上面的绝大多数开源项目都是使用 Android Studio 工具, 这就是开发 Android 必须掌握使用的工具, 如果还在使用 Eclipse 开发 Android 的童鞋们, 赶紧换成 AS 开发吧 |
Genymotion | 强大好用高性能的 Android 模拟器, 自带的那个模拟器简直不忍直视, 启动超慢的, 跟这个没法比, 无论你是用 Eclipse 还是 Android Studio 里面都有 Genymotion 插件 |
jadx | 一个 Android 反编译神器, 不同于常见的 dex2jar, 这个反编译器生成代码的 try/catch 次数更少, View也不再是数字 id 了, 可读性更高 |
android-selector | 可以根据指定颜色生成 Selector Drawable 的插件 |
GradleDependenciesHelperPlugin | Gradle 依赖自动补全插件 |
Smali Viewer | sv 是一款免费 APK 分析软件, 对你感兴趣的 APP 分析看看它们都用了些什么, 对你学习借鉴有一定帮助 |
folding-plugin | layout 文件夹里的布局文件一般很长很长没有目录, 这个插件就可以把 layout 分好层级结构, 类似 src 下目录结构 |
CodeGlance | 在编辑代码最右侧, 显示一块代码小地图 |
Statistic | 统计整个项目行数的插件, 这可表示我们日日夜夜辛辛苦苦必备插件 |
idea-markdown | 在 AS 中编写 Markdown 文件, 可以直接预览网页显示效果, 对于你经常编写 Markdown 文件的你值得拥有这个插件 |
Stetho | Stetho 是 Facebook 出品的一个强大的 Android 调试工具,使用该工具你可以在 Chrome Developer Tools 查看 App 的布局, 网络请求(仅限使用 Volley, okhttp 的网络请求库), sqlite, preference, 一切都是可视化的操作,无须自己在去使用 adb, 也不需要 root 你的设备 |
ClassyShark | ClassyShark 是 Google 发布的一款可以查看 Android 可执行文件的浏览工具, 支持.dex, .aar, .so, .apk, .jar, .class, .xml 等文件格式, 分析里面的内容包括 classes.dex 文件, 包方法数量, 类, 字符串, 使用的 NativeLibrary 等 |
AndroidWiFiADB | 使用 WiFi 连接而不需要 USB 连接 Android 设备达到安装, 运行, 调试应用的目的 |
checkstyle-idea | Checkstyle-idea 是一款检查自己写的代码是否符合规范的插件, 该插件是根据 checkstyle.xml 文件来检查的, checkstyle.xml 文件可以由自己自己定义, 也可以使用一些大公司定义的规范, 如果不懂得如何定义, 可以查看 官方文档, 该插件的详细介绍以及使用, 可以看一下咕咚大侠写的 文章 |
ECTranslation | ECTranslation 是 Android Studio 开发工具的一个翻译插件, 可以将英文翻译为中文, 英语基础差的童鞋装上它就可以轻松阅读 Android 源码啦 |
Android Methods Count | 统计 Android 依赖库中方法的总个数, 避免应用方法数超过 65K 问题 |
AndroidLocalizationer | 可用于将项目中的 string 资源自动翻译为其他语言的插件, 其翻译支持使用 Microsoft Translator 或 Google Translation |
ButterKnife Zelezny | ButterKnife 生成器, 使用起来非常简单方便, 为你简写了很多 findViewId 代码, 如果你不了解 ButterKnife 的可以到这里看看 |
SelectorChapek | 设计师给我们提供好了各种资源, 每个按钮都要写一个selector是不是很麻烦? 这么这个插件就为解决这个问题而生, 你只需要做的是告诉设计师们按照规范命名就好了, 其他一键搞定 |
GsonFormat | 现在大多数服务端 api 都以 json 数据格式返回, 而客户端需要根据 api 接口生成相应的实体类, 这个插件把这个过程自动化了, 赶紧使用起来吧 |
ParcelableGenerator | Android中的序列化有两种方式, 分别是实现 Serializable 接口和 Parcelable 接口, 但在 Android 中是推荐使用 Parcelable, 只不过我们这种方式要比Serializable方式要繁琐, 那么有了这个插件一切就ok了 |
LeakCanary | 良心企业 Square 最近刚开源的一个非常有用的工具, 强烈推荐, 帮助你在开发阶段方便的检测出内存泄露的问题, 使用起来更简单方便, 而且我们团队第一时间使用帮助我们发现了不少问题, 英文不好的这里有雷锋同志翻译的中文版 LeakCanary 中文使用说明 |
更多 | 该作者收集整理了 40 个插件, 可以说是史上最全的了 |
博客地址 | 博主信息 |
---|---|
Android Developers Blog | Android官网博客, 在上面可以关注 Android 最新的进展与最权威的博客(需翻墙) |
stormzhang | 博主是上海薄荷科技开发主管, 他的博客分享了他从编程白痴到自学 Android 一路走过的经验, 写了一篇 Android学习之路 帮助了无数人, 里面还有很多好的文章非常适合新手入门, 并且是微信公众号「AndroidDeveloper」的运营者, 可以算是 Android 界最有影响力的公众号之一了, 强烈推荐关注 |
胡凯 | 目前就职于腾讯上海从事 Android 开发的工作, 发起 Google Android 官方培训课程中文版翻译, 这课程是学习 Android 应用开发的绝佳资料 |
Trinea | 目前在滴滴负责 Android 客户端技术, 他是开源库项目收集达人, 你想要的开源库上面都有, 并且发起 Android 开源项目源码解析, 在使用开源库的同时也可以知道其中原理, 大家可以去关注一下, 地址 |
郭霖 | 博主郭霖是大神, 人人都称"郭神", 是第一行代码的作者, 博主在 CSDN 上所写的文章都非常值得学习 |
代码家 | 90后 Android 大神, 称作库达人, 博主收集了很多 Android 开源库, 博主自己也做了很多开源库, 非常值得学习 |
light_sky | Android 开发工程师, 目前在北京工作. Google big fan, 热爱开源, 热爱分享, 活跃于 GitHub, G+, Twitter, 捕捉Android最新资讯和技术, ViewPagerIndicator 开源项目分析者 |
张鸿洋 | 张鴻洋是 CSDN 博客专家, 博主在 CSDN 所发布的每一篇文章都是干货, 都很值得大家去学习 |
张兴业 | 张兴业同样也是 CSDN 博客专家, 博主专注移动互联网开发, 关注移动支付业务 |
hi大头鬼hi | hi大头鬼hi 是阿里巴巴集团的一名 Android 工程师, 擅长 Android, RxJava, RxAndroid, ReactNative, Node.js, 大前端, 可谓是全栈工程师, 如果你对 RxJava 技术感兴趣, 不妨到他的博客看看, 他写了一系列有关 RxJava 的介绍 |
更多 | 这里面收集了很多国内外开发者的信息, 大家可以去看看 |
名称 | 简介 |
---|---|
StackOverFlow | IT 界的问答社区, 你开发当中所遇到的问题基本上都能在这里能寻找到你想要的答案 |
SegmentFault | SegmentFault 是一个专注于解决编程问题, 提高开发技能的社区 |
CSDN | CSDN 是全球最大中文IT技术社区 |
稀土掘金 | 高质量的技术分享社区 |
谷歌开发者社区(GDG) | GDG 是 Google Developer Groups 的缩写, 中文名称是谷歌开发者社区 |
项目名称 | 项目简介 |
---|---|
Google I/O 2014 | Google I/O Android App 使用了当时最新推出的 Material Design 设计 |
Google play music | 一个跨多个平台音乐播放器 |
Google Santa Tracker for Android | Google 开源的一个儿童教育和娱乐的 App |
github客户端 | 开源者 github 团队, 支持项目的 lssues 和 Gists 并集成了新闻 feed 以便及时获取来自组织好友和资料库的更新信息, 还提供了一个用于快速访问你创建,监控以及发布 issue 面板, 可查看并将问题加到收藏夹 |
Talon-for-Twitter | 一个完整版 Twitter 第三方客户端, 属于顶级水平, 而且在源代码 100% 开源, 学习资源让你取之不尽 |
Anime Taste | 开发者是代码家为 AnimeTaste 全球动画精选开发的 Android 客户端, 国内很少见的精彩而且开源的 APP, 获得豌豆荚110期设计奖 |
EverMemo | 开发者是代码家, EverMemo 是一款让你快速记录与分享灵感的随身便签, 极简的界面与卡片式布局, 让你记录与查找便签更有效率 |
9GAG | 开发者是 stormzhang 博主,这个开源项目教你使用 Studio, Gradle 以及一些流行的开源库快速开发一个不错的 Android 客户端 |
MIUI 便签 | MiCode 便签是小米便签的社区开源版, 由 MIUI 团队(ww.miui.com)发起并贡献第一批代码, 遵循 NOTICE 文件所描述的开源协议 |
贝壳单词 | 开发者是许晓峰(Drakeet), 获得豌豆荚设计奖, 这个是初期版本, 新版没有开源, 但是在博主的博客当中将一些新版的内容都剥离出来写成了文章,可以去学习一下 |
Muzei Live Wallpaper | 开发者是 Ian Lake , 就职于 Google, 这款是定时更换桌面精美壁纸 App |
四次元-新浪微博客户端 | 一个仿新浪微博客户端 App, 基本都含有新浪微博的功能, 开源团队写了一份 wiki 文档, 可以去学习一下该 App 是如何实现的 |
知乎专栏 | 开发者是白瓦力, 项目结构清晰, 代码分包合理, 很棒. 很适合新手去学习如何搭建一个 App 结构, 熟悉开发一个完整 App 的流程 |
eoe 客户端 | eoe 社区Android客户端 |
oschina | 开源中国社区 Android 客户端, 此开源的是 v1 版本, v2 版本将在 2015 年年中开源 |
v2ex | 开发者是杨辉, 这个是 v2ex Android 第三方客户端 |
Tweet Lanes | 功能比较完整的 Twitter 客户端 |
Financius | 一款简单易用个人理财 Android 程序 |
Coding | Coding 类似于 github 一个代码托管平台, 这个是 Coding 的 Android 版客户端 |
ZXing | 二维码扫描工具,市场上许多应用的二维码扫描工具都是从这个修改得到的 |
photup | 编辑机批量上传照片到 facebook 上,代码分包合理,很棒,不过这个项目依赖的开源项目比较多, 比较难编译 |
todo.txt-android | todo.txt 官方 Android 应用, 一个极简的将待办事件记录在 .txt 文件中 |
扫扫图书 | 一个让你懂得如何去选择一本书的 APP, 具有扫描搜索查询图书的信息功能 |
ChaseWhisplyProject | 开启摄像头在你所在位置寻找鬼魂, 进行打鬼游戏 |
AntennaPod | AntennaPod 是一个自由, 开源的播客客户端, 支持 Atom 和 RSS Feed |
干柴 | 开发者是冯建, 一个专注收集 android 相关干货(文摘,名博,github等等)资源 App |
Hacker News | 一个查看黑客新闻报道和评论的 App |
proxydroid | ProxyDroid 是一个帮助你在你的 Android 设备上设置代理 (HTTP / SOCKS4 / SOCKS5) |
AliGesture | Android平台手势识别应用, 简单的手势就可以进入预置的应用, 方便快捷 |
指读 | 指读顾名思义就是用手指去阅读浩瀚的书海 |
KJ 音乐 | 开发者是张涛, 快捷音乐使用到KJFrameForAndroid开发框架, 拥有界面绚丽, 操作简单, 播放手机本地音乐, 在线收听音乐等功能, 还支持: 新浪微博, 百度账号, QQ 账号的一键登录 |
哎嘛 | OSCHINA 第三方客户端, 这个版本界面比官方版本界面好看多了, 使用的是 Material Design, 界面看上去非常清爽舒服 |
码厩 | 博客园第三方客户端, 使用到缓存技术, 当你打开一次之后的博客内容, 会自动保存到设备中, 下次打开阅读同一文章时不需要再利用网络加载, 大家如果想为自己 App 搞缓存的, 可以研究一下该 App 是如何实现的喔 |
cnBeta 第三方阅读器 | 该 App 是 cnBeta(中文业界资讯站) 第三方阅读客户端, 界面也是使用 Material Design, 还加上一些动画效果, 让人阅读文章起来不会感觉枯燥, 值得去研究学习一下 |
BlackLight | BlackLight是由纸飞机开发团队开发的一款Android上的新浪微博第三方轻量级客户端 |
Actor | Actor(优聆) 是一款即时通讯 App, 解决网络通讯差的情况, 支持离线消息和文件存储, 自动与手机联系人建立联系等等 |
Plaid | 一个遵循 Material Design 的一个设计新闻客户端,里面的一些完全MD的一些特效很棒,同时整个客户端的框架设计也很有参考意义 |
SimplifyReader | 一款基于 Google Material Design 设计开发的 Android 客户端, 包括新闻简读, 图片浏览, 视频爽看, 音乐轻听以及二维码扫描五个子模块, 项目采取的是MVP架构开发 |
PHPHub-Android | PHPHub Android 客户端, 项目架构使用 nucleus 简化 MVP 架构, API 请求返回数据使用 RxJava 进行处理, 客户端使用了独特的二维码扫码登录, 有兴趣的可以去研究一下 |
Leisure | 闲暇(Leisure)是一款集"知乎日报", "果壳科学人", "新华网新闻"以及"豆瓣图书"于一体的阅读类 Android 应用, 项目里面有多语言切换、夜间模式以及无图模式, 如果你还不知道这些技术怎么实现, 不妨参考一下这个项目 |
Meizhi | 开发者是许晓峰(Drakeet), 该 app 是数据来自代码家干货网站 gank.io, 有很多开发者都纷纷为这网站做客户端 app, 因为代码家大神开放该网站的 Api, 更重要的是该网站每天除了有干货还有漂亮妹子看呢, 该 App 使用到的技术有 RxJava + Retrofit, 代码结构非常清晰, 值得一看的开源 App. |
Bingo | 开发者是孙福生, Bingo 是一款 IT 阅读学习类的开源软件, 作者收集一些干货学习内容, 你也可以在 App 上分享你的认为干货文章, 该项目使用动态代理 AOP 编程框架, 使开发起来更简洁, 更高效. 里面有一个功能就是多种主题切换, 感兴趣的可以看看怎么实现 |
( 前五个资料来自 Drakeet 收集整理的, 资料原链接 地址 )
周刊名 | 周刊简介 |
---|---|
Android Weekly | Android Weekly 是由Android 团队的成员和国外知名的 Android 开发者维护, 分享的内容不仅仅只有干货, 而且还有最新的技术分享, 也是Android 开发圈子最早, 最有名的周报 |
Android 开发技术周报 | Android 开发技术周报是由@脉脉不嘚語 维护更新, 截止到现在, 已经发布了28 期, 分享的都是高质量的文章教程, 代码库, 工具, 新闻视频, 设计等 |
Android 科学院 | 由 @duguguiyu和豌豆荚一小撮工程师组成, 分享的都是最新的 Android 技术: 虽然更新频率不是很高, 但是质量确是很高的, 值得一看的 |
开发技术前线 | 开发技术前线是一个高质量技术文章的聚合网站, 主要分享 Android, iOS, 以及招聘等内容 |
App 开发日报 | App 开发日报主要关注移动应用的开发, 它每天一刊, 分享的内容主要来自微博上知名的开发者推荐的内容, 因此质量基本上是有保证的 |
Android 开发周报 | Android 开发周报是郭亮在连载更新在 Infoq 的周刊, 它不仅分享 Android 的相关新闻, 新工具, 而且还有更加深入的, 所以对于新生老人都很适合 |
干货集中营 | 由 代码家 维护更新, 周一到周五每天中午分享, 分享内容有漂亮妹子, Android 干货, iOS 干货, App, 技术以外推荐, 还有休息视频 |
Android Blog 周刊 | AndroidBlog 是由 Jomeslu 收录的, 目前就职于搜狐, 该周刊分享内容主要有一周国内外热门技术博客, 优秀的类库, 以及一些有趣的新闻, 看了前几期分享的内容质量都是很高的, 因此值得推荐给大家 |
新手看完这几份教程基本上知道怎么使用 Git 了
点击该链接查看该项目所有贡献者
以上内容采用 CC BY-NC-SA 3.0 进行许可, 转载请注明出处, 版权归本人及所有贡献者所有
http://android.stackexchange.com/questions/161462/bionic-open-tzdata-path-android-data-not-set When running commands like date or ls -l I always get a multiple repetition of the following lines to the
使用NativeActivity可以完全不使用java代码,全部使用native code来开发android程序。NativeActivity 为我们定制了native代码的各种接口回调,在ndk的samples里面,提供了一个例子如何使用NativeActivity。我们会发现,demo中使用了一个胶水层android_native_app_glue.h封装了native层面的ANat
本文将以实用的角度来讲解Android中文件操作的常用方式。 存储的”内“和“外” 所有Android设备都有两个文件存储区域:内部存储空间(internal Storage)和外部存储空间(external Storage)。这些名称是在Android早期确定的,那时候大部分设备都提供内置的非易失性内存(内部存储空间)以及可移动存储媒介(如,Micro SD卡,提供外部存储空间)。现在,很多设备
Android SELinux开发入门指南之正确姿势解决访问data目录权限问题 Android SELinux开发多场景实战指南目录: Android SELinux开发入门指南之SELinux基础知识 Android SEAndroid权限问题指南 Android SELinux开发入门指南之如何增加Java Binder Service权限 Android SELinux开发入门指南之权
释放双眼,带上耳机,听听看~! 我们调试 App 的时候有时候要去除应用下 data/data/ 的文件,之前我都是运行在虚拟机上,然后再取出数据。今天发现一个好的方法,可以在真机上(不用 root )直接去除 data/data/ 下的数据。 首先打开 Android studio 的 Terminal 界面,或者打开命令行,切换到项目的目录下; 然后依次执行下面的命令 $ adb shell
新安装的ubuntu 18.04 简单配置一下android编译环境后,编译app 出现下面的错误提示: flex-2.5.39: loadlocale.c:130: _nl_intern_locale_data: Assertioncnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' faile
android_N项目(高通平台)CTS修改总结 第一个android_N项目的CTS修改总结 1: 对于wifi only版本可能发现的问题: android.telephony.cts.TelephonyManagerTest#testGetPhoneCount junit.framework.AssertionFailedError: Phone count should be 0 需要在项
解决方法: 使用这个方法Matisse.obtainPathResult(data),获取path compile'com.zhihu.android:matisse:0.5.0-alpha4' 相关问题地址地址
前言 本篇将要介绍如何在没有网络的状态下,显示本地的H5界面,并跳回上级原生界面。 欢迎加入学习小组QQ群: 193765960。 实现本地化H5界面: 本地化HTML文件,CSS文件,JS文件,图片资源等: //在Android工程assets目录下保存H5界面相关资源和文件,例如: |assets----- | |--error.html |--css\error_style.css |--j
ICU 是开源项目, 提供了最新的unicode标准,字符集转换, 以及超过300个国家的本地数据, 比如数字,时间和信息显示格式等,以及不同语言下的文本排序,日历相关的日期时间操作等。 详细内容可以访问: http://userguide.icu-project.org/ 在android 中, ICU 源码位于 external/icu/下。 本
之前有文章提起wx.env.USER_DATA_PATH的位置,但是找了一遍虽然有那个文件夹但是找不到实际的文件 原文章 不知道什么时候起,微信和QQ把用户位置由原来的/tencent变成了/android/data/com.tencent.mobileqq(微信:com.tencent.mm) ** 具体的原因我不清楚,也没时间去查证了,总之找文件的时候建议读者在/tencent和/Androi
打开AndroidStudio后,错误提示如下: SDK Validation ANDROID_SDK_HOME is set to the root of your SDK: C:\Users\romulus\AppData\Local\Android\Sdk This is the path of the preference folder expected by the Android to
自从android10使用分区存储后,文件的操作显得更为复杂,幸运的是,谷歌为我们提供许多操作简单的api,这篇文章主要讲的是android除沙盒目录和共享目录外其他目录的操作 android10以上,如果想要获取其他文件,最简单的方法是申请MANAGE_EXTERNAL_STORAGE权限,获取该权限之后,任何文件都可以正常操作,然后你就不用往下看了…… 由于registerForActivit
获取/data/data的应用程序目录 getFilesDir().getParent()+"/databases"; /data/data/com.example.m.myapplication/databases 获取/data/data的应用程序目录,这个函数在没有相应目录时会创建,但是非常恶心的一点就是,创建的目录名字会给你加一个“app_”前缀,并且它所寻找的目录名也需要包含“app
column '_data' does not exist https://blog.csdn.net/w13576267399/article/details/83185994 拍照后“无法加载此图片 https://www.jb51.net/article/125169.htm