android搭建应用框架系列之baseactivity

author author     2023-04-23     352

关键词:

参考技术A 其实写 BaseActivity 的时候,都需要结合不同的 App 的需求以及应用架构来实现的,没有固定的实现方式。所以这里结合前面几篇文章来写一个 BaseActivity

结合前面的文章说的, BaseActivity 应该有下面这些内容

应用中往往少不了加载动画,所以 BaseActivity 也应该写一个公共的显示和隐藏加载框的方法,结合前文的 IProgressDialog 接口。由于 Android 的 ProgressDialog 注解过时, Google 不推荐使用,那么这里就通过 AlertDialog+ProgressBar 简单实现下面的效果

我们都知道 AlertDialog 是有一个底色背景的,所以这里先写一个 Style 让底色背景透明

接下来就是这个弹框的布局

然后就是创建 AlertDialog 设置布局

把前面的 Style 在创建 AlertDialog.Builder() 传入即可让底色背景透明,然后通过 AlertDialog 的 setView() 方法就可以自定义布局了。

定义一个 FragmentManager 方便操作 Fragment 的时候使用

对应 Rx1.x 版本的 CompositeSubscription ,将请求接口统一绑定起来

然后在 onDestroy() 进行统一的解绑

结合前文封装的 RealmHelper 帮助类,实现 Realm 的实例并且定义一个 RealmAsyncTask

然后在 onStop 里面进行清除

首先会在 BaseActivity 定义一个默认的布局 act_single_fragment.xml

其中 content 是用来放置内容的区域,然后 toolbar_layout.xml 是 ToolBar 的布局

提供一个方法供外部实现 ToolBar 样式,默认是 TitleFragment

TitleFragment 就是一个简单的头部样式,如图

最后处理返回键的回调方法

通过上面的说明,最终 BaseActivity 如下

ssm框架项目搭建系列—spring之bean的注解注入

applicationContext.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/200 查看详情

[gitbook]android框架分析系列之androidstagefright框架

请支持作者原创:https://mr-cao.gitbooks.io/Android/content点击打开链接TableofContents1.MP3文件播放过程1.1.MP3文件简介1.2.stagefright框架1.3.parser步骤1.4.解码器组件的加载1.5.解码过程本文以Android6.0系统源码为基础,分析Androidstagefright... 查看详情

android进阶之注解框架搭建

今天重点内容是android懒人式开发(注解)框架的搭建。废话不多说,请看图:@contentView这个注解呢就是延伸在类之上的,只有类才能使用这个标签,表示引用那个activity的xml。@findViewById这个注解呢是... 查看详情

[gitbook]android框架分析系列之androidpackagemanager

请支持作者原创:https://mr-cao.gitbooks.io/Android/content/android-traces.html点击打开链接AndroidPackageManagerTableofContents1.AndroidAPK文件1.1.APK签名2.APK文件的安装2.1.PackageManagerService2.2.installd2.3.Package 查看详情

dubbo入门系列之快速部署一个微服务应用(代码片段)

本文将基于DubboSamples示例演示如何快速搭建并部署一个微服务应用。背景Dubbo作为一款微服务框架,最重要的是向用户提供跨进程的RPC远程调用能力。如上图所示,Dubbo的服务消费者(Consumer)通过一系列的工作将请求发送给服务... 查看详情

android自动化测试之环境搭建

Android自动化测试之环境搭建一、Android-sdk介绍?SDK(Softwaredevelopmentkit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。Android是google公司推出的手机开发... 查看详情

springboot系列之环境搭建

16年开始就在写SpringBoot相关的文章了,之前一直是在自己猿天地的博客上发布,今年开始维护公众号,大部分时间都在写新的文章。一周能保持一篇原创的文章就已经很不错了,毕竟精力有限,在没有出新文章的时候就想着把之... 查看详情

android换肤框架搭建及使用(3完结篇)(代码片段)

本系列计划3篇:Android换肤之资源(Resources)加载(一)setContentView()/LayoutInflater源码分析(二)换肤框架搭建(三)—本篇tips:本篇只说实现思路,以及使用,具体细节请下载代码查看!本篇实现效果:fragment换肤recyclerView换肤自定义view属性换肤打... 查看详情

ssm框架项目搭建系列—spring之bean的注解注入

applicationContext.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context&... 查看详情

ssm框架项目搭建系列—ssm框架的简介及搭建流程

首先说明一下,本系列《SSM项目搭建系列》是为了复习并且完整的熟悉一下SSM框架搭建项目的流程。本系列博客会参照Nimikyの议事大厅以及林炳文Evankaka两位的博客以及自己之前学习的心得做一个记录。SSM框架即:SpringMVC... 查看详情

[gitbook]android框架分析系列之androidtraces.txt文件

请支持作者原创:https://mr-cao.gitbooks.io/android/content/android-traces.html点击打开链接Androidtraces.txt文件分析TableofContents1.traces.txt文件的生成1.1.logAppTooSlow1.2.appNotResponding1.3.WatchDog2.DropBox2.1.Dr 查看详情

[gitbook]android框架分析系列之androidbinder详解

请支持作者原创:https://mr-cao.gitbooks.io/android/content/android-binder.html我这是在gitbook写笔记的时候发现有位博客写的还不错,在征得博主同意后,把它放在csdn上供大家参考,希望大家多多交流AndroidBinder详解TableofContent... 查看详情

构建netcore应用框架之实战篇:什么是框架,如何设计一个框架

...述 本篇起,将通过一系列文章,去描述如何构建一个应用开发框架,并以作者开发的框架为例,逐个点展开分析,如何从零开始,构建自己的开发框架。本系列文章的目的,是带领有一编程经验的人,通过动手,初步完成自... 查看详情

android网络请求框架之retrofit

Retrofit之前言Retrofit是square家族开源系列的精品之一,是一个简单好用的网络请求框架,基于REST的架构风格,本框架的主要开发人JakeWharton想必大家也有所耳闻,他也是REST的忠实拥护者和践行者。引入开源框架ÿ... 查看详情

android系统编程入门系列之应用环境及开发环境介绍

    作为移动端操作系统,目前最新的Android11.0已经发展的比较完善了,现在也到了系统的整理一番的时间,接下来的系列文章将以Android开发者为中心,争取用归纳总结的态度对初级入门者所应掌握的基础知识聊以标记。应... 查看详情

flink系列之flink的应用场景(一)

...现在慢慢转变成快数据,我们很多公司都是基于Hadoop生态搭建自己的数据仓库,将不同源的数据按照一定的周期(时/天等)通过ETL(提取,转换,加载)放到我们的数仓以供分析师使用,但是随着业务发展,我们不得不面对一... 查看详情

大中型网站技术实践系列

...引擎技术之概要预览初级篇  (1)【应用层】借助Nginx搭建反向代理服务器  (2)【应用层】借助LVS+Keepalived实现负载均衡  (3)【应用层】海量图片的分布式存储设计与实现  (4)【数据层】动手搭建MyS 查看详情

es6系列之开发环境搭建(代码片段)

...复杂的大型应用程序,成为企业级开发语言。2.为什么要搭建ES6的开发环境?因为至今各大浏览器厂商所开发的JavaScript引擎都还没有完成对ES2015中所有特性的完美支持,如果直接使用的话,会报错的。 查看详情