按投票排序
按时间排序
74 个回答
我来好好谈谈我的看法和感悟。仔细看了楼主的问题(特别是详细描述),感觉题主的关心点是想知道什么现成的工具和平台可以简化Android App的开发,让其更轻更有效率迭代更快。我就从这个出发点上来回答:
首先是在后端上,推荐用企业服务,而不是自己搭后端。比如,使用 Parse,或者是国内的 LeanCloud 。LeanCloud我好像听人吐槽bug多,但是如果自己团队来开发后台的话,照样bug也会一堆,而且还把别人踩过的坑又重新来踩一遍。我自己做过demo,发现使用Parse(Facebook自己也在用)或者LeanCloud,的确让 Android App 开发一下子快了一个级别。整个创业团队只需要把精力让在 App的交互和体验上即可,而且项目转型也可以很轻很快。如果实在LeanCloud无法满足,那么在创业初期,最好也租用云服务,比如阿里云,青云之类的,而不是买服务器自己从头开始搭起。
其次在App端的话,则大规模使用开源库(请站在巨人的肩膀上)。首先技术负责人把所有常用的Android开源库都理清一遍,然后选项目需要的库。另外在文档方面,推荐两个我自己筛选过的很好的文档给创业团队。(只推荐2个,因为Android文档现在是太多而不是太少。在这个信息爆炸的时代,我们需要的是优质的技术文档,同理还有能够专注的技术人员):
1. Android best practice: futurice/android-best-practices · GitHub
中文版: android-best-practices/README.cn.md at master · futurice/android-best-practices · GitHub
2. 对GitHub上的各大开源库的收录和分析: Trinea/android-open-project · GitHub
另外再推荐一个人: JakeWharton (Jake Wharton) · GitHub (Jake Wharton:此人在Square,而Square也位列我之前所说的湾区四小龙之中)
最后一点,也是最重要的一点:能不做App就不做App。
我这一年来看了大量早期的创业项目,特别是技术不是很强的团队。他们普遍都急着想做一个app出来,感觉好像没有app就不能叫做创业公司,就没法出去和人打招呼一样。其实很多创业项目,微信公众号的功能就能满足。除非公众号提供不了你的主打功能,不一定非要急着上app。开发app一来成本很大,二来容易把整个团队精力消耗殆尽。所以还不如先用微信公众号试试水,吸引一批种子用户,看看用户反馈,然后快速改进;这样的模式更轻更快。
---- 题外话 ----
有时遥想当年,在Facebook做Android和iOS开发,由于毕竟是大公司,里面的自有工具,内部库还有技术大牛都很丰富,所以基本上除了使用少数几个经典开源库之外,其他大部分都是自己写,比如 Buck,FBNetworking,FBCache,FBImageLoader等等。这对于创业公司来说是完全不试用。一来没人手,二来很容易碰到一个技术难点就把整个公司给陷进去了。现在想想,当年在大公司真是身在福中不知福啊。。。
--- END ---
- Do have the faith in what you love
首先是在后端上,推荐用企业服务,而不是自己搭后端。比如,使用 Parse,或者是国内的 LeanCloud 。LeanCloud我好像听人吐槽bug多,但是如果自己团队来开发后台的话,照样bug也会一堆,而且还把别人踩过的坑又重新来踩一遍。我自己做过demo,发现使用Parse(Facebook自己也在用)或者LeanCloud,的确让 Android App 开发一下子快了一个级别。整个创业团队只需要把精力让在 App的交互和体验上即可,而且项目转型也可以很轻很快。如果实在LeanCloud无法满足,那么在创业初期,最好也租用云服务,比如阿里云,青云之类的,而不是买服务器自己从头开始搭起。
其次在App端的话,则大规模使用开源库(请站在巨人的肩膀上)。首先技术负责人把所有常用的Android开源库都理清一遍,然后选项目需要的库。另外在文档方面,推荐两个我自己筛选过的很好的文档给创业团队。(只推荐2个,因为Android文档现在是太多而不是太少。在这个信息爆炸的时代,我们需要的是优质的技术文档,同理还有能够专注的技术人员):
1. Android best practice: futurice/android-best-practices · GitHub
中文版: android-best-practices/README.cn.md at master · futurice/android-best-practices · GitHub
2. 对GitHub上的各大开源库的收录和分析: Trinea/android-open-project · GitHub
另外再推荐一个人: JakeWharton (Jake Wharton) · GitHub (Jake Wharton:此人在Square,而Square也位列我之前所说的湾区四小龙之中)
最后一点,也是最重要的一点:能不做App就不做App。
我这一年来看了大量早期的创业项目,特别是技术不是很强的团队。他们普遍都急着想做一个app出来,感觉好像没有app就不能叫做创业公司,就没法出去和人打招呼一样。其实很多创业项目,微信公众号的功能就能满足。除非公众号提供不了你的主打功能,不一定非要急着上app。开发app一来成本很大,二来容易把整个团队精力消耗殆尽。所以还不如先用微信公众号试试水,吸引一批种子用户,看看用户反馈,然后快速改进;这样的模式更轻更快。
---- 题外话 ----
有时遥想当年,在Facebook做Android和iOS开发,由于毕竟是大公司,里面的自有工具,内部库还有技术大牛都很丰富,所以基本上除了使用少数几个经典开源库之外,其他大部分都是自己写,比如 Buck,FBNetworking,FBCache,FBImageLoader等等。这对于创业公司来说是完全不试用。一来没人手,二来很容易碰到一个技术难点就把整个公司给陷进去了。现在想想,当年在大公司真是身在福中不知福啊。。。
--- END ---
- Do have the faith in what you love
- google/material-design-icons ,material官方图标,不会做图标又想写APP练手的同学的福音;
- ImageView的滤镜效果,详解Paint的setColorFilter(ColorFilter filter),一张纯白纯白图标蜕变为彩色和渐变色图标都不是事;
- 事件流编程,https://github.com/greenrobot/EventBus,一方面解耦各大组件之间的数据交互,再也不需要用AsyncTask这种上古时期的繁琐怪物了。而且在一些类型的应用中,事件流编程有着独一无二的优势,比如,我在做一个IM应用时,需要先打开Socket->发送登陆信令->服务端返回应用层ACK后开始启动心跳线程->发起交换私钥命令->交换成功后打开IM通道,如果用传统的回调函数来实现,很容易陷入多层花括号嵌套的困境,但使用事件流编程的思维后,我们只需要emit一个个的事件,在on中执行具体的业务,一个业务的结尾处emit下一个事件,你甚至可以直接再包装一层,组成下面这样子:EventModle.getInstance()->flow("event1","event2","event3","event4");
- GitHub - wasabeef/awesome-android-ui: A curated list of awesome Android UI/UX libraries,再也不用担心自己写界面没灵感了~
- http://pan.baidu.com/s/1qXdYqDY,我在Android Studio出来了一年后才从Eclipse中跳出来,Android Studio真是大大提高效率,谁用谁知道,真恨自己没早点摆脱懒惰用~;
- SurfaceView,http://developer.android.com/reference/android/view/SurfaceView.html,Android的动画机制进行伪3D变换时,卡顿的不行,但是在需要动画的地方,简单的覆盖一个透明的SurfaceView来做,极大的提升流畅性;
- arraycopy(src, srcPos, dest, destPos, length)方法,瞬间摆脱Low到家的for循环来拷贝数组
- 在Binder间传送序列化对象时,Bundle中不要用Parceble,要用Json序列化后的String!不然会有莫名其妙的bug
- 进行类的单例化时,用这个就OK:
public class myclass{ //some property.. // some mothod public static class HOLDER { public myclass instance = myclass(); } public static myclass getInstance(){ return HOLDER.instance;} }
- 但凡和线程池/线程/同步/锁等有关的实践问题,尽量不要用Android的解决方案,如AsyncTask,而要用Java中已经历经考验的实践方案 如FutureTask+ThreadPoolExecuters。
- 数组复制,请使用System.arrayCopy或Arrays.copyOf 实现,且在JAVA中后者基于前者实现。
- Android DataBinding,现在还没有完全的双向绑定,而且很多我们常用的属性的getter和setter也没有,需要我们手动wrapper,但我相信这些在未来都会有更便捷的方案的。
这几年一直专注在Android开发,主攻海外市场,国内也有做过,浏览器,新闻,电商还有其他一些领域都或多或少有些了解,别的不敢说,国内外各种工具与服务还了解得比较全,没办法,人不够,工具服务来凑,这些工具服务帮了我们很大的忙,因此这题我还是可以答一答的。
其实在另外一题里,我已经大致介绍了我用过的国外主流第三方服务:
Android 开发:开始一个项目前,做好哪些准备可以事半功倍? - 汤涛的回答
这里我专门就工具服务展开说明下,同时补充介绍我推荐的国内第三方服务,每个类别尽量只推荐一个,太多选择其实就是没有选择。
统计分析
国内:Talking Data, 可惜友盟现在启动就带上阿里全家桶。
国外: Flurry, 国外统计分析系统的标杆,免费的。
Crash分析
国内: 腾讯Bugly, 号称全球唯一自带ANR收集,其实原理很简单,不知别家为何不做。
国外: Crashlytics, 已经收归Twitter Fabric开发者工具集,免费好用。
推送
国内: LeanCloud,这个没实际用过,身边朋友反馈很好。
国外: Parse, 正如 覃超所说,FB也在用,30qps免费限制,一般中小应用够用。
分享
国内: ShareSDK,专业做社交分享。
国外: 各社交平台自家SDK, 注意不同国家主流社交平台不同。
评论
国内:畅言, 基本抄的Disqus, 免费,算是良心产品了。
国外:Disqus, 基本不用考虑其他家的,虽然确实有竞品。
广告变现
国内:百度 or 广点通,两个效果差不多。
国外:FB or Google,做native广告,效果最佳。
支付
国内: 支付宝, 微信
国外: payssion, 专业做海外跨境收款的,能省很多事。
短信验证
国内:没用过,Google找一家最便宜的就行。
国外:Fabric Digits, twitter出品,居然不要钱。
灰度测试
国内:AppAdhoc,移动AB测试国内最专业的一家。
国外:optimizely, 支持Android, iOS, 直接在线改UI做AB测试, 三观都要颠覆了。
云测
国内:百度云测试。
国外:test in, 其实百度的也跑,国内的Android设备都卖到国外去了。
客服
国内:微客服, 有免费额度,中小应用够用。
国外:helpshift,国外最专业的客服平台。
推广
国内:这个真不了解。
国外:Appsflyer, 海外推广为数不多的选择之一。
可视化分析
国内:growingio, 还在内测中,linkedin数据分析大牛回国创业,据说黑科技,可以直接在app上实时查看各种转化率数据。
国外:appsee, 绝对黑科技,PM最爱,转化率什么的再也不怕上不去了,用过后我们团队成员一致好评,在我的微信公众号里有专门文章介绍使用体验。
----2015.11.27更新----
网络优化
国外:TwinPrime, 颇具特色的网络优化服务,目前正在尝试中,可移步我另外一篇回答查看
Android开发如何进行网络优化? - 汤涛的回答
国内:暂时还没发现同类产品,不过TwinPrime理论上是支持全球的。
最后,给大家介绍传说中的Android军火库,我很多东西都是在这里面找的。
国内: DevStore_移动互联网企业运营解决方案整合平台
国外: http://www.android-arsenal.com
----2015.11.28更新----
安利一下我的另外一篇回答,用心写的都木有人看,好桑心呀。
面试时,问哪些问题能试出一个 Android 应用开发者真正的水平? - 汤涛的回答
最近刚开始运营一个微信公众号AndroidTrending,里面主要是Android开发最佳实践,最好用的工具与服务的总结,如果大家感兴趣,可以关注一下。做技术有捷径,少走弯路即是。
其实在另外一题里,我已经大致介绍了我用过的国外主流第三方服务:
Android 开发:开始一个项目前,做好哪些准备可以事半功倍? - 汤涛的回答
这里我专门就工具服务展开说明下,同时补充介绍我推荐的国内第三方服务,每个类别尽量只推荐一个,太多选择其实就是没有选择。
统计分析
国内:Talking Data, 可惜友盟现在启动就带上阿里全家桶。
国外: Flurry, 国外统计分析系统的标杆,免费的。
Crash分析
国内: 腾讯Bugly, 号称全球唯一自带ANR收集,其实原理很简单,不知别家为何不做。
国外: Crashlytics, 已经收归Twitter Fabric开发者工具集,免费好用。
推送
国内: LeanCloud,这个没实际用过,身边朋友反馈很好。
国外: Parse, 正如 覃超所说,FB也在用,30qps免费限制,一般中小应用够用。
分享
国内: ShareSDK,专业做社交分享。
国外: 各社交平台自家SDK, 注意不同国家主流社交平台不同。
评论
国内:畅言, 基本抄的Disqus, 免费,算是良心产品了。
国外:Disqus, 基本不用考虑其他家的,虽然确实有竞品。
广告变现
国内:百度 or 广点通,两个效果差不多。
国外:FB or Google,做native广告,效果最佳。
支付
国内: 支付宝, 微信
国外: payssion, 专业做海外跨境收款的,能省很多事。
短信验证
国内:没用过,Google找一家最便宜的就行。
国外:Fabric Digits, twitter出品,居然不要钱。
灰度测试
国内:AppAdhoc,移动AB测试国内最专业的一家。
国外:optimizely, 支持Android, iOS, 直接在线改UI做AB测试, 三观都要颠覆了。
云测
国内:百度云测试。
国外:test in, 其实百度的也跑,国内的Android设备都卖到国外去了。
客服
国内:微客服, 有免费额度,中小应用够用。
国外:helpshift,国外最专业的客服平台。
推广
国内:这个真不了解。
国外:Appsflyer, 海外推广为数不多的选择之一。
可视化分析
国内:growingio, 还在内测中,linkedin数据分析大牛回国创业,据说黑科技,可以直接在app上实时查看各种转化率数据。
国外:appsee, 绝对黑科技,PM最爱,转化率什么的再也不怕上不去了,用过后我们团队成员一致好评,在我的微信公众号里有专门文章介绍使用体验。
----2015.11.27更新----
网络优化
国外:TwinPrime, 颇具特色的网络优化服务,目前正在尝试中,可移步我另外一篇回答查看
Android开发如何进行网络优化? - 汤涛的回答
国内:暂时还没发现同类产品,不过TwinPrime理论上是支持全球的。
最后,给大家介绍传说中的Android军火库,我很多东西都是在这里面找的。
国内: DevStore_移动互联网企业运营解决方案整合平台
国外: http://www.android-arsenal.com
----2015.11.28更新----
安利一下我的另外一篇回答,用心写的都木有人看,好桑心呀。
面试时,问哪些问题能试出一个 Android 应用开发者真正的水平? - 汤涛的回答
最近刚开始运营一个微信公众号AndroidTrending,里面主要是Android开发最佳实践,最好用的工具与服务的总结,如果大家感兴趣,可以关注一下。做技术有捷径,少走弯路即是。
题主说的是简化后端开发的。
@覃超已经说的很好了。
我那再说点其他的。
崩溃统计
以下是Android开发的
在线查看Android源代码,尤其适合没下载源码以及需要查看特定版本实现
Android趋势,了解最近大家在用什么,哪个项目火了
我那再说点其他的。
崩溃统计
- 友盟
- BugHD — 实时监控APP的崩溃分析工具
- TalkingData
- 友盟
- ShareSDK
- http://Fir.im
- 个推
- 腾讯信鸽
- 小米推送
- 极光推送
- Testin
- 等等
- 梆梆加固
- 爱加密
- 360加固
- Dexguard
以下是Android开发的
在线查看Android源代码,尤其适合没下载源码以及需要查看特定版本实现
- GrepCode.com(所有版本的Android源码以及其他的著名项目代码,比如Eclipse,JDK)
- AndroidXRef (同上)
- android Git repositories(Google 官方源)
Android趋势,了解最近大家在用什么,哪个项目火了
- Android Weekly
- Trending Java repositories on GitHub today · GitHub
- http://www.androidweekly.cn/ 国内版Android Weekly
- Home | CodePath Android Cliffnotes 针对各种知识点提供入门教程
- Google,尝试一下用Google English版本,使用英文关键词,可能会比中文找到更好的解决方案
- 翻墙(sorry,此部分。被人举报。 @王坚 ,抄袭我答案不提来源不说,顺道把我举报了)
保持水平不落伍每周要看
每周一期 Android Weekly
国内有 App开发 | 帖子版块分类
解决问题
Stack Overflow
找轮子
https://android-arsenal.com/
最大的同性交流社区
GitHub · Build software better, together.
系统
Mac OS X 或者 Linux 系统 能无痛NDK开发
模拟器
尽量用真机,实在没有的情况下使用 Genymotion
设计
如果没有UI设计师,自己想做漂亮但是懒得思考,那么就抄。
Inspired UI - Mobile Apps Design Patterns [Android]
Dribbble - Show and tell for designers
每周一期 Android Weekly
国内有 App开发 | 帖子版块分类
解决问题
Stack Overflow
找轮子
https://android-arsenal.com/
最大的同性交流社区
GitHub · Build software better, together.
系统
Mac OS X 或者 Linux 系统 能无痛NDK开发
模拟器
尽量用真机,实在没有的情况下使用 Genymotion
设计
如果没有UI设计师,自己想做漂亮但是懒得思考,那么就抄。
Inspired UI - Mobile Apps Design Patterns [Android]
Dribbble - Show and tell for designers
一名自学成才的Android开发者怒答!
1. Google
做开发前完全是小白,真心不知道有Google这东西,只晓得百度,遇到问题直接百度,不是黑百度,百度在娱乐八卦方面确实靠谱,但是技术方面查出来的东西基本千篇一律,有些答案甚至还会起到误导作用,直到有一天我的老大告诉我用Google,我才知道这个世界上原来还有另外一个搜索引擎,那个时候Google还没有被墙,从此算是迈过了一道坎。。。自此便成为脑残G粉。
2. stackoverflow
用Google之后搜索出来的东西还是习惯性的点击中文结果,直到有一天我发现基本每次搜索排名第一的都是这个网站,于是尝试着点进去用我蹩脚的英语阅读,之后真是相见恨晚的感觉啊,上面几乎能搜到你遇到的绝大部分问题,某种程度上来说推荐用Google搜索的原因之一是因为排名靠前的答案基本都在stackoverflow上。
3. GitHub
Google+stackoverflow基本上能解决开发中遇到的大部分“奇葩”问题了,但是开发到一定程度你需要进一步提升自己的技能,这个时候GitHub简直就是快速提升必备,在上面可以找到很多第三方组件,不用重复发明轮子,也可以直接阅读牛人们的代码,吸取他们的精华,代码读的多了不知不觉有一种质的飞越,直到最后你会开源自己的项目,大力拥抱开源社区,这是接触了另一个世界。
4. Terminal
命令行对于一般的开发基本接触不到,大部分开发都是GUI,最开始接触终端确实很抵触,但是一旦上手之后简直爱不释手,git, adb, sqlite, gradle, home brew, ruby, vim等直接一个终端搞定,命令行操作不但让你了解其原理,在别人眼里你就是个牛人!(mac上公认最好用的终端是iTerm)
5. Sublime
接触终端之后接触了vim这种轻量级编辑器,以前只知道IDE的概念,却原来不知道还有这么一群轻量级编辑器的存在,开始学习了一段vim,但是感觉上手有点难,也需要不少学习成本,之后同事推荐了sublime text,试用后便欲罢不能了,受够了IDE启动、编译的缓慢过程,现在查看并编译源码从来都是sublime + iTerm + gradle, 简单快速,至于你们提到的导入eclipse或者studio之类的简直太low了
6. Android学习之路
我当时学习Android的时候资料哪像现在这么多,开源社区也没有现在这么流行,所以学习起来很痛苦,很理解一些新手们无从下手的心情,为此写了一篇博客,夸张点说这篇博客已经公认为Android新手们的学习指南,甚至改变了一些人的命运。如果你现在才刚知道,也许相见恨晚。
7. 最后推荐下国内与国外Android开发一些不错的博客
当然我自认为我的博客还是非常有质量的 stormzhang博客精华
国内博客列表: android-cn/android-dev-cn · GitHub
国外博客列表: android-cn/android-dev-com · GitHub
8. Android Studio + Gradle
我学习的时候可没有这两个这么棒的工具,但是身为Android开发现在你还不知道这两个工具就out了,简直是Android开发的未来,提升你开发效率的同时还能提升你的逼格。怎么学习?跟着我的博客带你飞:
Android Studio系列教程一--下载与安装
Android Studio系列教程二--基本设置与运行
Android Studio系列教程三--快捷键
Android Studio系列教程四--Gradle基础
Android Studio系列教程五--Gradle命令详解与导入第三方包
Android Studio系列教程六--Gradle多渠道打包
1. Google
做开发前完全是小白,真心不知道有Google这东西,只晓得百度,遇到问题直接百度,不是黑百度,百度在娱乐八卦方面确实靠谱,但是技术方面查出来的东西基本千篇一律,有些答案甚至还会起到误导作用,直到有一天我的老大告诉我用Google,我才知道这个世界上原来还有另外一个搜索引擎,那个时候Google还没有被墙,从此算是迈过了一道坎。。。自此便成为脑残G粉。
2. stackoverflow
用Google之后搜索出来的东西还是习惯性的点击中文结果,直到有一天我发现基本每次搜索排名第一的都是这个网站,于是尝试着点进去用我蹩脚的英语阅读,之后真是相见恨晚的感觉啊,上面几乎能搜到你遇到的绝大部分问题,某种程度上来说推荐用Google搜索的原因之一是因为排名靠前的答案基本都在stackoverflow上。
3. GitHub
Google+stackoverflow基本上能解决开发中遇到的大部分“奇葩”问题了,但是开发到一定程度你需要进一步提升自己的技能,这个时候GitHub简直就是快速提升必备,在上面可以找到很多第三方组件,不用重复发明轮子,也可以直接阅读牛人们的代码,吸取他们的精华,代码读的多了不知不觉有一种质的飞越,直到最后你会开源自己的项目,大力拥抱开源社区,这是接触了另一个世界。
4. Terminal
命令行对于一般的开发基本接触不到,大部分开发都是GUI,最开始接触终端确实很抵触,但是一旦上手之后简直爱不释手,git, adb, sqlite, gradle, home brew, ruby, vim等直接一个终端搞定,命令行操作不但让你了解其原理,在别人眼里你就是个牛人!(mac上公认最好用的终端是iTerm)
5. Sublime
接触终端之后接触了vim这种轻量级编辑器,以前只知道IDE的概念,却原来不知道还有这么一群轻量级编辑器的存在,开始学习了一段vim,但是感觉上手有点难,也需要不少学习成本,之后同事推荐了sublime text,试用后便欲罢不能了,受够了IDE启动、编译的缓慢过程,现在查看并编译源码从来都是sublime + iTerm + gradle, 简单快速,至于你们提到的导入eclipse或者studio之类的简直太low了
6. Android学习之路
我当时学习Android的时候资料哪像现在这么多,开源社区也没有现在这么流行,所以学习起来很痛苦,很理解一些新手们无从下手的心情,为此写了一篇博客,夸张点说这篇博客已经公认为Android新手们的学习指南,甚至改变了一些人的命运。如果你现在才刚知道,也许相见恨晚。
7. 最后推荐下国内与国外Android开发一些不错的博客
当然我自认为我的博客还是非常有质量的 stormzhang博客精华
国内博客列表: android-cn/android-dev-cn · GitHub
国外博客列表: android-cn/android-dev-com · GitHub
8. Android Studio + Gradle
我学习的时候可没有这两个这么棒的工具,但是身为Android开发现在你还不知道这两个工具就out了,简直是Android开发的未来,提升你开发效率的同时还能提升你的逼格。怎么学习?跟着我的博客带你飞:
Android Studio系列教程一--下载与安装
Android Studio系列教程二--基本设置与运行
Android Studio系列教程三--快捷键
Android Studio系列教程四--Gradle基础
Android Studio系列教程五--Gradle命令详解与导入第三方包
Android Studio系列教程六--Gradle多渠道打包
没有人提robotium吗?自动化测试框架。想想你要花多久的时间在调试、测试上面,就知道这个自动化测试框架有多重要了。
专注客户端开发,不想自己还写后端,那就用Bmob之类的云平台咯。
补充几个利器
- Gradle
- Gist
推荐使用GistBox,对Gist做了一层漂亮的封装,它的口号是The Beautiful Way to Organize Code Snippets。
- Cmd Markdown 编辑阅读器
为知笔记现在也在全平台支持Markdown编辑和预览,但不能实时同步预览,有跨平台编辑的需要也可使用。
Android Asset Studio拿来简单处理图片和找一些图标太方便了。再也不用去platforms目录翻图标了。
Stack Overflow虽然我是英语渣,但是这网站救过我好多回,几次遇到非常麻烦的问题都在上面找到了答案。
Material Design这个翻译好的 Material Design设计语言规范,帮到我这个英语渣,我看了好几遍。
还有优秀的博客 Trinea,以及他整理的GitHub开源项目列表。
Stack Overflow虽然我是英语渣,但是这网站救过我好多回,几次遇到非常麻烦的问题都在上面找到了答案。
Material Design这个翻译好的 Material Design设计语言规范,帮到我这个英语渣,我看了好几遍。
还有优秀的博客 Trinea,以及他整理的GitHub开源项目列表。
我补充一个网站吧,
Material Design Icons,里面有很多现成的图标,来自社区和其他一些app,作为一个美术功底为零的开发者,做自己的项目的时候直接拿里面的icon来用……
- V.P.N
Android 开发工具的一个整理,一般的工具这里都有。
每日一篇Material Design相关的文章
Android Weekly,这个不用说了吧,知乎上有中文翻译,戳这里: Android Weekly - 知乎专栏,非常感谢无私的翻译。
一个Android开源库整理的网站。
这也是一个挺有意思的网站,归纳整理Github的标记。
最后推荐 @stormzhang 老师的Android交流群(187252236),很少有闲聊,遇到不太懂的问题,都会有人耐心的帮忙解决。
=========2015.5.10更=========
云梯的速度实在是~~~~~~
已转向「轻.云.」,优点:快且稳定;缺点是略贵,26元/月/20G
=========2015.6,25更=========
经 @胡飞亚 童鞋推荐,可以使用亚马逊ec2免费的VPS搭建免费的VPN。
我最近转用到shadowsocks,几十块钱半年,速度还不错。
说一下工具:
开发工具:Android Studio
内存调试工具:MAT
函数流程调试工具:Systrace和Method Trace
代码托管:Github
团队协作:Tower
开发工具:Android Studio
内存调试工具:MAT
函数流程调试工具:Systrace和Method Trace
代码托管:Github
团队协作:Tower
从开发中一些细小的地方说一些有用工具和技巧:
- 快速为设备截图并将截图取到本地。经常使用,方便快捷。
function adbsc() { adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > $1.png; }
- 如果你和我一样,在开发时可能需要同时连接多台Android设备,那么默认的adb命令用起来就不太舒服了(需要用-s指定序列号)。为此有人写一个Shell脚本,我在此基础上写了一个Python脚本,为其加入高亮和过滤功能。
使用的效果的是这样的:
- Jeff Sharkey写的Logcat color script和JakeWharton写的pidcat。
使用的效果分别是:
- WiFi ADB - Debug Over Air 部分时候会用到无线adb的方式。需要Root。
- 通过adb backup ,在非root的情况下拿到数据库等文件。方法见Random Stuff: Access Android app data without root。这个方法恐怕知道的人不多,有些时候非常有用。
- 有些时候并不方便连接电脑,需要直接在手机上查看数据库,这时候SQLite Editor这样的软件就派上用场了。需要Root。
- DebugLog,很简单的一个Lib项目,却能在很大程度上帮助开发者。可以在打印Log的时候自动打印出方法名和行号。
Eclipse/Intellij/Android studio 的工具栏里的 Refactor,人生短暂,请用Refactor
Jenkins,让产品自己打渠道包简直解放了我!
珍爱生命,请用真机调试
dash
我来回答这个问题
写回答…
已有帐号?登录