【Android】 使用AndServer框架在手机上搭建服务器
前言
在手机上搭建服务器?没错,我自己都会想哪里有人要在把手机当作服务器,不过,确确实实,由于一个项目,我需要这么干。 最初映入脑海的就是Socket原生编程了,直到后来发现了封装成http服务器端的AndServer框架!!!
导入依赖
implementation 'com.yanzhenjie.andserver:api:2.0.5'
annotationProcessor 'com.yanzhenjie.andserver:processor:2.0.5'
开启网络权限
<uses-permission android:name="android.permission.INTERNET"/>
服务器管理类
package com.example.andservertest;import android.content.Context;
import android.util.Log;import com.yanzhenjie.andserver.AndServer;
import com.yanzhenjie.andserver.Server;import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.concurrent.TimeUnit;public class ServerManager {private Server mServer;private static final String TAG = "ServerManager";/*** Create server.*/public ServerManager(Context context) {InetAddress inetAddress = null;try {//这里的ip地址是手机的ip地址,可通过手机设置>系统->关于手机查看inetAddress = InetAddress.getByName("192.168.1.11");} catch (UnknownHostException e) {e.printStackTrace();}mServer = AndServer.serverBuilder(context).inetAddress(inetAddress).port(8080).timeout(10, TimeUnit.SECONDS).listener(new Server.ServerListener() {@Overridepublic void onStarted() {Log.i(TAG, "onStarted: 服务器启动");}@Overridepublic void onStopped() {Log.i(TAG, "onStopped: 服务器关闭");}@Overridepublic void onException(Exception e) {Log.i(TAG, "onException: 服务器出现异常"+e.getMessage());}}).build();}/*** Start server.*/public void startServer() {if (mServer.isRunning()) {// TODO The server is already up.} else {mServer.startup();}}/*** Stop server.*/public void stopServer() {if (mServer.isRunning()) {mServer.shutdown();} else {Log.w("AndServer", "The server has not started yet.");}}
}
测试用的Activity
package com.example.andservertest;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.Button;public class MainActivity extends AppCompatActivity {private Button button1,button2;private ServerManager serverManager;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1 = findViewById(R.id.button_start);button2 = findViewById(R.id.button_stop);serverManager = new ServerManager(this);button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {serverManager.startServer();}});button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {serverManager.stopServer();}});}
}
Controller
@RestController
public class UserController {@GetMapping("/123")String login() {Log.i(TAG, "login: 收到消息");return "你好啊兄弟";}
}
由于电脑和手机使用的是一个宽带,所以自然而然就在一个局域网了
对刚才写的Controller进行测试
关于AndServer
具体使用,可以看作者写的文档,很详细,在这里就不再多说了
https://yanzhenjie.com/AndServer/sample/
【Android】 使用AndServer框架在手机上搭建服务器相关推荐
- ksweb如何安装php5.6_KSWEB在手机上搭建php+mysql环境
ksweb是一款专业的开源服务器APP,可以在手机上搭建php+MySQL环境,内置了 lighttpd+nginx+apache+php+sql 等等功能,可以让你的手机瞬间变成服务器,兼容多数主流 ...
- android动态图制作,Android 教程:如何在手机上制作高质量的 GIF 图片
相比于静态图片的一动不动,GIF 图片显得十分生动活泼,并且能表现一定的情节.虽然已经有 GIF 快手.美图 GIF 这类易用的 GIF 制作应用,但其有着诸多的限制,像时长.分辨率等都不可自行调节. ...
- android icloud云盘,现在 Android 用户也可以在手机上使用 iCloud 了
在 2020 年为自家的云服务推出移动版网站还真是新潮呢 如果你是 Macbook 或 同时拥有 iPhone 手机的 Android 用户的话,那么一个好消息是,今天 Apple 终于为自家的云服务 ...
- 在手机上搭建一个小型服务器
安装配置 - nginx : 1.14.2 - node.js : 8.19.3 1. 先将自己在电脑上的 vue项目打包 npm run build 2. 打开 aidlux 的文件管理器 如果不知 ...
- Android连接SQLServer详细教程(数据库+服务器+客户端)
本文为原创,如果转载请注明出处 http://blog.csdn.net/zhyl8157121/article/details/8169172 其实之前发过一篇这样的博文http://blog.cs ...
- python手机运行器_MobileNet教程:用TensorFlow搭建在手机上运行的图像分类器
王瀚宸 编译自 Hackernoon 量子位 报道 | 公众号 QbitAI 在移动端本地运行神经网络成了明显的趋势,Google还为此推出了MobileNet框架. MobileNet框架怎么用?C ...
- android处理服务器的集合,android集合SSH搭建服务器客户端请求
android集合SSH搭建服务器客户端请求 (2012-06-14 06:21:53) 标签: android 服务器 杂谈 android集合SSH搭建服务器客户端请求小弟以前是学的J2EE,由于 ...
- android 音频在手机上测试播放不流畅问题
今天看了视频<24考研全程复习规划>,背了50个单词,看了25%的<终身学习:哈佛毕业后的六堂课>,看完第一章<JAVA编程思想>.做了一道算法题,没做出来,看了讲 ...
- 来源com.android.atsmt,海量图片和心灵洗礼说与谁听?初页可以帮你在手机上制作H5页面了...
H5页面定稿之后,很多人都在讨论,这个世界要被改变了.其实在规则最终确定之前,H5页面就已经在影响我们的传播方式.分享内容丰富程度和对手机创作的理解. 而云起团队推出的App初页,可能会让用户对手机创 ...
- android开发ssh框架搭建,基于SSH框架的Android系统的研究
摘要: 本文设计开发了一个基于SSH框架的酒店Android手机查询系统.该系统采用面向对象的设计思想进行分析与设计,利用Eclipse,MyEclipse,Android SDK,Tomcat和My ...
最新文章
- Jpeglib读取jpg文件
- mysql5.5多实例配置_mysql-5.5.32多实例配置
- 行业薪酬大跳水 区块链真的凉了?
- linux 统计根目录下的文件日期和出现的频率
- tomcat启动成功 未加载项目_欣冠精密eHR系统项目成功启动
- Restlet Client 安装 网盘里面有压缩文件夹下载引用即可 谷歌浏览器
- 前端学习(2379):调整初始目录结构
- SQL Server 2014新功能 -- 内存中OLTP(In-Memory OLTP)
- 程序猿能力矩阵 — 敢測吗?看自己在哪个档次
- 【数字信号】基于matlab CEEMD数字信号分解【含Matlab源码 1383】
- vue - 生命周期
- BeanShell用法汇总
- 电力电子课程设计:简易密码控制装置
- ictclas怎么配置java_ICTCLAS2015 Java版本的使用方法
- 小工具推荐:tokei(高效统计代码行数)
- jquery attr设置属性失效问题
- 华三 h3c Rip、静态路由、silent-interface配置
- 简单说明JSP和Java的关系_JSP 总结
- 强大、优秀的文件管理软件评测:图片管理、书籍管理、文献管理
- 上线一月破千万,孙俪都是其粉丝,揭秘花粉儿APP的成长秘诀