什麼騷操作,用Android能寫後臺服務?

事情是這樣子的, 前段時間在瀏覽github的時候,偶然間發現了一個有趣的項目AndServer,說是能夠用Android寫一個可運行的後臺服務,並且寫法還和當前最流行的SpringBoot很類似,於是我就上手試了一把,覺得非常有趣,於是就參照着文檔,寫了個服務端和客戶端的模版,這裏分享給大家,有興趣的可以把玩把玩,還是很有趣的.

AndServer

在分享之前,我先來簡單地介紹一下這個AndServer項目.

AndServer是阿里大佬yanzhenjie的開源項目,項目地址: https://github.com/yanzhenjie/AndServer, 目前有大約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服務端模版,主要用於接口模擬測試等場景。

項目的地址: https://github.com/xuexiangjys/TemplateAndServer, 喜歡的可以點擊star收藏哦~~


演示

服務端演示

瀏覽器演示

寫法對比

  • AndServer

  • SpringBoot

從上面的圖片我們很容易看出,AndServer的寫法和SpringBoot是非常相似的,就連項目工程的結構也是相似的。


功能介紹

本模版項目主要使用AndServer提供的服務搭建,內置常用的基礎模塊,功能如下.

  • 統一的請求日誌記錄。

  • 全局異常捕獲處理,返回統一API結果。

  • 增加全局權限驗證攔截器。

  • 文件上傳。

  • 後臺管理界面。

  • 接口測試界面。

返回Json格式

{
    "code":0, //響應碼,0爲成功,否則失敗
    "msg":"", //請求失敗的原因說明
    "data":{} //返回的數據對象
}

集成說明

  • AndServer 一個HTTP和反向代理服務器
  • XHttp2 一個功能強悍的網絡請求庫,使用RxJava2 + Retrofit2 + OKHttp組合進行封裝。
  • XOrmlite 一個方便實用的OrmLite數據庫框架
  • XUI 一個簡潔而優雅的Android原生UI框架,解放你的雙手!
  • XUtil 一個方便實用的Android工具類庫!
  • XAOP 一個輕量級的AOP(Android)應用框架。囊括了最實用的AOP應用。
  • XPage 一個非常方便的fragment頁面框架。

使用方式

服務器配置

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

服務接口編寫

1.在com.xuexiang.server.controller包下創建Controller類。

2.在Controller類上加上@RestController@RequestMapping註解。

日誌查看

在logcat上搜索關鍵詞"AndServer"即可查看請求日誌。


微信公衆號

更多資訊內容,歡迎掃描關注我的個人微信公衆號!

- END -


本文分享自微信公衆號 - 我的Android開源之旅(openandroidxx)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章