android 开发日积月累

简介: android 开发日积月累

版本管理工具

常用的有SVN  CVS GIT Mercurial目前Google Code支持SVN、Git、Mercurial三种方式


Git与CVS 的区别


分支更快、更容易。

支持离线工作;本地提交可以稍后提交到服务器上。

Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的。

Git 中的每个工作树都包含一个具有完整项目历史的仓库。

没有哪一个 Git 仓库会天生比其他仓库更重要。

Git与SVN 的区别


Git是分布式的,SVN不是

Git 把内容按元数据方式存储,而SVN是按文件

Git 分支和SVN的分支不同

Git 没有一个全局的版本号,而SVN有

Git 的内容完整性要优于SVN

我个人用过时间最长的是 svn,git和cvs也都用过一点,给我感觉git比较复杂 ,但是确实非常强大。如果能把git命令都记得特别熟的话 我推荐git是首选。


因为够强大 而且分便,对于多人团队协作开发帮助很大。当然他们都有视图工具,记不住命令的可以用视图操作。


我之前也有一篇git命令的博客 Git命令(最常用10组)


开发工具

开发工具一般是:android studio ,idea,eclipse 三种。


android开发工具现在官方推荐 android studio 简称as,goole对外宣布停止对eclipse的支持。


android studio的入门使用我写了一篇文章


从零开始用android studio  入门的新手非常值得一看


附带说明一下 android studio里面的一些相关插件


我之前有两篇博客介绍过其中的两个插件


一个是Gson format--- 自动生成 java bean 的插件  一个是sexy editory---- 设置as背景的插件


具体看两篇博客的介绍就可以了


其实as里面还有很多比较有用的插件


SekectorChapek 自动生成selector的插件


butterknife 从布局中生成viw的控件  这个很多 大家自行百度就好。


android 推送及即时通讯相关方案

环信,支持即时音视频


腾讯云通讯,支持即时音视频


极光推送和IM


个推


小米推送,在MIUI上属于系统服务框架,共享系统级长连接


百度云推送,部分机型收不到推送,如小米,Bug是否修复未知


腾讯信鸽推送


友盟推送


android 视频直播解决方案

腾讯云


金山云


网易云


CC视频


AnyRTC


还有github一些开源的框架,不过个人不建议自己开发,用这些比较靠谱。我用的是 腾讯云做的,之前一篇文章也有个大概的介绍,关于腾讯云直播开发的。


腾讯云视频开发攻略 这篇博客介绍了直播相关的一些东西。


android 分享及三方登录相关

友盟分享


腾讯分享


shareSdk


这个其实总体来说都差不多 ,友盟和腾讯的我都用过,按照文档说明就可以 ,难度不是很大。


android 网络请求

谷歌官网从安卓6.0系统开始默认不再支持httpClient,基于httpClient的框架建议不再使用


HttpClient 建议废弃  


HttpUrlConnection 建议用框架


Android-async-http框架 基于 httpClient,建议废弃


volley框架


Xuitls框架


okHttp框架


Retrofit 框架


上面这些网络请求框架


vollery 适合数据量小,通信频繁,且可拓展性强,可以自定义请求头header。


Xutils 适合大数据量的文件请求,比如文件下载等 缺点:太多框架集成在一起,使用某一个模块导入整个框架。


okhttp 是官方认可的一个框架,支持文件上传下载,非常高效,支持SPDY、连接池、GZIP和 HTTP 缓存。默认情况下,OKHttp会自动处理常见的网络问题,像二次连接、SSL的握手问题。从Android4.4开始HttpURLConnection的底层实现采用的是okHttp。


Retrofit将请求地址转换为接口,通过注解来指定请求方法,请求参数,请求头,返回值等信息。还是使用之前的person的那段json值,get请求到服务器后从数据库查询数据,返回值为查询到的数据,post请求向服务器提交一条数据,返回值为提交的数据。 使用非常简单,它可以直接解析JSON数据变成JAVA对象,甚至支持回调操作,处理不同的结果。


android 图片加载框架

Fresco


picasso


glide


Picasso :和Square的网络库一起能发挥最大作用,因为Picasso可以选择将网络请求的缓存部分交给了okhttp实现。


Glide:模仿了Picasso的API,而且在他的基础上加了很多的扩展(比如gif等支持),Glide默认的Bitmap格式是RGB_565,比    Picasso默认的ARGB_8888格式的内存开销要小一半;Picasso缓存的是全尺寸的(只缓存一种),而Glide缓存的是跟ImageView尺寸相同的(即56*56和128*128是两个缓存) 。


FaceBook的图片加载框架Fresco:最大的优势在于5.0以下(最低2.3)的bitmap加载。在5.0以下系统,Fresco将图片放到一个特别的内存区域(Ashmem区)。当然,在图片不显示的时候,占用的内存会自动被释放。这会使得APP更加流畅,减少因图片内存占用而引发的OOM。为什么说是5.0以下,因为在5.0以后系统默认就是存储在Ashmem区了。


Picasso所能实现的功能,Glide都能做,无非是所需的设置不同。但是Picasso体积比起Glide小太多如果项目中网络请求本身用的就是okhttp或者retrofit(本质还是okhttp),那么建议用Picasso,体积会小很多(Square全家桶的干活)。Glide的好处是大型的图片流,比如gif、Video,如果你们是做美拍、爱拍这种视频类应用,建议使用。


Fresco在5.0以下的内存优化非常好,代价就是体积也非常的大,按体积算Fresco>Glide>Picasso


不过在使用起来也有些不便(小建议:他只能用内置的一个ImageView来实现这些功能,用起来比较麻烦,我们通常是根据Fresco自己改改,直接使用他的Bitmap层)


其实 我个人还是建议使用picasso, glide虽然也不错,但是 你们比较一下jar包就看出来了,太大。这对于现在的应用都要集成大量的第三方开发框架来说非常不适用。


当然特殊情况除外。


android json解析

GSON  goole出品


FASTJSON 阿里开发


JACKJSON 开源框架 据说数据特别大的情况下 比GSON快了很多。大家自行百度吧。


写这个的目的是发现有的小伙伴还在自己写 get set...


android json格式在线解析

json.cn

bejson


android 统计相关

友盟统计


百度统计


腾讯统计


统计的目的就是收集用户信息主要包括


一、用户行为统计,包括

1、用户打开和关闭页面,以及在页面的停留时长;

2、用户点击行为的分布与频率;

3、用户输入的文字和图片,如搜索时的关键词、二维码的扫描信息、分享的图文内容等等;

4、用户对多媒体信息的接受程序,如听音乐的时长、看视频的时长等等;

二、运行情况分析,包括

1、app的启动时间;

2、app崩溃的日志信息;

3、app杀死进程;


对于开发者来说 最主要的是 可以收集错误信息,因为毕竟 我们测试不可能所有机型 版本都能测试的非常全面。我感觉统计的功能还是很有必要,我用的友盟 集成很方便。


android 语音集成

讯飞语音


网易云信


我们用的讯飞语音 就一个jar包 集成也很方便 只不过他这个在华为手机上有一些问题,就是初始化的时候。不知道大家碰到过没。不过讯飞总体来说还是可以的。


android 地图导航相关

百度地图


高德地图


做地图的时候 我只用过百度地图。高德的sdk没用过,我做的应用用地图很早了 还是百度地图2.x版本的时候。后来的api版本也没有用到过。


这个有的说百度好,有的说高德好。我也不好评论....


android 支付相关

微信支付宝


ping++


android 资源相关

android button 在线制作工具


android .9图片生成器


阿里巴巴矢量图片库


开源中国在线工具 十分强大


android 编码规范

之前写过一篇代码规范的文章


android论编码简洁规范  大家可以参考以下


goole java 编码规范指南 好专业..


总之就编码规范而言,大家尽量按照规范来,就算项目着急没有都做到规范,但是后期代码优化尽量改过来。


很重要,优秀的程序员的代码 很容易让别人看懂。


android 免费api接口

天气预报


接口一:http://api.map.baidu.com/telematics/v3/weather?location=%E5%98%89%E5%85%B4&output=json&ak=BbPC7sje0ijVl3p11h165ABQ&qq-pf-to=pcqq.c2c


接口二:https://www.sojson.com/blog/234.html


android应用市场整理

魅族应用市场:魅族开放平台


小米应用市场:小米开放平台


腾讯应用宝:腾讯开放平台 OPEN.QQ.COM


华为应用市场:http://developer.huawei.com/consumer/cn/devunion/openPlatform/html/memberCenter.html#appManage#


安智应用市场:安智开发者联盟


OPPO应用市场:OPPO开放平台


机锋应用市场:http://dev.gfan.com/product/queryProductList


360移动应用市场:登录-360帐号中心


百度应用市场:百度移动应用平台


豌豆荚应用市场:阿里应用分发开放平台


联想应用市场:登录联想帐号


android 开发相关资源下载


AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载 非常有用的网址 希望大家收藏


gradle下载网站


Gradle Distributions


Kotlin


2018最新Java视频教程

http://www.apkbus.com/plugin.php?id=apkbus_video&op=item&vid=885

安卓巴士Kotlin入门视频教程

apkbus.com

Kotlin学习资料汇总

http://www.apkbus.com/blog-261991-68033.html

使用Kotlin来开发Android【安卓巴士博文大赛】

http://www.apkbus.com/blog-780485-68062.html

Kotlin如何实现MVP架构

http://www.apkbus.com/blog-847095-68637.html

使用Kotlin封装RecycleView和重构

http://www.apkbus.com/blog-822415-68616.html

使用Kotlin开发Android项目-Kibo【安卓巴士博文大赛】

http://www.apkbus.com/blog-780485-68292.html

让你的 Kotlin 代码远离 !!

http://www.apkbus.com/blog-822717-68438.html

Kotlin编程之Glide v4 Generated API

http://www.apkbus.com/blog-847095-68125.html




MVC/MVP/MVVM/MVPVM 更好的架构设计


MVC,MVP 和 MVVM 的图示

http://www.apkbus.com/blog-822721-68034.html

Android架构篇--MVP模式的介绍篇

http://www.apkbus.com/blog-866962-68049.html

MVP模式简单讲解,通俗易懂

http://www.apkbus.com/blog-822715-64235.html

用MVP架构开发Android应用

http://www.apkbus.com/blog-822715-72362.html

MVC,MVP,MVPVM 实践分析

http://www.apkbus.com/blog-822717-68538.html

Android官方MVP架构项目解析

http://www.apkbus.com/blog-822724-68468.html

Kotlin如何实现MVP架构

http://www.apkbus.com/blog-847095-68637.html




Retrofit 2


Retrofit2 使用详解及从源码中解析原理

http://www.apkbus.com/blog-866962-72363.html

Retrofit2 完全解析 探索与okhttp之间的关系

http://www.apkbus.com/blog-822719-68725.html

开始使用Retrofit2+RXjava+Gson

http://www.apkbus.com/blog-822724-68248.html




RxJava


手把手教你使用 RxJava 2.0(一)

http://www.apkbus.com/blog-916880-68366.html

Android 响应式编程 RxJava2 完全解析

http://www.apkbus.com/blog-822721-68181.html

这可能是最好的RxJava 2.x 入门教程(一)

http://www.apkbus.com/blog-898535-68087.html

这可能是最好的RxJava 2.x 教程(完结版)【安卓巴士博文大赛】

http://www.apkbus.com/blog-898535-68185.html

RxJava 详解

http://www.apkbus.com/blog-855858-68750.html

Android RxJava2+Retrofit2搭建网络请求框架

http://www.apkbus.com/blog-822721-68244.html




Dagger 2


框架 Dagger2 的简单使用

http://www.apkbus.com/blog-866962-68151.html

依赖注入框架 Dagger2 注入实现过程总结

http://www.apkbus.com/blog-847095-68761.html

Dagger2、RxJava和Retrofit的巧妙结合

http://www.apkbus.com/blog-822717-71965.html

神兵利器Dagger2

http://www.apkbus.com/blog-882554-62908.html

Retrofit2-RxJava-Dagger2-MVP完美封装

http://www.apkbus.com/blog-866962-72652.html

Dagger2的轻松愉悦解析

http://www.apkbus.com/blog-938789-76457.html





Glide


Glide v4 使用教程与详细文档

http://www.apkbus.com/blog-873055-75813.html

Glide 使用介绍

http://www.apkbus.com/blog-855858-64239.html

Glide 4.0 相比 Glide 3.0 和使用详解

http://www.apkbus.com/blog-822715-68508.html

Kotlin编程之Glide v4 Generated API

http://www.apkbus.com/blog-847095-68125.html




数据库


Android Study 之 玩转GreenDao 3.2.2 点滴提升逼格~【安卓巴士博文大赛】

http://www.apkbus.com/blog-904057-67980.html

史上最高效的ORM方案——GreenDao3.0详解

http://www.apkbus.com/blog-705730-62698.html

史上最高效的ORM方案——GreenDao3.0高级用法

http://www.apkbus.com/blog-705730-62741.html




自定义View

 

一篇文章玩转Android 自定义View

http://www.apkbus.com/blog-822715-69404.html

Android Study之自定义View进阶路:掌握绘制基本图形(一)

http://www.apkbus.com/blog-904057-68729.html

Android Study之自定义View进阶路:绘制饼图(二)

http://www.apkbus.com/blog-904057-72648.html

《自定义View入门及实战案例分析【安卓巴士博文大赛】》

http://www.apkbus.com/blog-703583-68603.html

使用自定义View实现天气折线图效果

http://www.apkbus.com/blog-822719-68724.html

自定义View之添加银行卡动画

http://www.apkbus.com/blog-822721-68656.html




封装技术


从零开始搭建一个项目(rxJava+Retrofit+Dagger2) ---上

http://www.apkbus.com/blog-873057-72598.html

从零开始搭建一个项目(rxJava+Retrofit+Dagger2) ---下

http://www.apkbus.com/blog-873057-72599.html

Android 巧妙封装,基于Retrofit+RxJava网络框架

http://www.apkbus.com/blog-822719-72607.html

在 Kotlin 的 Android 项目中使用 Retrofit+RxJava

http://www.apkbus.com/blog-822719-72606.html

MVP+Retrofit+dagger2+RxAndroid框架整合项目配置

http://www.apkbus.com/blog-873057-72604.html

在项目中优雅引入Dagger2+Retrofit+RxJava(RxAndroid)

http://www.apkbus.com/blog-873057-72603.html

基于Retrofit、OkHttp、Gson封装通用网络框架

http://www.apkbus.com/blog-822715-72613.html




Android 8.0相关


Android 8.0 功能和 API

http://www.apkbus.com/blog-847095-68742.html

Android 8.0 Oreo 画中画模式

http://www.apkbus.com/blog-810076-68778.html

Android O 原生系统图标能自适应攻略

http://www.apkbus.com/blog-810076-68768.html

Android O 行为变更官方指南

http://www.apkbus.com/blog-810076-68773.html

Android O 迁移应用官方指南

http://www.apkbus.com/blog-810076-68774.html

Android Oreo 后台运行限制

http://www.apkbus.com/blog-810076-72617.html

Android O 让安装应用更安全

http://www.apkbus.com/blog-810076-72618.html

全新 Android 构建组件到底有多好用?

http://www.apkbus.com/blog-810076-72619.html


热门技术


Android热更新技术的研究与实现【安卓巴士博文大赛】

http://www.apkbus.com/blog-780485-68702.html

插件化 热部署 热补丁 动态加载 参考框架

http://www.apkbus.com/blog-822721-72355.html

Android Study 之 初识ButterKnife(8.5.1)及简单运用 【安卓巴士博文大赛】

http://www.apkbus.com/blog-904057-67981.html

Android界面性能调优手册

http://www.apkbus.com/blog-873057-72671.html


项目实战

精仿今日头条

http://www.apkbus.com/blog-917385-68382.html

我赌两包辣条你没见过,实战无接口写安卓巴士博客App端【安卓巴士博文大赛】

http://www.apkbus.com/blog-889706-68550.html


其他

Android网络请求各种方法总结

http://www.apkbus.com/blog-822715-68319.html

官方详细介绍Android Studio 3.0

http://www.apkbus.com/blog-810076-68776.html

Drawable适配的那些事,仔仔细细研究下。

http://www.apkbus.com/blog-822721-68735.html

Android初学路上会遇到的瓶颈【安卓巴士博文大赛】

http://www.apkbus.com/blog-477242-68294.html

Android Coding 利器 之 掌握小技巧,助你Coding更上一层楼【安卓巴士博文大赛】

http://www.apkbus.com/blog-904057-68403.html

如何做一个合格的Android面试官【安卓巴士博文大赛】

http://www.apkbus.com/blog-477242-67985.html

这可能是最好的性能优化教程(一)

http://www.apkbus.com/blog-898535-72698.html

Android 2017 开源库总结(持续更新)

http://www.apkbus.com/blog-912299-76478.html


Android 资源类网站


AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载



UI Programming Language


UILang


Design Tutorials

HackDesign


Design Games

The Bezier Game


一个帮助你练习PS里钢笔工具的小游戏。


Design Guides

Android设计指南非官方简体中文版


Topfun镜像地址:topfun.us -


Github镜像地址:http://adchs.github.io


ApkBus镜像地址:apkbus.com


Segmentfault镜像地址:http://mirrors.segmentfault.com/adchs/


多看阅读镜像地址:http://www.duokan.com/book/47790


Android Cheatsheet for Graphic Designers


地址:Android Cheatsheet for Graphic Designers


Google Material Design 中文版


地址:http://wiki.jikexueyuan.com/project/material-design/


地址: http://www.ui.cn/Material/


Designer's Guide To dpi


地址:http://sebastien-gabriel.com/designers-guide-to-dpi/home


Email Design Guide


地址:Email Design Guide


Free Design Resources

Google Material Design 素材(感谢 @SanityD)


Material Design Icon Templates


Material Design的图标集


Material Design UI Kit for Sketch


Nexus 5 template for Sketch


Free Design Resources


434 SVG icons


UI Cloun


161个国内外社交网站矢量图标


250 free icons in 5 sizes and 14 colors


MINIMALISTIC EVERYDAY ICONS


Icons4android一套极具人气的在线资源集合


Books

Free Programming Books


一堆免费的Android开发相关的电子书。


50 Android Hacks


50 Android Hacks这本书分12个部分介绍了50个Android开发的小技巧。


相关文章
|
5天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
27天前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
14 0
|
1月前
|
XML 缓存 Android开发
Android开发,使用kotlin学习多媒体功能(详细)
Android开发,使用kotlin学习多媒体功能(详细)
103 0
|
1月前
|
设计模式 人工智能 开发工具
安卓应用开发:构建未来移动体验
【2月更文挑战第17天】 随着智能手机的普及和移动互联网技术的不断进步,安卓应用开发已成为一个热门领域。本文将深入探讨安卓平台的应用开发流程、关键技术以及未来发展趋势。通过分析安卓系统的架构、开发工具和框架,本文旨在为开发者提供全面的技术指导,帮助他们构建高效、创新的移动应用,以满足不断变化的市场需求。
18 1
|
1月前
|
机器学习/深度学习 调度 Android开发
安卓应用开发:打造高效通知管理系统
【2月更文挑战第14天】 在移动操作系统中,通知管理是影响用户体验的关键因素之一。本文将探讨如何在安卓平台上构建一个高效的通知管理系统,包括服务、频道和通知的优化策略。我们将讨论最新的安卓开发工具和技术,以及如何通过这些工具提高通知的可见性和用户互动性,同时确保不会对用户造成干扰。
33 1
|
2天前
|
数据库 Android开发 开发者
安卓应用开发:构建高效用户界面的策略
【4月更文挑战第24天】 在竞争激烈的移动应用市场中,一个流畅且响应迅速的用户界面(UI)是吸引和保留用户的关键。针对安卓平台,开发者面临着多样化的设备和系统版本,这增加了构建高效UI的复杂性。本文将深入分析安卓平台上构建高效用户界面的最佳实践,包括布局优化、资源管理和绘制性能的考量,旨在为开发者提供实用的技术指南,帮助他们创建更流畅的用户体验。
|
19天前
|
XML 开发工具 Android开发
构建高效的安卓应用:使用Jetpack Compose优化UI开发
【4月更文挑战第7天】 随着Android开发不断进化,开发者面临着提高应用性能与简化UI构建流程的双重挑战。本文将探讨如何使用Jetpack Compose这一现代UI工具包来优化安卓应用的开发流程,并提升用户界面的流畅性与一致性。通过介绍Jetpack Compose的核心概念、与传统方法的区别以及实际集成步骤,我们旨在提供一种高效且可靠的解决方案,以帮助开发者构建响应迅速且用户体验优良的安卓应用。
|
21天前
|
监控 算法 Android开发
安卓应用开发:打造高效启动流程
【4月更文挑战第5天】 在移动应用的世界中,用户的第一印象至关重要。特别是对于安卓应用而言,启动时间是用户体验的关键指标之一。本文将深入探讨如何优化安卓应用的启动流程,从而减少启动时间,提升用户满意度。我们将从分析应用启动流程的各个阶段入手,提出一系列实用的技术策略,包括代码层面的优化、资源加载的管理以及异步初始化等,帮助开发者构建快速响应的安卓应用。
|
21天前
|
Java Android开发
Android开发之使用OpenGL实现翻书动画
本文讲述了如何使用OpenGL实现更平滑、逼真的电子书翻页动画,以解决传统贝塞尔曲线方法存在的卡顿和阴影问题。作者分享了一个改造后的外国代码示例,提供了从前往后和从后往前的翻页效果动图。文章附带了`GlTurnActivity`的Java代码片段,展示如何加载和显示书籍图片。完整工程代码可在作者的GitHub找到:https://github.com/aqi00/note/tree/master/ExmOpenGL。
23 1
Android开发之使用OpenGL实现翻书动画
|
21天前
|
Android开发 开发者
Android开发之OpenGL的画笔工具GL10
这篇文章简述了OpenGL通过GL10进行三维图形绘制,强调颜色取值范围为0.0到1.0,背景和画笔颜色设置方法;介绍了三维坐标系及与之相关的旋转、平移和缩放操作;最后探讨了坐标矩阵变换,包括设置绘图区域、调整镜头参数和改变观测方位。示例代码展示了如何使用这些方法创建简单的三维立方体。
18 1
Android开发之OpenGL的画笔工具GL10