android 基础框架依赖库

简介: AndroidBaseModuleandroid base module project 基础的Android开发依赖包,独立出来主要是为了持续更新,方便多个项目同时使用,同步更新;同时使工程结构更加简洁。使用方式1) 新工程建议直接下载AndroidMouldProject,修改包名后在此基础上开发;or2) Add Library module

AndroidBaseModule

android base module project
基础的Android开发依赖包,独立出来主要是为了持续更新,方便多个项目同时使用,同步更新;同时使工程结构更加简洁。

使用方式

1) 新工程建议直接下载AndroidMouldProject,修改包名后在此基础上开发;

or

2) Add Library module as a dependency in your build.gradle file.

Add the dependency
dependencies {
        compile 'com.github.BrillantZhao:AndroidBaseModule:1.1.2.48'
    }

项目结构

这里写图片描述

用到的第三方库

            //=== butterKnife (https://github.com/JakeWharton/butterknife)
            "butterknife"           : "com.jakewharton:butterknife:${butterKnifeVersion}",
            "butterknife-compiler"  : "com.jakewharton:butterknife-compiler:${butterKnifeVersion}",

            //=== rxjava(https://github.com/ReactiveX/RxJava)
            "rxjava"                : "io.reactivex:rxjava:${rxjavaVersion}",

            //=== rxandroid(https://github.com/ReactiveX/RxAndroid)
            "rxandroid"             : "io.reactivex:rxandroid:${rxandroidVersion}",

            //=== AndroidUtilCode  (https://github.com/Blankj/AndroidUtilCode)
            "utilcode"              : "com.blankj:utilcode:${utilcodeVersion}",

            //=== RxLifecycle  (https://github.com/trello/RxLifecycle)
            "rxlifecycle"           : "com.trello:rxlifecycle:${rxlifecycleVersion}",
            "rxlifecycle-android"   : "com.trello:rxlifecycle-android:${rxlifecycleVersion}",
            "rxlifecycle-components": "com.trello:rxlifecycle-components:${rxlifecycleVersion}",
            "rxlifecycle-navi"      : "com.trello:rxlifecycle-navi:${rxlifecycleVersion}",
            "rxlifecycle-kotlin"    : "com.trello:rxlifecycle-kotlin:${rxlifecycleVersion}",

            //=== glide (https://github.com/bumptech/glide)
            "glide"                 : "com.github.bumptech.glide:glide:${glideVersion}",

            //=== hawk (https://github.com/orhanobut/hawk)
            "hawk"                  : "com.orhanobut:hawk:${hawkVersion}",

            //=== fastjson (https://github.com/alibaba/fastjson)
            "fastjson"              : "com.alibaba:fastjson:${fastjsonVersion}"

API

  • ### base相关→最底层的继承
        IBaseActivity            : "",
        IBaseApplication         : "",
        IBaseFragment            : "",
        IBaseFragmentAdapter     : "",
        IBaseFragmentStateAdapter: "",
        IBaseModel               : "",
        IBasePresenter           : "",
        IBaseView                : "",
  • ### baseapp相关→应用的一些基本工具类
        AppException: "异常记录与处理",
        AppManager  : "activity管理工具",
        BaseRespose : "网络请求基础返回",
  • ### baserx相关→rx底层处理
        RxBus          : "",
        RxCache        : "",
        RxHelper       : "",
        RxManager      : "",
        RxSchedulers   : "",
        RxSubscriber   : "",
        ServerException: "",
  • ### local相关→数据存储
        SharedPrefUtils: "sharedPreference数据存储",
  • ### notes相关→说明文档
        Android 代码混淆在AS的实践
        Android 使用gradle打包的各种配置
        Android 自动化打包实践 gradle打包并推送到git远程库
        Android开发之版本统一规范
        GitSubmodule
        神注释大全
  • ### utils相关→自定义的工具类
        ACache                  : "",
        CollectionUtils         : "",
        DialogPermissionUtil    : "",
        DisplayUtil             : "",
        FormatUtil              : "",
        GlideCircleTransfromUtil: "",
        GlideRoundTransformUtil : "",
        ImageLoaderUtils        : "",
        IpUtils                 : "",
        JsonConvertHelper       : "",
        MeasureUtils            : "",
        NetWorkUtils            : "",
        RxCountDown             : "",
        SDCardUtils             : "",
        TimeUtil                : "",
        TUtil                   : "",
  • ### widget相关→自定义的控件
        NoScrollGridView       : "",
        NoScrollListview       : "",
        OnDoubleClickListener  : "",
        OnNoDoubleClickListener: "",

详细介绍

参见 AndroidBaseModule,工程地址为:https://github.com/BrillantZhao/AndroidBaseModule

参见 AndroidMouldProject(常规的MVP结构),工程地址为:https://github.com/BrillantZhao/AndroidMouldProject

参见 AndroidMouldProject(组件化的MVP结构,建议使用),工程地址为:https://github.com/BrillantZhao/AndroidMouldProject2

相关文章
|
18天前
|
存储 缓存 Android开发
安卓Jetpack Compose+Kotlin, 使用ExoPlayer播放多个【远程url】音频,搭配Okhttp库进行下载和缓存,播放完随机播放下一首
这是一个Kotlin项目,使用Jetpack Compose和ExoPlayer框架开发Android应用,功能是播放远程URL音频列表。应用会检查本地缓存,如果文件存在且大小与远程文件一致则使用缓存,否则下载文件并播放。播放完成后或遇到异常,会随机播放下一首音频,并在播放前随机设置播放速度(0.9到1.2倍速)。代码包括ViewModel,负责音频管理和播放逻辑,以及UI层,包含播放和停止按钮。
|
2月前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
107 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
2月前
|
SQL 缓存 安全
Android ORM 框架之 greenDAO
Android ORM 框架之 greenDAO
66 0
|
2月前
|
Unix Linux Shell
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
在Linux环境下交叉编译Android所需的FFmpeg so库,首先下载`android-ndk-r21e`,然后解压。接着,上传FFmpeg及相关库(如x264、freetype、lame)源码,修改相关sh文件,将`SYSTEM=windows-x86_64`改为`SYSTEM=linux-x86_64`并删除回车符。对x264的configure文件进行修改,然后编译x264。同样编译其他第三方库。设置环境变量`PKG_CONFIG_PATH`,最后在FFmpeg源码目录执行配置、编译和安装命令,生成的so文件复制到App工程指定目录。
70 9
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
|
13天前
|
安全 JavaScript 前端开发
kotlin开发安卓app,JetPack Compose框架,给webview新增一个按钮,点击刷新网页
在Kotlin中开发Android应用,使用Jetpack Compose框架时,可以通过添加一个按钮到TopAppBar来实现WebView页面的刷新功能。按钮位于右上角,点击后调用`webViewState?.reload()`来刷新网页内容。以下是代码摘要:
|
14天前
|
JavaScript Java Android开发
kotlin安卓在Jetpack Compose 框架下跨组件通讯EventBus
**EventBus** 是一个Android事件总线库,简化组件间通信。要使用它,首先在Gradle中添加依赖`implementation 'org.greenrobot:eventbus:3.3.1'`。然后,可选地定义事件类如`MessageEvent`。在活动或Fragment的`onCreate`中注册订阅者,在`onDestroy`中反注册。通过`@Subscribe`注解方法处理事件,如`onMessageEvent`。发送事件使用`EventBus.getDefault().post()`。
|
14天前
|
JavaScript 前端开发 Android开发
kotlin安卓在Jetpack Compose 框架下使用webview , 网页中的JavaScript代码如何与native交互
在Jetpack Compose中使用Kotlin创建Webview组件,设置JavaScript交互:`@Composable`函数`ComposableWebView`加载网页并启用JavaScript。通过`addJavascriptInterface`添加`WebAppInterface`类,允许JavaScript调用Android方法如播放音频。当页面加载完成时,执行`onWebViewReady`回调。
|
18天前
|
缓存 Android开发 Kotlin
【安卓app开发】kotlin Jetpack Compose框架 | 先用OKhttp下载远程音频文件再使用ExoPlayer播放
使用 Kotlin 的 Jetpack Compose 开发安卓应用时,可以结合 OkHttp 下载远程音频文件和 ExoPlayer 进行播放。在 `build.gradle` 添加相关依赖后,示例代码展示了如何下载音频并用 ExoPlayer 播放。代码包括添加依赖、下载文件、播放文件及简单的 Compose UI。注意,示例未包含完整错误处理和资源释放,实际应用需补充这些内容。
|
21天前
|
前端开发 JavaScript 测试技术
|
2月前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
53 3
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库