当前位置: 首页 > news >正文

Android---- 一个完整的小项目(消防app)

前言:

       针对不同群体的需求,想着应该拓展写方向。医疗app很受大家喜欢,就打算顺手写个消防app,里面基础框架还是挺简洁 规整的。登陆注册和本地数据库写的便于大家理解。是广大学子的毕设首选啊!

 

 

 

此app主要为了传递 消防知识,以及歌颂消防士兵的奉献精神。在这里我们向他们致敬!此app采用本地数据库litpal,涵盖多种三方依赖,webView,登录注册,头像修改,EventBus,Butterknife,SmartRefreshLayout,XTabLayout,悬浮球,对于初学者及毕业生是很好的项目。注释很全。ui依然是我自己设计的。

 项目内使用的依赖,局部展示 :

plugins {id 'com.android.application'
}
def dbflow_version = "4.2.4"android {namespace 'com.vipbasemaster'/* 编译版本 */compileSdk 33//默认配置defaultConfig {/* 应用Id */applicationId "com.vipbasemaster"/* 最小sdk */minSdk 23/* 目标版本 */targetSdk 33/* 版本编号 */versionCode 1/* 版本名称 */versionName "1.0"/* 添加多 dex分包支持 */multiDexEnabled = truetestInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"}//构建类型配置buildTypes {release {/* 是否开启代码混淆,默认false */minifyEnabled false/* 混淆规则配置文件 */proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}//编译选项compileOptions {/*编译Java源代码时使用的Java版本兼容性*/sourceCompatibility JavaVersion.VERSION_1_8/*用于生成类的Java版本*/targetCompatibility JavaVersion.VERSION_1_8}
}
//依赖
dependencies {implementation 'androidx.appcompat:appcompat:1.4.1'implementation 'com.google.android.material:material:1.5.0'implementation 'androidx.constraintlayout:constraintlayout:2.1.3'testImplementation 'junit:junit:4.13.2'androidTestImplementation 'androidx.test.ext:junit:1.1.3'androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'/**沉浸式**/implementation 'com.yanzhenjie:sofia:1.0.5'annotationProcessor "com.github.Raizlabs.DBFlow:dbflow-processor:$dbflow_version"// gradle 3.0.0 可以使用 implementation,否则用 compileimplementation "com.github.Raizlabs.DBFlow:dbflow-core:$dbflow_version"implementation "com.github.Raizlabs.DBFlow:dbflow:$dbflow_version"/**黄刀油**/implementation 'com.jakewharton:butterknife:10.2.1'annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'/**消息发送**/implementation 'org.greenrobot:eventbus:3.0.0'/**权限检测**/implementation 'com.yanzhenjie:permission:2.0.0-rc12'/**万能RecyclerView的数据适配器**/implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.46'/**数据库**/implementation 'org.litepal.android:core:2.0.0'/**二维码**/implementation 'cn.bingoogolapple:bga-qrcode-zbar:1.3.4'/**按钮切换**/implementation 'com.github.zcweng:switch-button:0.0.3@aar'/**选择图片(照片)第三方框架,(照片)框架,解决7.0打开相机报错问题**/implementation 'com.hx.multi-image-selector:multi-image-selector:1.2.2'/**图片缩放的第三方框架**/implementation 'me.relex:photodraweeview:1.1.0'/**图片查看器**/implementation 'com.github.chrisbanes:PhotoView:1.3.0'/**万能布局**/implementation 'androidx.recyclerview:recyclerview:1.2.1'/**轮播**/implementation 'com.youth.banner:banner:1.4.10'/**弹出对话框**/implementation 'com.yanzhenjie.alertdialog:alertdialog:1.0.1'/**万能pop**/implementation 'com.github.zyyoona7:EasyPopup:1.1.2'/**京东地址选择器**/implementation 'com.github.chihane:JDAddressSelector:1.1.4'/**下拉刷新**/implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.5.1'/**没有使用特殊Header,可以不加这行**/implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.5.1'/**MultiDex使用**/implementation 'com.android.support:multidex:1.0.3'/**图片缓存**/implementation 'com.github.bumptech.glide:glide:4.12.0'/**标签切换**/implementation 'com.androidkun:XTabLayout:1.1.3'/**简易时间选择器**/implementation 'com.contrarywind:Android-PickerView:4.1.9'/**加载gif动画**/implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.15'/**android常用工具类依赖**/implementation 'com.blankj:utilcodex:1.30.6'/**主页tab**/implementation 'com.github.Vincent7Wong:EasyNavigation:2.0.5'/**配合主页yoyo动画1**/implementation 'com.nineoldandroids:library:2.4.0'/**配合主页yoyo动画2**/implementation 'com.daimajia.easing:library:2.0@aar'/**配合主页yoyo动画3**/implementation 'com.daimajia.androidanimations:library:2.2@aar'/**loading组件**/implementation 'com.wang.avi:library:2.1.3'/**标题栏**/implementation 'com.wuhenzhizao:titlebar:1.2.0'/**显示文本组件**/implementation 'com.github.linger1216:labelview:v1.1.2'/** 我的水波纹 */implementation 'com.scwang.wave:MultiWaveHeader:1.0.0-alpha-1'/**x5webView**///noinspection GradleDependencyimplementation 'com.tencent.tbs:tbssdk:44226'/**视频播放**/implementation 'cn.jzvd:jiaozivideoplayer:6.4.1'

项目好不好,还得大家自己看看代码能不能读懂,适不适合自己。

良好的代码风格

@Override
public void initView() {fragments.add(new OneFragment());fragments.add(new TwoFragment());fragments.add(new ThreeFragment());fragments.add(new FourFragment());fragments.add(new FiveFragment());easy_navigation_bar.titleItems(tabText)//必传  Tab未选中图标集合.normalIconItems(normalIcon)//必传  Tab选中图标集合.selectIconItems(selectIcon)//必传  fragment集合.fragmentList(fragments)//必传.fragmentManager(getSupportFragmentManager())//分割线高度(默认是1,传0就不展示).lineHeight(0)//Tab图标大小.iconSize(44)//Tab文字大小,0会让文字不显示.tabTextSize(10)//Tab文字距Tab图标的距离.tabTextTop(0)//Tab未选中时字体颜色.normalTextColor(Color.parseColor("#7F7F7F"))//Tab选中时字体颜色.selectTextColor(Color.parseColor("#F0605F"))//同 ImageView的ScaleType.scaleType(ImageView.ScaleType.CENTER_INSIDE)//点击Tab  Viewpager切换是否有动画.smoothScroll(true)//Viewpager能否左右滑动.canScroll(false)//导航栏高度.navigationHeight(58)//true ViewPager 布局在导航栏之上 false 有重叠.hasPadding(true).navigationBackground(Color.parseColor("#252732")).build();
}

有需要的可以私信我, 有偿。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

Android---- 一个完整的小项目(消防app)

前言: 针对不同群体的需求,想着应该拓展写方向。医疗app很受大家喜欢,就打算顺手写个消防app,里面基础框架还是挺简洁 规整的。登陆注册和本地数据库写的便于大家理解。是广大学子的毕设首选啊! 此app主要为了传递 消防…...

XXX程序 详细说明

用于记录理解PC程序的程序逻辑 1、程序的作用 根据原作者的说明(文件说明.txt),该程序 (PC.py) 的主要作用是提取某一个文件夹中的某个设备 (通过config中的信息看出来是Ag_T_8) 产生的日志文件,然后提取其中某些需要的数据&…...

perl下载与安装教程【工具使用】

Perl是一个高阶程式语言,由 Larry Wall和其他许多人所写,融合了许多语言的特性。它主要是由无所不在的 C语言,其次由 sed、awk,UNIX shell 和至少十数种其他的工具和语言所演化而来。Perl对 process、档案,和文字有很强…...

Chrome谷歌浏览器修改输入框自动填充样式

Chrome谷歌浏览器修改输入框自动填充样式 背景字体 背景 input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset !important; }字体 input:-internal-autofill-selected {-webkit-text-fill-color: #000 !important; }...

Azure CLI 进行磁盘加密

什么是磁盘加密 磁盘加密是指在Azure中对虚拟机的磁盘进行加密保护的一种机制。它使用Azure Key Vault来保护磁盘上的数据,以防止未经授权的访问和数据泄露。使用磁盘加密,可以保护磁盘上的数据以满足安全和合规性要求。 参考文档:https://l…...

Java“牵手”根据关键词搜索(分类搜索)速卖通商品列表页面数据获取方法,速卖通API实现批量商品数据抓取示例

速卖通商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取速卖通商品列表和商品详情页面数据,您可以通过开放平台的接口或者直接访问速卖通商城的网页来获取商品详情信息。以下是两种常用方法的介…...

商城-学习整理-高级-消息队列(十七)

目录 一、RabbitMQ简介(消息中间件)1、RabbitMQ简介:2、核心概念1、Message2、Publisher3、Exchange4、Queue5、Binding6、Connection7、Channel8、Consumer9、Virtual Host10、Broker 二、一些概念1、异步处理2、应用解耦3、流量控制5、概述 三、Docker安装RabbitM…...

Android Camere开发入门(1):初识Camera

Android Camere开发入门(1):初识Camera 初步了解 在Android开发中,相机(Camera)是一个常见而重要的功能模块。它允许我们通过设备的摄像头捕捉照片和录制视频,为我们的应用程序增加图像处理和视觉交互的能力。 随着Android系统的不断发展和更新,相机功能也不断改进和增…...

hive表的全关联full join用法

背景:实际开发中需要用到全关联的用法,之前没遇到过,现在记录一下。需求是找到两张表的并集。 全关联的解释如下; 下面建两张表进行测试 test_a表的数据如下 test_b表的数据如下; 写第一个full join 的SQL进行查询…...

PMP串讲

!5种冲突解决策略 !敏捷3355。 ?PMP项目管理132种工具技术合集: 参考2:项目管理的132种工具 - 水之座 ?质量管理,有多少种图: ?风险管理,有多少种图: --参考:PMP相关的十八种…...

最长回文子序列——力扣516

动态规划 int longestPalindromeSubseq(string s){int n=s.length();vector<vector<int>>...

从零实现深度学习框架——Transformer从菜鸟到高手(二)

引言 &#x1f4a1;本文为&#x1f517;[从零实现深度学习框架]系列文章内部限免文章&#xff0c;更多限免文章见 &#x1f517;专栏目录。 本着“凡我不能创造的&#xff0c;我就不能理解”的思想&#xff0c;系列文章会基于纯Python和NumPy从零创建自己的类PyTorch深度学习框…...

docker监控平台FAST OS DOCKER --1

感觉这个是目前好用的中文平台&#xff0c;暂为v1吧 拉取镜像 docker pull wangbinxingkong/fast运行镜像 docker run --name fastos --restart always -p 18091:8081 -p 18092:8082 -e TZ"Asia/Shanghai" -d -v /var/run/docker.sock:/var/run/docker.sock -v /e…...

SpringBoot2.0集成WebSocket

<!-- websocket --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency> 新建配置类 import org.springframework.boot.autoconfigure.condition.Cond…...

Vue的Ajax请求-axios、前后端分离练习

Vue的Ajax请求 axios简介 ​ Axios&#xff0c;是Web数据交互方式&#xff0c;是一个基于promise [5]的网络请求库&#xff0c;作用于node.js和浏览器中&#xff0c;它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生node.js http模块, 而在…...

Spring源码深度解析三 (MVC)

书接上回 10.MVC 流程&源码剖析 * 问题1&#xff1a;Spring和SpringMVC整合使用时&#xff0c;会创建一个容器还是两个容器&#xff08;父子容器&#xff1f;&#xff09; * 问题2&#xff1a;DispatcherServlet初始化过程中做了什么&#xff1f; * 问题3&#xff1a;请求…...

API接口漏洞利用及防御

API是不同软件系统之间进行数据交互和通信的一种方式。API接口漏洞指的是在API的设计、开发或实现过程中存在的安全漏洞&#xff0c;可能导致恶意攻击者利用这些漏洞来获取未授权的访问、篡改数据、拒绝服务等恶意行为。 1.API接口漏洞简介 API&#xff08;Application Progr…...

解决Spring mvc + JDK17@Resource无法使用的情况

问题描述 我在使用jdk17进行Spring mvc开发时发现 Resource用不了了。 原因 因为JDK版本升级的改动&#xff0c;在Jdk9~17环境下&#xff0c;搭建Springboot项目&#xff0c;会出现原有Resource&#xff08;javax.annotation.Resource&#xff09;不存在的问题&#xff0c;导…...

页面禁用鼠标右键,禁用F12打开开发者工具!!!

文章目录 问题分析方法一方法二方法二问题 今天在浏览博主文章时发现无法复制页面上的内容,也无法F12打开开发者工具,更用不了鼠标右键,于是上网找了原因并亲测可用 分析 方法一 将 <body> 改成 <body oncontextmenu=self.event.returnValue=false>方法二 …...

Android中使用JT808协议进行车载终端通信的实现和优化

JT808是一种在中国广泛应用的车载终端通信协议&#xff0c;用于车辆与监控中心之间的数据通信。下面是关于Android平台上使用JT808协议进行通信的一般步骤和注意事项&#xff1a; 协议了解&#xff1a;首先&#xff0c;您需要详细了解JT808协议的规范和定义。该协议包含了通信消…...

不止于读写:在HC32F460上为FATFS和SDIO驱动添加调试信息与性能测试

HC32F460深度优化&#xff1a;FATFS与SDIO驱动的调试技巧与性能压测实战 当你的HC32F460开发板已经能够读取SD卡文件时&#xff0c;真正的挑战才刚刚开始。那些隐藏在初始化失败、数据错位、速度瓶颈背后的秘密&#xff0c;往往需要更精密的调试手段才能揭开。本文将带你超越基…...

分支限界法 vs 回溯法:5个关键区别和实际应用场景对比

分支限界法与回溯法&#xff1a;核心差异与工程实践指南 在解决复杂组合优化问题时&#xff0c;算法选择往往决定了程序的执行效率。当面对NP难问题时&#xff0c;两种经典算法——分支限界法和回溯法——常被开发者拿来比较。本文将深入剖析这两种算法的本质区别&#xff0c;并…...

HunyuanVideo-Foley部署案例:混合精度(FP16/AMP)推理性能实测报告

HunyuanVideo-Foley部署案例&#xff1a;混合精度&#xff08;FP16/AMP&#xff09;推理性能实测报告 1. 测试环境与配置 1.1 硬件配置 显卡&#xff1a;RTX 4090D 24GB显存&#xff08;驱动550.90.07&#xff09;CPU&#xff1a;10核心处理器内存&#xff1a;120GB DDR4存储…...

节能模式:OpenClaw+nanobot的间歇性任务调度技巧

节能模式&#xff1a;OpenClawnanobot的间歇性任务调度技巧 1. 为什么需要节能模式 去年夏天&#xff0c;我的电费账单突然飙升。排查后发现&#xff0c;那台24小时运行OpenClaw的工作站竟然是耗电大户——它持续调用着本地部署的Qwen大模型&#xff0c;GPU风扇昼夜不停地呼啸…...

Alibaba DASD-4B Thinking 入门:卷积神经网络(CNN)原理交互式学习与答疑

Alibaba DASD-4B Thinking 入门&#xff1a;卷积神经网络&#xff08;CNN&#xff09;原理交互式学习与答疑 你是不是觉得卷积神经网络听起来就很高深&#xff0c;那些卷积核、池化、感受野的概念&#xff0c;光看文字解释就头大&#xff1f;别担心&#xff0c;这几乎是每个初…...

s2-pro效果展示:会议纪要转语音+重点语句强调式播报实录

s2-pro效果展示&#xff1a;会议纪要转语音重点语句强调式播报实录 1. 专业语音合成新体验 s2-pro作为Fish Audio开源的专业级语音合成模型镜像&#xff0c;正在重新定义文本转语音的标准。不同于常见的聊天式语音工具&#xff0c;它专注于提供高质量的语音合成服务&#xff…...

老旧设备的开源OCR解决方案:技术适配与性能优化指南

老旧设备的开源OCR解决方案&#xff1a;技术适配与性能优化指南 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件&#xff0c;适用于Windows系统&#xff0c;支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com/GitHub…...

5步搞定OpenClaw+百川2-13B:WebUI v1.0镜像快速体验指南

5步搞定OpenClaw百川2-13B&#xff1a;WebUI v1.0镜像快速体验指南 1. 为什么选择这个组合&#xff1f; 上周我在测试本地AI自动化工具时&#xff0c;发现一个痛点&#xff1a;很多开源模型要么体积太大跑不动&#xff0c;要么功能太单一。直到在星图GPU平台看到百川2-13B-4b…...

【Java】UTF-8变长编码及其3字节存储奥秘

UTF-8 是一种变长编码&#xff0c;一个字符可能由 1 到 4 个字节组成。 解码时&#xff08;将字节数组转回 String&#xff09;&#xff0c;计算机并不需要“猜”或者去查表&#xff0c;因为长度信息本身就包含在字节的“头部”里。这就是 UTF-8 设计的精妙之处&#xff1a;它是…...

魔兽世界插件开发利器:wow_api技术架构与实战指南

魔兽世界插件开发利器&#xff1a;wow_api技术架构与实战指南 【免费下载链接】wow_api Documents of wow API -- 魔兽世界API资料以及宏工具 项目地址: https://gitcode.com/gh_mirrors/wo/wow_api 技术探索&#xff1a;从需求到架构的演进之路 魔兽世界插件开发生态长…...