Android开发技术文档Word格式文档下载.docx
- 文档编号:15902545
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:15
- 大小:28.77KB
Android开发技术文档Word格式文档下载.docx
《Android开发技术文档Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Android开发技术文档Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
∙保持你的colors.xml简短DRY(不要重复自己),只是定义调色板
∙总是使用dimens.xmlDRY(不要重复自己),定义通用常数
∙不要做一个深层次的ViewGroup
∙在使用WebViews时避免在客户端做处理,当心内存泄露
∙使用Robolectric单元测试,Robotium做UI测试
∙使用Genymotion作为你的模拟器
∙总是使用ProGuard和DexGuard混淆来项目
AndroidSDK
将你的AndroidSDK放在你的home目录或其他应用程序无关的位置。
当安装有些包含SDK的IDE的时候,可能会将SDK放在IDE同一目录下,当你需要升级(或重新安装)IDE或更换的IDE时,会非常麻烦。
此外,若果你的IDE是在普通用户,不是在root下运行,还要避免吧SDK放到一下需要sudo权限的系统级别目录下。
构建系统
你的默认编译环境应该是Gradle.Ant有很多限制,也很冗余。
使用Gradle,完成以下工作很方便:
∙构建APP不同版本的变种
∙制作简单类似脚本的任务
∙管理和下载依赖
∙自定义秘钥
∙更多
同时,AndroidGradle插件作为新标准的构建系统正在被Google积极的开发。
工程结构
有两种流行的结构:
老的Ant&
EclipseADT工程结构,和新的Gradle&
AndroidStudio工程结构,你应该选择新的工程结构,如果你的工程还在使用老的结构,考虑放弃吧,将工程移植到新的结构。
老的结构:
old-structure
├─assets
├─libs
├─res
├─src
│└─com/futurice/project
├─AndroidManifest.xml
├─build.gradle
├─project.properties
└─proguard-rules.pro
新的结构
new-structure
├─library-foobar
├─app
│├─libs
│├─src
││├─androidTest
│││└─java
│││└─com/futurice/project
││└─main
││├─java
││├─res
││└─AndroidManifest.xml
│├─build.gradle
│└─proguard-rules.pro
└─settings.gradle
主要的区别在于,新的结构明确的分开了'
sourcesets'
(main,androidTest),Gradle的一个理念。
你可以做到,例如,添加源组‘paid’和‘free’在src中,这将成为您的应用程序的付费和免费的两种模式的源代码。
你的项目引用第三方项目库时(例如,library-foobar),拥有一个顶级包名app从第三方库项目区分你的应用程序是非常有用的。
然后settings.gradle不断引用这些库项目,其中app/build.gradle可以引用。
Gradle配置
常用结构
参考Google'
sguideonGradleforAndroid
小任务
除了(shell,Python,Perl,etc)这些脚本语言,你也可以使用Gradle制作任务。
更多信息请参考Gradle'
sdocumentation。
密码
在做版本release时你app的
build.gradle你需要定义
signingConfigs.此时你应该避免以下内容:
不要做这个
.这会出现在版本控制中。
signingConfigs{
release{
storeFilefile("
myapp.keystore"
)
storePassword"
password123"
keyAlias"
thekey"
keyPassword"
password789"
}
}
而是,建立一个不加入版本控制系统的gradle.properties文件。
KEYSTORE_PASSWORD=password123
KEY_PASSWORD=password789
那个文件是gradle自动引入的,你可以在buld.gradle文件中使用,例如:
try{
storePasswordKEYSTORE_PASSWORD
keyPasswordKEY_PASSWORD
catch(ex){
thrownewInvalidUserDataException("
YoushoulddefineKEYSTORE_PASSWORDandKEY_PASSWORDingradle.properties."
使用Maven依赖方案代替使用导入jar包方案
如果在你的项目中你明确使用率jar文件,那么它们可能成为永久的版本,如2.1.1.下载jar包更新他们是很繁琐的,这个问题Maven很好的解决了,这在AndroidGradle构建中也是推荐的方法。
你可以指定版本的一个范围,如2.1.+,然后Maven会自动升级到制定的最新版本,例如:
dependencies{
compile'
flix.rxjava:
rxjava-core:
0.19.+'
rxjava-android:
com.fasterxml.jackson.core:
jackson-databind:
2.4.+'
jackson-core:
jackson-annotations:
com.squareup.okhttp:
okhttp:
2.0.+'
okhttp-urlconnection:
IDEsandtexteditors
IDE集成开发环境和文本编辑器
无论使用什么编辑器,一定要构建一个良好的工程结构
编辑器每个人都有自己的选择,让你的编辑器根据工程结构和构建系统运作,那是你自己的责任。
当下首推AndroidStudio,因为他是由谷歌开发,最接近Gradle,默认使用最新的工程结构,已经到beta阶段(目前已经有release1.0了),它就是为Android开发定制的。
你也可以使用EclipseADT
,但是你需要对它进行配置,因为它使用了旧的工程结构和Ant作为构建系统。
你甚至可以使用纯文版编辑器如Vim,SublimeText,或者Emacs。
如果那样的话,你需要使用Gardle和adb命令行。
如果使用Eclipse集成Gradle不适合你,你只是使用命令行构建工程,或迁移到AndroidStudio中来吧。
无论你使用何种开发工具,只要确保Gradle和新的项目结构保持官方的方式构建应用程序,避免你的编辑器配置文件加入到版本控制。
例如,避免加入Ant
build.xml文件。
特别如果你改变Ant的配置,不要忘记保持build.gradle是最新和起作用的。
同时,善待其他开发者,不要强制改变他们的开发工具和偏好。
类库
Jackson
是一个将java对象转换成JSON与JSON转化java类的类库。
Gson
是解决这个问题的流行方案,然而我们发现Jackson更高效,因为它支持替代的方法处理JSON:
流、内存树模型,和传统JSON-POJO数据绑定。
不过,请记住,Jsonkson库比起GSON更大,所以根据你的情况选择,你可能选择GSON来避免APP65k个方法限制。
其它选择:
Json-smart
and
BoonJSON
网络请求,缓存,图片
执行请求后端服务器,有几种交互的解决方案,你应该考虑实现你自己的网络客户端。
使用
Volley或Retrofit。
Volley同时提供图片缓存类。
若果你选择使用Retrofit,那么考虑使用Picasso
来加载图片和缓存,同时使用OkHttp作为高效的网络请求。
Retrofit,Picasso和OkHttp都是有同一家公司开发(注:
是由Square
公司开发),所以它们能很好的在一起运行。
OkHttp同样可以和Volley在一起使用Volley.
RxJava
是函数式反应性的一个类库,换句话说,能处理异步的事件。
这是一个强大的和有前途的模式,同时也可能会造成混淆,因为它是如此的不同。
我们建议在使用这个库架构整个应用程序之前要谨慎考虑。
有一些项目是使用RxJava完成的,如果你需要帮助可以跟这些人取得联系:
TimoTuominen,OlliSalonen,AndreMedeiros,MarkVoit,AnttiLammi,VeraIzrailit,JuhaRistolainen.我们也写了一些博客:
[1],
[2],
[3],
[4].
如若你之前有使用过Rx的经历,开始从API响应应用它。
另外,从简单的UI事件处理开始运用,如单击事件或在搜索栏输入事件。
若对你的Rx技术有信心,同时想要将它应用到你的整体架构中,那么请在复杂的部分写好Javadocs文档。
请记住其他不熟悉RxJava的开发人员,可能会非常难理解整个项目。
尽你的的全力帮助他们理解你的代码和Rx。
Retrolambda
是一个在Android和预JDK8平台上的使用Lambda表达式语法的Java类库。
它有助于保持你代码的紧凑性和可读性,特别当你使用如RxJava函数风格编程时。
使用它时先安装JDK8,在AndroidStudio工程结构对话框中把它设置成为SDK路径,同时设置JAVA8_HOME和JAVA7_HOME环境变量,然后在工程根目录下配置build.gradle:
classpath'
me.tatarka:
gradle-r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 开发 技术 文档
