什么骚操作,用Android能写后台服务?

简介: 什么骚操作,用Android能写后台服务?

事情是这样子的, 前段时间在浏览github的时候,偶然间发现了一个有趣的项目AndServer,说是能够用Android写一个可运行的后台服务,并且写法还和当前最流行的SpringBoot很类似,于是我就上手试了一把,觉得非常有趣,于是就参照着文档,写了个服务端和客户端的模版,这里分享给大家,有兴趣的可以把玩把玩,还是很有趣的.


AndServer


在分享之前,我先来简单地介绍一下这个AndServer项目.


AndServer是阿里大佬yanzhenjie的开源项目,项目地址: github.com/yanzhenjie/…, 目前有大约2.5k的star,写得还是相对不错的,感兴趣的同学可以尝试去阅读一下源码.


简介


原文是这样描述的:


AndServer is an HTTP and reverse proxy server. Web server and Web framework of Android platform. It provides annotations like SpringMVC, and if you are familiar with SpringMVC, you can master it very quickly.


  • Static html website deployment.


  • Dynamic http api deployment.


  • Reverse proxy server.


翻译过来就是:


AndServer是一个HTTP和反向代理服务器。 Android平台的Web服务器和Web框架。它提供类似SpringMVC的注释,如果您熟悉SpringMVC,您可以很快地掌握它。


  • 静态html网站部署。


  • 动态http api部署。


  • 反向代理服务器。


集成AndServer


  • 将plugin添加到项目buildscript中:


buildscript {
    repositories {
        jcenter()
        mavenCentral()
        google()
    }
    dependencies {
        classpath 'com.yanzhenjie.andserver:plugin:2.1.5'
        ...
    }
}
...


  • 在你的模块中增加AndServer的依赖:


apply plugin: 'com.yanzhenjie.andserver'
...
dependencies {
    implementation 'com.yanzhenjie.andserver:api:2.1.5'
    annotationProcessor 'com.yanzhenjie.andserver:processor:2.1.5'
    ...
}


如果你使用的是Kotlin, 需要替换annotationProcessorkapt.


TemplateAndServer


介绍完AndServer,下面就开始介绍我编写的TemplateAndServer.


TemplateAndServer是我根据AndServer的文档和案例,结合我常用的X-Library系列库所编写的简化版的Android服务端模版,主要用于接口模拟测试等场景。

项目的地址: github.com/xuexiangjys…, 喜欢的可以点击star收藏哦~~


演示


服务端演示


网络异常,图片无法展示
|


浏览器演示


网络异常,图片无法展示
|


写法对比


  • AndServer


网络异常,图片无法展示
|


网络异常,图片无法展示
|


  • SpringBoot


网络异常,图片无法展示
|


从上面的图片我们很容易看出,AndServer的写法和SpringBoot是非常相似的,就连项目工程的结构也是相似的。


功能介绍


本模版项目主要使用AndServer提供的服务搭建,内置常用的基础模块,功能如下.


  • 统一的请求日志记录。


  • 全局异常捕获处理,返回统一API结果。


  • 增加全局权限验证拦截器。


  • 文件上传。


  • 后台管理界面。


  • 接口测试界面。


返回Json格式


{
    "code":0, //响应码,0为成功,否则失败
    "msg":"", //请求失败的原因说明
    "data":{} //返回的数据对象
}


集成说明









使用方式


服务器配置


com.xuexiang.server.ServerConfig进行配置的修改。


服务接口编写


1.在com.xuexiang.server.controller包下创建Controller类。


2.在Controller类上加上@RestController@RequestMapping注解。


日志查看


在logcat上搜索关键词"AndServer"即可查看请求日志。


相关文章
|
2月前
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
24 1
|
3月前
|
JavaScript 前端开发 Android开发
让Vite+Vue3项目在Android端离线打开(不需要起服务)
让Vite+Vue3项目在Android端离线打开(不需要起服务)
100 10
|
3月前
|
调度 Android开发 UED
Android经典实战之Android 14前台服务适配
本文介绍了在Android 14中适配前台服务的关键步骤与最佳实践,包括指定服务类型、请求权限、优化用户体验及使用WorkManager等。通过遵循这些指南,确保应用在新系统上顺畅运行并提升用户体验。
215 6
|
3月前
|
安全 API 开发工具
Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换
Android平台扬声器播放声音的采集,在无纸化同屏等场景下,意义很大,早期低版本的Android设备,是没法直接采集扬声器audio的(从Android 10开始支持),所以,如果需要采集扬声器audio,需要先做系统版本判断,添加相应的权限。
|
3月前
|
编解码 开发工具 Android开发
Android平台实现屏幕录制(屏幕投影)|音频播放采集|麦克风采集并推送RTMP或轻量级RTSP服务
Android平台屏幕采集、音频播放声音采集、麦克风采集编码打包推送到RTMP和轻量级RTSP服务的相关技术实现,做成高稳定低延迟的同屏系统,还需要有配套好的RTMP、RTSP直播播放器
|
4月前
|
数据处理 开发工具 数据安全/隐私保护
Android平台RTMP推送|轻量级RTSP服务|GB28181接入之文字、png图片水印的精进之路
本文探讨了Android平台上推流模块中添加文字与PNG水印的技术演进。自2015年起,为了满足应急指挥及安防领域的需求,逐步发展出三代水印技术:第一代为静态文字与图像水印;第二代实现了动态更新水印内容的能力,例如实时位置与时间信息;至第三代,则优化了数据传输效率,直接使用Bitmap对象传递水印数据至JNI层,减少了内存拷贝次数。这些迭代不仅提升了用户体验和技术效率,也体现了开发者追求极致与不断创新的精神。
|
4月前
|
数据采集 编解码 开发工具
Android平台实现无纸化同屏并推送RTMP或轻量级RTSP服务(毫秒级延迟)
一个好的无纸化同屏系统,需要考虑的有整体组网、分辨率、码率、实时延迟、音视频同步和连续性等各个指标,做容易,做好难
|
4月前
|
监控 开发工具 Android开发
Android平台实现RTSP拉流转发至轻量级RTSP服务
为满足Android平台上从外部RTSP摄像头拉流并提供轻量级RTSP服务的需求,利用大牛直播SDK实现了相关功能。SDK支持开始与停止拉流、音频视频数据回调处理及RTSP服务的启动与发布等操作。拉流仅需将未解码数据回调,对性能影响小。音频和视频数据经由特定接口传递给发布端进行处理。此外,SDK还提供了获取RTSP会话数量的功能。此方案适用于监控和巡检等低延迟应用场景,并支持二次水印添加等功能。
|
4月前
|
编解码 API 开发工具
Android平台轻量级RTSP服务模块二次封装版调用说明
本文介绍了Android平台上轻量级RTSP服务模块的二次封装实践,旨在简化开发流程,让开发者能更专注于业务逻辑。通过`LibPublisherWrapper`类提供的API,可在应用中轻松初始化RTSP服务、配置视频参数(如分辨率、编码类型)、启动与停止RTSP服务及流发布,并获取RTSP会话数量。此外,还展示了如何处理音频和视频数据的采集与推送。最后,文章提供了从启动服务到销毁资源的完整示例,帮助开发者快速集成实时流媒体功能。
|
4月前
|
编解码 开发工具 Android开发
Android平台轻量级RTSP服务模块技术接入说明
为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,大牛直播SDK在推送端发布了轻量级RTSP服务SDK。 轻量级RTSP服务解决的核心痛点是避免用户或者开发者单独部署RTSP或者RTMP服务,实现本地的音视频数据(如摄像头、麦克风),编码后,汇聚到内置RTSP服务,对外提供可供拉流的RTSP URL,轻量级RTSP服务,适用于内网环境下,对并发要求不高的场景,支持H.264/H.265,支持RTSP鉴权、单播、组播模式,考虑到单个服务承载能力,我们支持同时创建多个RTSP服务,并支持获取当前RTSP服务会话连接数。