Android应用开发过程中,经常会遇到很多常见的类似问题,解决这些问题需要花时间,其实很多问题已经有了成熟的解决方案,比如很多第三方的开源lib,参考
Android Libraries 和
Android UI/UX Libraries。
编码越少,Bug越少,效率自然会高。
但可能由于 根本没听说过、听说过但没用过、特殊原因不能用、自己已经有了解决方案等等原因,这些成熟的解决方案没能发挥作用,让开发人员踩了不少坑。可以Google一下“开发 坑” 或 “Dev Gotchas”看看其他人的经验分享。不要重复造轮子Don't Reinvent The Wheel! 但是不是所有“轮子”都适合你。这里介绍比较成熟的,普遍被应用的开源框架。
(1)依赖注入Dependency Injection
通用型
AndroidAnnotations – http://androidannotations.org/
View映射
Butter Knife – http://jakewharton.github.io/butterknife/
类注入
Dagger2 – http://google.github.io/dagger/
(2)网络通信Networking
异步请求
OKHttp – http://square.github.io/okhttp/
Volley – https://android.googlesource.com/platform/frameworks/volley/
REST客户端
Retrofit – http://square.github.io/retrofit/
(3)图像加载Image Loading
Picasso – http://square.github.io/picasso/
Fresco – http://frescolib.org/
(4)数据库DatabaseORM
OrmLite – http://ormlite.com/
GreenDAO – http://greendao-orm.com/
(5)组件通信EventBus
Otto – http://square.github.io/otto/
EventBus – https://github.com/greenrobot/EventBus
(6)模板代码Boilerplate Code
Hrisey – https://github.com/mg6maciej/hrisey
(7)工具Useful Tools
Genymotion Emulator – http://www.genymotion.com/
SQLite Browser – http://sqlitebrowser.org/
RestClient – https://github.com/wiztools/rest-client
Fluid UI – https://www.fluidui.com/demo/android-ics/
ProGuard – http://proguard.sourceforge.net/
LeakCanary – https://github.com/square/leakcanary
Stetho – http://facebook.github.io/stetho/
Realm – https://realm.io/
方法总数限制65K
虚拟机Dalvik在执行DEX格式的Java应用程序时,使用原生类型short来索引DEX文件中的方法。这意味着单个DEX文件可被引用的方法总数被限制为65536。
引用
Unable to execute dex: method ID not in [0, 0xffff]: 65536
Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536
可以将一个DEX文件分拆成多个DEX文件解决,参考
官网说明,需要特殊处理。开源项目
dex-method-counts可以用于统计APK中每个包的方法数量。避免使用Google Guava这样的类库,它一个就包含了14k方法。
慎重选型后,最多选择2到3个开源框架用于一个项目中。
参考:
http://www.codeproject.com/Articles/1004611/Open-source-Android-libraries-every-programmer-sho
http://www.technotalkative.com/lazy-productive-android-developer-1/
分享到:
相关推荐
XDroid是一个轻量级的Android快速开发框架,由UI、Cache、Event、ImageLoader、Kit、Log、Router、Net等几个部分组成。其设计思想是使用接口对各模块解耦规范化,不强依赖某些明确的三方类库,使得三方类库可自由...
Lazarus开发Android应用程序的过程,从环境配置到应用的编译、生成APK文件,再到测试安装,整体操作简洁明了,适合希望快速开始Android应用开发的Pascal语言开发者。这种跨平台的开发方式有助于开发者利用已有的...
Bmob是一款强大的后端云服务平台,专为移动开发者提供便捷的后台支持,使得开发者可以快速构建Android应用。在本文中,我们将深入探讨如何利用Bmob进行Android应用的开发,以及Bmob提供的主要功能和服务。 首先,要...
借助SL4A,开发者可以利用Python简洁的语法和强大的库功能来快速开发Android应用的GUI。使用Eclipse和Android SDK作为开发工具,开发者可以轻松地创建具有丰富用户界面的应用程序,而无需深入了解Java语言的复杂性。...
Lazarus是一款强大的开源集成开发环境(IDE),它基于Free Pascal编译器,为开发者提供了一个免费且...这份指南将帮助开发者快速掌握Lazarus开发Android应用的技巧,无论你是初学者还是有经验的程序员,都能从中受益。
Kotlin语言开发,采用了组件化开发,单活动+多fragement,MVVM架构的改造+协程+ LiveData +数据绑定编程思想,对数据层,传输层,应用层进行了封装,可作为快速开发android应用的框架。 架构介绍 1,组件化应用结构 ...
总结,开发Android应用程序,尤其是涉及手机通信录功能的应用,需要掌握Android开发的基本技术,如布局设计、数据库操作、Intent服务的使用以及用户交互的处理。同时,充分的测试和调试也是保证应用质量的关键步骤。...
本资源"快速开发Android MVVM应用程序模板.zip"显然是为了帮助开发者快速搭建基于MVVM架构的应用程序。以下是关于MVVM模式及其在Android开发中的应用的详细知识点: 1. **MVVM架构**:MVVM是一种软件设计模式,由...
Android SDK提供了一系列的API和开发工具,能够帮助开发者快速开发Android应用程序。Android NDK提供了一个原生的开发接口,能够让开发者使用C++语言开发Android应用程序。Android Studio是Google官方提供的一款集成...
Basic4android 开发环境的搭建 Basic4android 是一个基于 Android 的开发环境,提供了一组完善的开发工具和插件,方便开发者快速开发和调试 Android 应用程序。 基于 Android 的传感器技术应用开发 基于 Android ...
Basic4Android提供了一个强大的集成开发环境(IDE),具备代码编辑器、调试器、模拟器和编译器,允许开发者快速开发Android应用。使用Basic4Android开发应用的过程中涉及到了Java和Android SDK(软件开发工具包)的...
* 快速开发:使用 PHP 语言可以快速开发 Android 应用程序。 * 跨平台:PHP for Android 可以在多个平台上运行。 * 轻松集成:PHP for Android 可以轻松地与其他语言集成。 结论 使用 PHP for Android 开发 ...
1、afinal是android中一个设计小巧的android应用开发框架 2、里面包含了一个orm框架,无需配置任何文件可以对android的sqlite进行增删改查操作。 3、里面包含了一个ioc框架,自动绑定android布局文件和代码的控件,...
开发者可以使用Basic4android来快速开发Android应用程序。 8. 传感器技术在Android平台上的应用:传感器技术在Android平台上有着广泛的应用,如GPS、加速度计、陀螺仪等。这些传感器可以用于多种应用场景,如定位、...
它提供了一系列的开发工具和库,帮助开发者快速开发 Android 应用程序。 Android SDK 可以从 Google 官方网站下载。 3. IDE Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。它提供了一个框架和一组...
本文提供了详细的环境搭建步骤和 HelloWorld 项目的创建步骤,帮助读者快速入门 Android 应用开发。 知识点: * 安装 JDK 和配置 PATH 和 CLASSPATH 环境变量 * 安装 Eclipse 和 ADT 插件 * 安装 Android SDK 和...
根据提供的信息,我们可以推断出《Android应用开发揭秘》这本书主要涵盖了Android应用程序的开发流程及相关技术,适合初学者作为入门指南。尽管具体内容未给出详细章节或摘要,但基于标题、描述及常见Android开发...
Android SDK 是 Android 操作系统的软件开发工具包,提供了大量的开发工具和API,帮助开发者快速开发 Android 应用程序。下面将详细介绍 Android SDK 的下载和安装过程。 一、下载 Android SDK Android SDK 的下载...
这本书深入浅出地介绍了Android平台的基本概念、开发环境搭建、UI设计、数据存储、网络通信以及多媒体处理等多个核心领域,旨在帮助读者快速上手并构建自己的Android应用。 1. **Android平台介绍**:首先,书本会...
首先,书中会介绍Android的开发环境,包括安装Java Development Kit (JDK)、设置Android Studio、配置Android SDK等步骤,这些都是开发Android应用的基础。接着,会讲解Android的项目结构、布局设计以及UI组件的使用...