百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Android 开发常用框架(android开发常用框架)

ccwgpt 2024-10-11 11:11 35 浏览 0 评论

快速开发框架

  • XSnow: 基于RxJava2+Retrofit2精心打造的Android基础框架。包含网络、上传、下载、缓存、事件总线、权限管理、数据库、图片加载,基本都是项目中必用功能,每个模块充分解耦,可自由拓展;
  • MVPArms 一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架(包括Mvp、 Dagger2、RxJava、RxAndroid、Rxlifecycle、RxCache、RxPermissions、RxErroHandler、Retrofit、Okhttp、AndroidAutoSize、Gson、Butterknife、AndroidEventBus、Timber、Glide、LeakCanary);
  • Android-ZBLibrary Android MVP快速开发框架,做国内 「Demo最全面」「注释最详细」「使用最简单」「代码最严谨」的Android开源UI框架 (包括OKHttp、UIL图片加载、ZXing二维码、沉浸状态栏、下载安装、自动缓存以及各种Base、Demo、UI、Util)【https://github.com/TommyLemon/Android-ZBLibrary】
  • MVVMHabit MVVMHabit是以谷歌DataBinding+LiveData+ViewModel框架为基础,整合Okhttp+RxJava+Retrofit+Glide等流行模块,加上各种原生控件自定义的BindingAdapter,让事件与数据源完美绑定的一款容易上瘾的实用性MVVM快速开发框架;
  • AndroidFire AndroidFire,一款新闻阅读 App框架,基于 Material Design + MVP + RxJava + Retrofit + Glide,基本涵盖了当前 Android 端开发最常用的主流框架,基于此框架可以快速开发一个app。

网络相关

  • okhttp 功能强大的网络请求框架;
  • retrofit 基于OKhttp的网络请求框架,配合Rxjava使用,逻辑非常简洁;
  • okhttp-OkGo 基于 Http 协议,封装了 OkHttp 的网络请求框架,比 Retrofit 更简单易用,支持 RxJava,RxJava2,支持自定义缓存,支持批量断点下载管理和批量上传管理功能;
  • RxJavaSamples retrofit + rxjava案例;
  • RxLifecycle rxjava生命周期管理;
  • RxPermissions 运行时权限申请;

注解与事件总线

  • 注解框架 butterknife 编译时注解框架,提供view和点击事件的绑定;
  • 注解框架 dagger 不仅可以view绑定,还可以提供对象绑定;
  • 事件总线 EventBus Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality;
  • 事件总线 RxBus 用rxjava实现的eventbus;
  • butterknife插件android-butterknife-zelezny Android Studio plug-in for generating ButterKnife injections from selected layout XML.(一键生成view的绑定代码);

控件相关

  • 下拉刷新控件 SmartRefreshLayout 正如名字所说,SmartRefreshLayout是一个“聪明”或者“智能”的下拉刷新布局,由于它的“智能”,它不只是支持所有的View,还支持多层嵌套的视图结构。 它继承自ViewGroup 而不是FrameLayout或LinearLayout,提高了性能。 也吸取了现在流行的各种刷新布局的优点,包括谷歌官方的 SwipeRefreshLayout, 其他第三方的 Ultra-Pull-To-Refresh、TwinklingRefreshLayout 。 还集成了各种炫酷的 Header 和 Footer;
  • 下拉刷新TwinklingRefreshLayout 支持下拉刷新和上拉加载的RefreshLayout,自带越界回弹效果,支持RecyclerView,AbsListView,ScrollView,WebView;
  • 适配器BaseRecyclerViewAdapterHelper 优化Adapter代码(减少百分之70%代码) 添加点击item点击、长按事件、以及item子控件的点击事件 添加加载动画(一行代码轻松切换5种默认动画) 添加头部、尾部、下拉刷新、上拉加载(感觉又回到ListView时代) 设置自定义的加载更多布局、添加分组(随心定义分组头部)、 自定义不同的item类型(简单配置、无需重写额外方法)、设置空布局(比Listview的setEmptyView还要好用!)、添加拖拽item;
  • 图片选择器(包括图片、视频、音频的选取和预览)PictureSelector 一款针对android平台下的图片选择器,支持从相册或拍照选择图片或视频、音频,支持动态权限获取、裁剪(单图or多图裁剪)、压缩、主题自定义配置等功能、适配android 6.0+系统的开源图片选择框架;
  • 基于WebView的带进度条的webview控件AgentWeb AgentWeb是一个基于Android WebView ,极度容易使用以及功能强大的库,提供了 Android WebView 一系列的问题解决方案 ,并且轻量和极度灵活;
  • 图片加载框架 glide 一个强大的图片加载和缓存库;
  • 图片压缩Luban 可能是最接近微信朋友圈的图片压缩算法;
  • 圆角图片控件CircleImageView ;
  • 腾讯出品的webview控件 VasSonic VasSonic是由腾讯VAS团队开发的轻量级和高性能混合框架,旨在加速在Android和iOS平台上工作的网站的第一个屏幕;
  • 图片缩放控件 PhotoView 不需要写任何代码就可以实现图片手势缩放,旋转;
  • 简洁好看的对话框sweet-alert-dialog;
  • VirtualLayout 是一个针对RecyclerView的LayoutManager扩展, 主要提供一整套布局方案和布局间的组件复用的问题;
  • QMUI_Android QMUI Android 是腾讯团队开源的,设计目的是用于辅助快速搭建一个具备基本设计还原效果的 Android 项目,同时利用自身提供的丰富控件及兼容处理,让开发者能专注于业务需求而无需耗费精力在基础代码的设计上。不管是新项目的创建,或是已有项目的维护,均可使开发效率和项目质量得到大幅度提升;
  • 配合glide改变图片显示形状的库 glide-transformations;
  • 视频播放器 GSYVideoPlayer 视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,rtsp、concat、mpeg;
  • 加载动画 Android-SpinKit;
  • 闪烁加载视图 ShimmerRecyclerView 在加载时显示闪烁图层,加载完成时显示数据;
  • 日历控件 CalendarView Android上一个优雅、万能自定义UI、支持周视图、自定义周起始、性能高效的日历控件,支持热插拔实现的UI定制!支持标记、自定义颜色、农历、自定义月视图各种显示模式等。Canvas绘制,速度快、占用内存低,你真的想不到日历居然还可以如此优雅!
  • 图表控件MPAndroidChart;
  • 图片轮播控件 MZBannerView 仿魅族BannerView,图片轮播控件,支持多种模式切换:普通ViewPager使用,普通Banner使用,仿魅族Banner使用;
  • 好看的图片和视频选择器Matisse 知乎开源的图片选择器,简洁大方;
  • 自定义layoutmanage LayoutManagerGroup 自定义LayoutManager;
  • 时间、地区、三级联动选择器 Android-PickerView;
  • 选项选择器 AndroidPicker;
  • 通用弹框 XPopup 可以替代Dialog,PopupWindow,PopupMenu,BottomSheet,DrawerLayout,Spinner等组件,自带十几种效果良好的动画, 支持完全的UI和动画自定义!
  • PinnedSectionItemDecoration 大粘性标签支持垂直方向的线性、网格、瀑布流布局管理器 小粘性标签支持垂直方向的线性和网格一行只有一列网格布局管理器 支持标签的单击、双击和长按事件 支持标签内部子控件的单击、双击和长按事件 可以绘制线性、网格、瀑布流布局的分隔线,支持自定义分割线样式(PS:垂直瀑布流布局需要Item高度固定,不能随机变化导致Item位置切换;
  • SuperTextView 为 View 设置圆角、支持单独控制每一个圆角、为 View 添加边框、为文字增加描边或空心效果、支持最多 2 个 Drawable 展示、可准确控制 Drawable 大小及位置、支持渐变色背景 触摸变色展示图片(包括网络图片)、为图片设置圆角、为图片增加边框、可插入操作的 Adjuster 模块、修改 Drawable 的颜色、修改 Drawable 的旋转角度、支持文字渐变色效果、支持为 Drawable 区域单独设置点击事件、支持 Gif 图展示、支持为 Gif 图添加边框,以及圆角、支持Gif 图暂停/播放、修改帧率、支持提取指定Gif 帧

系统相关

  • 日志框架logger Simple, pretty and powerful logger for android;
  • 内存溢出检测leakcanary 用于监测App内存泄漏
  • 性能监控AndroidPerformanceMonitor BlockCanary是一个Android平台的一个非侵入式的性能监控组件,应用只需要实现一个抽象类,提供一些该组件需要的上下文环境,就可以在平时使用应用的时候检测主线程上的各种卡慢问题,并通过组件提供的各种信息分析出原因并进行修复;
  • 状态栏管理 StatusBarCompat;
  • 插件框架 Shadow 复用独立安装App的源码:插件App的源码原本就是可以正常安装运行的。 零反射无Hack实现插件技术:从理论上就已经确定无需对任何系统做兼容开发,更无任何隐藏API调用,和Google限制非公开SDK接口访问的策略完全不冲突。 全动态插件框架:一次性实现完美的插件框架很难,但Shadow将这些实现全部动态化起来,使插件框架的代码成为了插件的一部分。插件的迭代不再受宿主打包了旧版本插件框架所限制。 宿主增量极小:得益于全动态实现,真正合入宿主程序的代码量极小(15KB,160方法数左右)。 Kotlin实现:core.loader,core.transform核心代码完全用Kotlin实现,代码简洁易维护;
  • 今日头条屏幕适配方案 AndroidAutoSize 今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案;
  • 热修复框架 Tinker Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk;
  • 组件化路由框架 ARouter 帮助 Android App 进行组件化改造的路由框架;
  • 权限管理 AndPermission 动态权限申请

常见框架总览

框架名称

主要用途

1.Retrofit

网络

2.okhttp

网络

3.Butter Knife

代码模板

4.MPAndroidChart

图表

5.glide

图片

6.leakcanary

内存

7.Android-Universal-Image-Loader

图片

8.EventBus

事件消息

9.zxing

条码扫描

10.picasso

图片

11.lottie-android

动画

12.fresco

图片

13.RxAndroid

异步

14.SlidingMenu

菜单

15.PhotoView

图片

16.material-dialogs

UI

17.droid-async-http

网络

18.androidannotations

注解

19.fastjson

json

20.Material-Animations

动画

21.tinker

热修复

22.ViewPagerIndicator

UI

23.Android-CleanArchitecture

架构

24.Android-PullToRefresh

刷新

25.flexbox-layout

UI

26.AndroidSwipeLayout

UI

27.realm-java

数据库

28.greenDAO

数据

29.stetho

调试

30.BaseRecyclerViewAdapterHelper

UI

31.AndroidViewAnimations

动画

32.MaterialDrawer

菜单

33.Android-ObservableScrollView

UI

34.CircleImageView

图片

35.logger

调试

36.agera

异步

37.BottmBar

菜单

38.Calligraphy

字体

39.AndroidSlidingUpPanel

UI

40.AppIntro

UI

41.recyclerview-animators

动画

42.dagger

依赖注入

43.Android-Bootstarp

UI

44.RxBinding

响应式

45.ListViewAnimations

动画

46.UItimateRecyclerView

UI

47.uCrop

图片

48.RxJava-Android-Samples

用例

49.AndroidAutoLayout

适配

50.EffectiveAndroidUI

性能

51.Luban

图片

52.DroidPlugin

插件化

53.otto

响应式

54.u2020

用例

55.buck

构建

56.PermissionsDispatcher

权限

57.android-gif-drawable

GIF

58.Apktool

反编译

59.dynamic-load-apk

插件化

60.atlas

插件化

61.volley

网络

62.androidmvp

用例

63.SwipeBackLayout

手势

64.FlycoTabLayout

UI

65.android-testing

测试

66.FileDownloader

下载

67.JieCaoVideoPlayer

多媒体

68.glide-transformations

图片

69.android-gpuimage

图片

70.RxPermissions

权限

71.freeline

编译

72.RxLifecycle

生命周期

73.classyshark

反编译

74.acra

崩溃日志

75.DiskLruCache

文件

76.dexposed

热修复

77.Litho

性能

78.mosby

MVP

79.AndResGuard

混淆

80.StatusBarUtil

状态栏

81.robolectric

测试

82.Fragmentation

嵌套

83.Small

插件化

84.JsBridge

hybrid

85.richeditor-android

UI

86.Transitions-Everywhere

动画

87.android-viewbadger

勋章

88.AndroidWiFiADB

调试

89.emojicon

表情包

90.packer-ng-plugin

多渠道

91.android-priority-jobqueue

多线程

92.Android-Debug-Database

调试

93.conceal

加密

94.ARouter

页面路由

95.MagicaSakura

多主题

96.CustomActivityOnCrash

崩溃

97.XhsEmoticonsKeyboard

键盘

相关推荐

自己动手写Android数据库框架_android开发数据库搭建

http://blog.csdn.net/feiduclear_up/article/details/50557590推荐理由关于Android数据库操作,由于每次都要自己写数据库操作,每次还得去...

谷歌开源大模型评测工具LMEval,打通谷歌、OpenAI、Anthropic

智东西编译|金碧辉编辑|程茜智东西5月28日消息,据科技媒体TheDecoder5月26日报道,当天,谷歌正式发布开源大模型评测框架LMEval,支持对GPT-4o、Claude3.7...

工信部:着力推动大模型算法、框架等基础性原创性的技术突破

工信部新闻发言人今日在发布会上表示,下一步,我们将坚持突出重点领域,大力推动制造业数字化转型,推动人工智能创新应用。主要从以下四个方面着力。一是夯实人工智能技术底座。通过科技创新重大项目,着力推动大模...

乒乓反复纠结“框架不稳定”的三个小误区

很多球友由于对框架的认知不清晰,往往会把“框架不稳定”当成一种心理负担,从而影响学球进度,其典型状态就是训练中有模有样,一旦进入实战,就像被捆住了手脚。通过训练和学习,结合“基本功打卡群”球友们交流发...

前AMD、英特尔显卡架构师Raja再战GPU,号称要全面重构堆栈

IT之家8月5日消息,知名GPU架构师拉贾科杜里(RajaKoduri)此前曾先后在AMD和英特尔的显卡部门担任要职。而在今日,由Raja创立的GPU软件与IP初创企...

三种必须掌握的嵌入式开发程序架构

前言在嵌入式软件开发,包括单片机开发中,软件架构对于开发人员是一个必须认真考虑的问题。软件架构对于系统整体的稳定性和可靠性是非常重要的,一个合适的软件架构不仅结构清晰,并且便于开发。我相...

怪不得别人3秒就知道软考案例怎么做能50+

软考高级统一合格标准必须三科都达到45分,案例分析也一直是考生头疼的一门,但是掌握到得分点,案例能不能50+还不是你们说了算吗?今天就结合架构案例考点,分享实用的备考攻略~一、吃透考点,搭建知识框架从...

UML统一建模常用图有哪些,各自的作用是什么?一篇文章彻底讲透

10万+爆款解析:9大UML图实战案例,小白也能秒懂!为什么需要UML?UML(统一建模语言)是软件开发的“蓝图”,用图形化语言描述系统结构、行为和交互,让复杂需求一目了然。它能:降低沟通成本避...

勒索软件转向云原生架构,直指备份基础设施

勒索软件组织和其他网络犯罪分子正越来越多地将目标对准基于云的备份系统,对久已确立的灾难恢复方法构成了挑战。谷歌安全研究人员在一份关于云安全威胁演变的报告中警告称,随着攻击者不断改进数据窃取、身份泄露和...

ConceptDraw DIAGRAM:释放创意,绘就高效办公新未来

在当今数字化时代,可视化工具已成为提升工作效率和激发创意的关键。ConceptDrawDIAGRAM,作为一款世界顶级的商业绘图软件,凭借其强大的功能和用户友好的界面,正逐渐成为众多专业人士的首选绘...

APP 制作界面设计教程:一步到位_app界面设计模板一套

想让APP界面设计高效落地,无需繁琐流程,掌握“框架搭建—细节填充—体验优化”三步法,即可一步到位完成专业级设计。黄金框架搭建是基础。采用“三三制布局”:将屏幕横向三等分,纵向保留三...

MCP 的工作原理:关键组件_mcp部件

以下是MCP架构的关键组件:MCP主机:像ClaudeDesktop、GitHubCopilot或旅行助手这样的AI智能体,它们希望通过MCP协议访问工具、资源等。MCP主机会...

软件架构_软件架构师工资一般多少

软件架构师自身需要是程序员,并且必须一直坚持做一线程序员。软件架构应该是能力最强的一群程序员,他们通常会在自身承接编程任务的同时,逐渐引导整个团队向一个能够最大化生产力的系统设计方向前进。软件系统的架...

不知不觉将手机字体调大!老花眼是因为“老了吗”?

现在不管是联系、交友,还是购物,都离不开手机。中老年人使用手机的时间也在逐渐加长,刷抖音、看短视频、发朋友圈……看手机的同时,人们也不得不面对“视力危机”——老花眼,习惯眯眼看、凑近看、瞪眼看,不少人...

8000通用汉字学习系列讲座(第046讲)

[表声母字]加(续)[从声汉字]伽茄泇迦枷痂袈笳嘉驾架咖贺瘸(计14字)嘉[正音]标准音读jiā。[辨形]上下结构,十四画。会意形声字,从壴从加,加也表声。注:从壴,字义与鼓乐有关;从加,字义与...

取消回复欢迎 发表评论: