你在工作中可能会遇到同时给你说不要重复发明轮子,其实这个说的就是第一:不要做重复的事情,第二:站在巨人的肩膀上。现在有了互联网以及开源的精神,我们的很多在产品中需要实现的功能组件都可以在互联网上找到,我们可以直接拿来用,这样我们就不用重复做东西了,这得益于开源奉献精神。像Google、Facebook这类的大公司都在使用很多的开源产品,比如我们常见的Apache系列、我们使用的Eclipse IDE等等。
在我自己的产品开发中,我也使用到了一些常用的开源项目,下面就介绍一下我使用的一些Android开源项目。
1.android-wheel
还记得iPhone上经典的日期选择滑轮组件吗?这个就是android版本的实现,记得当时这种选择方式很风靡,可以用于时间、分类等一些具有选择类型功能的开发实现,非常方便。
开源项目地址:https://code.google.com/p/android-wheel/
2.achartengine
这个是android上用于报表类的组件,可以实现条形图、饼图、柱状图、折线图等等。可以在产品中用于一些报表统计类的功能,通过这些图形报表给用户一个直观的统计,比如用户的收支走势图、分类支出对比图等等。
开源项目地址:https://code.google.com/p/achartengine/
3.Satellite Menu
还记得Path的弧形弹出式菜单吗?当时太风靡了,大家都在抄啊,一时间市场上所有的App的功能和菜单键全被这个设计代替了。不多说,给出地址。
开源项目地址:https://github.com/siyamed/android-satellite-menu
4.drag-sort-listview
Android产品中ListView相信大家都用的不少,用于展示用户的数据是很不错的,不过有的时候用户需要调整一下列表项的顺序,比如用户想把好听的因为放在上面,便于选择,这时候这个组件就派上用场了,可以让用户拖动着某一项进行上下排序。
开源项目地址:https://github.com/bauerca/drag-sort-listview
5.SlidingMenu
不知道从什么时候起侧滑又成了App设计的一个风向标,一时间全是侧滑啊,就是感觉不用侧滑这个产品就不好意思发布似的。这是一个非常经典的侧滑开源项目,都多种方式、可以灵活配置和定制。
开源项目地址:https://github.com/jfeinstein10/SlidingMenu
6.NineOldAndroids
Android3.0增加了一套属性动画的框架,让开发者能更容易的完成更复杂的动画,但是为了兼容低版本的手机,我们又不能把应用升级到Android3.0,不过幸好有NineOldAndroids,我们可以在低系统版本的手机上也可以使用属性动画
开源项目地址:https://github.com/JakeWharton/NineOldAndroids
7.Android-PullToRefresh
下拉列表刷新,上拉加载,下拉。。。,上下拉可以做很多事情,上下拉又成了时髦的设计。这是一个非常NB的组件,可以把任何View变成具有可上下拉功能的View,并且不会对原来的View造成污染。
开源项目地址:https://github.com/chrisbanes/Android-PullToRefresh
8.ActionBarSherlock
从 Android3.0开始增加了ActionBar,它能帮助开发者定制菜单,导航等,非常方便,但是低版本的用不了,所以ActionBarSherlock就出世了,它能让我们在低版本的手机上也可以使用ActionBar
开源项目地址:https://github.com/JakeWharton/ActionBarSherlock
开源项目林林总总很多,今天说的都是我常用的,多去一些注入GitHub,GoogleCode等网站,可以发现很多开源的优秀项目,这些我们可以先了解收集起来,等我们产品中有类似的功能了,可以拿来使用,帮你更快的完成工作。
相关推荐
在Android产品研发过程中,开发者会遇到各种技术和实践挑战。开源项目的运用是提高开发效率和产品质量的重要途径。以下将详细探讨一些Android开发中的关键技术、技巧和实践。 1. **Android Studio**:作为官方推荐...
在移动应用领域,Android平台因其开源性与灵活性,成为了许多开发者首选的游戏开发平台。本篇文章将围绕一款名为"Jewels宝石消消乐"的Android游戏源码进行深度剖析,带你走进Android游戏开发的世界。 首先,"Jewels...
本项目是一个为Android开发者量身打造的一款开源类库产品,您可以在amsoft.cn中获取到最新的代码,示例以及开发文档。tandbase中包含了大量的开发常用手段,如网络下载,Http请求,线程与线程池的管理,图片缓存管理...
Android作为全球最广泛使用的移动操作系统之一,其开源特性使得开发者能够深入底层进行自定义开发。本文档旨在帮助技术团队成员更好地理解和学习Android开发,通过构建和谐的技术学习环境来促进团队发展。 ##### ...
### Android GIS 开发总结——GEOtools、Google Maps API、UCMap #### 一、引言 随着移动设备性能的提升和技术的发展,地理信息系统(GIS)在移动平台上的应用变得越来越广泛。Android作为全球最流行的移动操作系统...
Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...
本项目是一个为Android开发者量身打造的一款开源类库产品,您可以在amsoft.cn中获取到最新的代码,示例以及开发文档。tandbase中包含了大量的开发常用手段,如网络下载,Http请求,线程与线程池的管理,图片缓存管理...
对于希望进入Android产品开发的内容提供商而言,掌握这些技术可以大大缩短移动互联网应用的开发周期,并将更多精力集中在交互设计和用户界面表现力上。 - **JDBC**:Java数据库连接技术,用于实现Java应用程序与...
- **Android开源项目**:GitHub上有许多高质量的Android开源项目,参与这些项目的开发不仅能提高自己的技能,还能为开源社区做出贡献。 #### 五、iOS操作系统 ##### 1. 开发工具 - **Xcode**:iOS应用开发的主要...
开发者需要通过大量的编码练习、参与开源项目、或自己动手实践完整的Android应用开发,以此来巩固所学知识。通过实际的项目开发,可以学习如何进行需求分析、系统设计、编码实现、测试调试以及产品发布等完整流程。 ...
在Android开发中,UI设计是至关重要的,因为它直接影响到用户对应用的第一印象和使用体验。本文将深入探讨如何自己设计一个精美的布局,基于Android UI设计原则和源码实现。我们将从以下几个方面来展开讨论: 1. **...
本项目是一个为Android开发者量身打造的一款开源类库产品,您可以在amsoft.cn中获取到最新的代码,示例以及开发文档。tandbase中包含了大量的开发常用手段,如网络下载,Http请求,线程与线程池的管理,图片缓存管理...
Android 包含一些 C/C++库,这些库能被 Android 系统中不同的组件使用。它们通过 Android 应用程序框架 为开发者提供服务。以下是一些核心库: • 系统 CCCC 库 - 一个从 BSD 继承来的标准 C 系统函数库( libc ),...
MVP 在 Android 开发中是一种常用的架构模式,尤其是在需要高度可测试性的项目中。 以上就是 Android 面试中常考的十大开源框架及架构模式的详细介绍。对于准备面试的开发者来说,熟练掌握这些知识点是非常重要的。...
2007年11月5日,Google与84家硬件制造商、软件开发商及电信营运商共同组建开放手持设备联盟,并透过该联盟推出基于Linux的开源操作系统——Android。此后,Android迅速发展成为全球最广泛使用的移动操作系统之一。 ...
使用机智云开源APP之前,需要先在机智云开发平台创建您自己的产品和应用。 开源App需要使用您申请的AppId、AppSecret以及您自己的产品ProductKey才能正常运行。 具体申请流程请参见:http://docs.gizwits.com/hc/...
AndBase是为Android开发者量身打造的一款开源类库产品,本例中包含最新的源码,示例以及开发文档。 andbase能做什么? 1.andbase中包含了大量的开发常用手段。 如网络下载,多线程与线程池的管理,数据库ORM,图片...
在Android应用开发中,效率和代码复用是关键因素,特别是在项目组需要开发一系列相关产品时。`AndroidTemplateInitProject`是一个开源项目,旨在解决这一问题,它提供了一个自动化脚本,可以在创建新项目时自动引入...
在Android开发的学习路径中,首先需要扎实的Java编程基础。Java是Android开发的主要语言,因此理解和掌握其核心概念至关重要。这包括数据类型和运算符、流程控制语句(如if、for、while)、数组以及面向对象编程的...