Android快速开发框架

简介:

项目地址:https://github.com/zuiwuyuan/QuickAndroid

# QuickAndroid
Android快速开发框架

项目介绍:

    QuickAndroid是一个免费的开源的、简易的Android开发框架,其开发宗旨是简单、快速的进行Android应用程序的开发。
    
    它对AsyncHttpClientt框架进行了二次封装,可以快速的进行网络请求回调处理。而且,项目还集成了Fastjson,当网络数据时通过json格式传输时,可以更加快速高效的进行数据的解析操作。
    项目还二次封装了了universal-image-loader框架,用于处理图片的下载缓存,有效的防治oom的发生。
    
    在数据的缓存处理上,同时提供了数据库相关和本地文件缓存相关的方法,可以根据需求,选择到底使用哪一种方式存取数据。
    
    当然,项目还集成了ButterKnife,它是一个专注于Android系统的View注入框架,让你从此从这些烦人臃肿的代码中解脱出来。再也不用些写findViewById,或者是是setOnClickListener这样的代码啦。
    
    除此之外,ViewPagerHelper工具类可以帮助更简单的实现View组件的滑动,android-log可以帮助进行日志打印查看等。。。


1. HTTP框架: AsyncHttpClient

    对AsyncHttpClient进行了二次封装,即HttpUtil.java类,在网络请求时,可直接通过该类发送get/post请求。

    https://github.com/loopj/android-async-http


2. JSON解析: FastJson解析

    FastJson是效率最快的Json解析库,项目封装了FastJson工具类FastJsonUtil.java,可通过其直接进行json的解析。

    http://git.oschina.net/wenshao/fastjson


3. 图片加载缓存框架:universal-image-loader

    众所周知的图片加载缓存框架,效率高,效果好,使用简单,项目封装了imageLoader工具类ImageLoaderUtil.java,可以直接使用其进行图片缓存。

    https://github.com/nostra13/Android-Universal-Image-Loader


4. 数据库框架: ORMLite(保存数据量大,不常更新的数据,比如题库、车站名,地名等等)

    对ORMLite数据库框架进行了二次封装,可以更加方便的进行数据库相关的操作,其中db.DatabaseHelper.java是数据库帮助类,db.dao.XxxDao.java是数据库操作实现类(Model)。

    http://ormlite.com/

    http://blog.csdn.net/lmj623565791/article/details/39121377
    http://blog.csdn.net/lmj623565791/article/details/39122981


5. 数据本地缓存: Reservoir(保存数据量小,可能会及时更新、删除的数据,比如用户信息、true/false等)

    Reservoir是一个简单的Android函数库,可以在磁盘上使用“键/值”对轻松地序列化并持久化对象。说白了,使用Reservoir,你可以把java对象进行序列化,并把它存储到磁盘上。当然,当你想从磁盘上查找到你保存的数据时,同样需要时用Reservoir。

    https://github.com/anupcowkur/Reservoir

    http://blog.csdn.net/zuiwuyuan/article/details/47865085


6. ButterKnife:

    ButterKnife是一个专注于Android系统的View注入框架,让你从此从这些烦人臃肿的代码中解脱出来。

    https://github.com/JakeWharton/butterknife

    http://blog.csdn.net/i374711088/article/details/49102003

    AS插件:http://www.cnblogs.com/soaringEveryday/p/4607438.html?utm_source=tuicool&utm_medium=referral


7. EventBus

    EventBus是一款针对Android优化的发布/订阅事件总线。
    主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。

    https://github.com/greenrobot/EventBus
    http://blog.csdn.net/harvic880925/article/details/40660137
    http://blog.csdn.net/harvic880925/article/details/40787203

    http://blog.csdn.net/lmj623565791/article/details/40794879
    http://blog.csdn.net/lmj623565791/article/details/40920453


8. 时间日期处理框架Joda-time

    Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。

    Joda-Time主要的特点包括:

    1. 易于使用:Calendar让获取"正常的"的日期变得很困难,使它没办法提供简单的方法,而Joda-Time能够 直接进行访问域并且索引值1就是代表January。
    2. 易于扩展:JDK支持多日历系统是通过Calendar的子类来实现,这样就显示的非常笨重而且事实 上要实现其它日历系统是很困难的。Joda-Time支持多日历系统是通过基于Chronology类的插件体系来实现。
    3. 提供一组完整的功能:它打算提供 所有关系到date-time计算的功能.Joda-Time当前支持8种日历系统,而且在将来还会继续添加,有着比JDK Calendar更好的整体性能等等。

    https://github.com/JodaOrg/joda-time

    http://persevere.iteye.com/blog/1755237
    http://dl2.iteye.com/upload/attachment/0078/5111/b020fc38-577a-3ce1-8645-3cf9bd6a7a00.pdf


9. SystemBarTint设置状态栏颜色

    Android4.4以后开始支持沉浸式状态栏(设置状态栏的颜色), 而开源项目SystemBarTint,可以很完美的支持沉浸式状态栏。

    SystemBarTint地址: https://github.com/hexiaochun/SystemBarTint

    http://blog.csdn.net/zuiwuyuan/article/details/50100093

10. ViewPager工具类

   对ViewPager进行了封装,通过它,可以更加方便的进行ViewPager的使用:
    构造方法: public ViewPagerHelper(boolean isAuto, ViewPager viewPager, List<View> views, LinearLayout indicatorParents, int selectDrawableRes, int unselectDrawableRes)
    参数:
        boolean isAuto :    是否自动环播放ViewPager的内容
        ViewPager viewPager:    页面中的ViewPager组件
        List<View> views:   要循环滚动的组件集合
        LinearLayout indicatorParents:  一般显示ViewPager底部的圆点的容器组件
        int selectDrawableRes: 圆点被选中时图标的id
        int unselectDrawableRes: 圆点未选中时图标的id
    示例:
        new ViewPagerHelper(false, mViewPager, views, viewPoints, R.mipmap.page_indicator_unfocused,R.mipmap.page_indicator_focused);


11. Log日志管理:

    LogUtils是一个基于android.util.Log 类的扩展日志库,主要是添加一些功能方便调试。
    github地址: https://github.com/pengwei1024/LogUtils

    主要支持特性如下:

    1. 支持直接打印数据集合,如List、Set、Map、数组等
    2. 全局配置log输出
    3. 不需要设置tag
    4. 准确显示调用方法、行,快速定位所在文件位置.

相关文章
|
1天前
|
安全 Android开发 iOS开发
探索Android与iOS开发的差异:平台特性与用户体验的对比分析
在移动应用开发的广阔天地中,Android和iOS两大阵营各据一方。本文将深入探讨这两个操作系统在开发环境、编程语言、用户界面设计及市场分布等方面的主要区别。通过比较分析,我们将揭示各自平台的特有优势,并讨论如何根据目标受众和业务需求选择适合的开发平台。
|
1天前
|
前端开发 JavaScript Android开发
手机APP开发|基于安卓APP实现掌上党支部——党员app
手机APP开发|基于安卓APP实现掌上党支部——党员app
|
2天前
|
安全 Java Android开发
探索Android与iOS开发的差异与挑战
在移动应用开发的广阔天地里,Android和iOS两大平台各自占据半壁江山。本文将深入探讨这两个平台的开发环境、工具、语言以及设计理念的差异,并分析这些差异给开发者带来的挑战。我们将从多个角度出发,包括用户界面设计、性能优化、安全性考量、以及市场分布等方面,为读者提供一个全面的视角,以理解在这两个平台上进行开发时需要考虑的关键因素。
|
3天前
|
存储 Android开发 Kotlin
Kotlin开发安卓app,在使用 MediaPlayer 播放 res/raw 中的音乐时遇到突然中断的问题,而 onErrorListener 没有接收到任何报错
在使用 Android MediaPlayer 播放 res/raw 中的音乐时遇到中断问题,可能的原因包括资源问题、媒体文件编码格式、生命周期管理和设备资源配置。要排查问题,检查音频文件是否正确包含,格式编码是否支持,MediaPlayer 是否正确管理及释放,以及设备是否有足够存储和配置。通过设置 onErrorListener 日志和确保在 onDestroy 中释放资源来调试。如果文件过大,考虑使用 AssetManager。遵循这些步骤可帮助诊断并解决播放中断的问题。
|
3天前
|
Android开发 Kotlin
kotlin开发安卓应用 如何修改app安装后的名称
在 Android 应用中,要修改安装后的显示名称,需更新 AndroidManifest.xml 文件中 application 标签的 android:label 属性。可直接在该属性内设置新名称,或在 res/values/strings.xml 文件中修改 app_name 并在 manifest 中引用。推荐使用 strings.xml 方式,以便支持多语言和集中管理。
|
4天前
|
缓存 Android开发 Kotlin
【安卓app开发】kotlin Jetpack Compose框架 | 先用OKhttp下载远程音频文件再使用ExoPlayer播放
使用 Kotlin 的 Jetpack Compose 开发安卓应用时,可以结合 OkHttp 下载远程音频文件和 ExoPlayer 进行播放。在 `build.gradle` 添加相关依赖后,示例代码展示了如何下载音频并用 ExoPlayer 播放。代码包括添加依赖、下载文件、播放文件及简单的 Compose UI。注意,示例未包含完整错误处理和资源释放,实际应用需补充这些内容。
|
4天前
|
移动开发 安全 Android开发
探索安卓应用开发的新趋势:Kotlin与Jetpack Compose的融合
在移动开发领域,Android系统持续创新,为开发者提供更高效的工具和框架。近年来,Kotlin语言因其简洁性和现代化特性成为Android开发的首选语言。与此同时,Jetpack Compose作为一种新的UI工具集,正改变着Android界面的开发方式。本文将深入探讨Kotlin与Jetpack Compose的结合使用,分析它们如何共同推动Android应用开发进入一个更加高效、可维护和响应式的新时代。
|
4天前
|
存储 Android开发 Kotlin
开发安卓app OKhttp下载后使用MediaPlayer播放
在Android Jetpack Compose应用程序中,要使用OkHttp下载远程音频文件并在本地播放,你需要完成以下几个步骤: 1. **添加依赖**:确保`build.gradle`文件包含OkHttp和Jetpack Compose的相关依赖。 2. **下载逻辑**:创建一个`suspend`函数,使用OkHttp发起网络请求下载音频文件到本地。 3. **播放逻辑**:利用`MediaPlayer`管理音频播放状态。 4. **Compose UI**:构建用户界面,包含下载和播放音频的按钮。
|
4天前
|
存储 Android开发
安卓app,MediaPlayer播放本地音频 | 按钮控制播放和停止
在Jetpack Compose中,不直接操作原生Android组件如`Button`和`MediaPlayer`,而是使用Compose UI构建器定义界面并结合ViewModel管理音频播放逻辑。以下示例展示如何播放本地音频并用按钮控制播放/停止:创建一个`AudioPlayerViewModel`管理`MediaPlayer`实例和播放状态,然后在Compose UI中使用`Button`根据`isPlaying`状态控制播放。记得在`MainActivity`设置Compose UI,并处理相关依赖和权限。
|
4天前
|
Android开发 Windows
android studio开发时提示 TLS 握手错误解决办法
在Windows环境下遇到TLS协议版本不支持的错误,Gradle构建失败。解决方案是在build.gradle.kts中设置系统属性`https.protocols`为`TLSv1.2`,而非遵循误导信息设置为TLSv1.1。