iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android设备搭建http服务---------AndServer
  • 226
分享到

Android设备搭建http服务---------AndServer

androidhttp服务器 2023-12-23 18:12:59 226人浏览 泡泡鱼
摘要

项目中引用AndServer implementation 'com.yanzhenjie.andserver:api:2.1.10' 在项目的根build.gradle文件(不是app那个moudle的build.gradle)最顶部添加

项目中引用AndServer
implementation 'com.yanzhenjie.andserver:api:2.1.10'

在项目的根build.gradle文件(不是app那个moudle的build.gradle)最顶部添加:

buildscript {    repositories {        MavenCentral()    }     dependencies {        classpath 'com.yanzhenjie.andserver:plugin:2.1.10'    }}
在当前的moudle(一般就是app)的build.gradle里面的plugins里面添加:
id 'com.yanzhenjie.andserver'
plugins
plugins {    id 'com.Android.application'    id 'com.yanzhenjie.andserver'}
build.gradle里面dependencies的添加
    implementation 'com.yanzhenjie.andserver:api:2.1.10'    annotationProcessor 'com.yanzhenjie.andserver:processor:2.1.10'
代码
package com.dzdpencrypt.dzdp; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import com.yanzhenjie.andserver.AndServer;import com.yanzhenjie.andserver.Server; import java.util.concurrent.TimeUnit; public class MainActivity extends AppCompatActivity {    private Server mServer;     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        if (!isServiceRunning(getApplicationContext(), KeepAliveService.class)) {            Log.d(LOG_TAG, "检测到服务未在运行,启动服务");            serviceIntent = new Intent(this, KeepAliveService.class);            startService(serviceIntent);        } else {            Log.d(LOG_TAG, "检测到服务正在运行,无需再次启动");        }                TextView textView = findViewById(R.id.ipsd);   # 绑定textview的相关id        textView.setText(NetUtils.getLocalIPAddress().getHostAddress() + ":9999");   # app中textview显示ip+端口        mServer = AndServer.WEBServer(this)                .port(9999)                .timeout(10, TimeUnit.SECONDS).listener(new Server.ServerListener() {                    @Override                    public void onStarted() {                        System.out.println("服务器绑定地址:"+NetUtils.getLocalIPAddress().getHostAddress());                    }                    @Override                    public void onStopped() {                    }                    @Override                    public void onException(Exception e) {                    }                })                .build();        mServer.startup();    }     @Override    protected void onDestroy() {        super.onDestroy();        mServer.shutdown();    }}

以上代码启动在Android手机(设备)上的Http服务器,服务器绑定端口9999

spring样式的restful代码实现
package com.dzdpencrypt.service; import com.yanzhenjie.andserver.annotation.GetMapping;import com.yanzhenjie.andserver.annotation.PathVariable;import com.yanzhenjie.andserver.annotation.PostMapping;import com.yanzhenjie.andserver.annotation.QueryParam;import com.yanzhenjie.andserver.annotation.RequestBody;import com.yanzhenjie.andserver.annotation.RequestParam;import com.yanzhenjie.andserver.annotation.RestController; import org.JSON.jsONObject;  @RestControllerpublic class ServerController {    @GetMapping("/")    public String ping() {        return "SERVER OK";    }     @PostMapping("/user/login")    public JSONObject login(@RequestBody String str) throws Exception {        JSONObject jsonObject = new JSONObject(str);        return jsonObject;    }     @GetMapping("/user/item")    public JSONObject requestItem(@RequestParam("name") String name,     @RequestParam("id") String id) throws Exception {        JSONObject jsonObject = new JSONObject();        jsonObject.put("name", name);        jsonObject.put("id", id);         return jsonObject;    }     @GetMapping("/user/{userId}")    public JSONObject getUser(@PathVariable("userId") String userId,                           @QueryParam("key") String key) throws Exception{        JSONObject user = new JSONObject();        user.put("id", userId);        user.put("key", key);        user.put("year", 2022);         return user;    }}
NetUtils.java-------获取当前Android手机的IP地址
package com.dzdpencrypt.service; import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration;import java.util.regex.Pattern; public class NetUtils {    private static final Pattern IPV4_PATTERN = Pattern.compile(            "^(" + "([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}" +                    "([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$");     public static boolean isIPv4Address(String input) {        return IPV4_PATTERN.matcher(input).matches();    }     public static InetAddress getLocalIPAddress() {        Enumeration<NetworkInterface> enumeration = null;        try {            enumeration = NetworkInterface.getNetworkInterfaces();        } catch (SocketException e) {            e.printStackTrace();        }        if (enumeration != null) {            while (enumeration.hasMoreElements()) {                NetworkInterface nif = enumeration.nextElement();                Enumeration<InetAddress> inetAddresses = nif.getInetAddresses();                if (inetAddresses != null) {                    while (inetAddresses.hasMoreElements()) {                        InetAddress inetAddress = inetAddresses.nextElement();                        if (!inetAddress.isLoopbackAddress() && isIPv4Address(inetAddress.getHostAddress())) {return inetAddress;                        }                    }                }            }        }        return null;    }}
AndroidManifest.xml配置网络权限
    <uses-permission android:name="android.permission.INTERNET"/>    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
测试
  • get测试
    在这里插入图片描述
  • post测试
  • 在这里插入图片描述
    可结合https://blog.csdn.net/zyc3545/article/details/109150010此篇文章合并到一块

来源地址:https://blog.csdn.net/weixin_45171937/article/details/129672093

--结束END--

本文标题: Android设备搭建http服务---------AndServer

本文链接: https://www.lsjlt.com/news/551727.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android设备搭建http服务---------AndServer
    项目中引用AndServer implementation 'com.yanzhenjie.andserver:api:2.1.10' 在项目的根build.gradle文件(不是app那个moudle的build.gradle)最顶部添加...
    99+
    2023-12-23
    android http 服务器
  • Python搭建HTTP服务
    背景 本次我们要为一个自动化测试工具搭建一个HTTP服务,以方便一个本地的测试工具被大家在网络中共享使用。 一、方案选择: Python socket 二、选择理由 底层测试工具由python编写,因此使用python搭建HTTP服务...
    99+
    2023-01-31
    Python HTTP
  • Windows搭建HTTP服务器
    Windows搭建HTTP服务器 1、开启Windows功能 打开控制面板-程序和功能-启用或关闭Windows功能,勾选Internet information services下拉框的全部选项。 2、搭建HTTP服务器 搜索IIS,...
    99+
    2023-09-02
    服务器 windows 网络
  • 【C++】搭建HTTP服务器
    目录 项目介绍 网络协议栈介绍 协议分层 数据的封装与分用 HTTP相关知识介绍 HTTP的特点 URL格式 URI、URL、URN HTTP的协议格式 HTTP的请求方法 HTTP的状态码 HTTP常见的Header CGI机制介绍 CG...
    99+
    2023-09-17
    网络 网络协议
  • Golang搭建HTTP服务器
    目录一. 安装Golang二. 搭建HTTP服务器三. 扩展HTTP服务器处理HTTP请求处理参数处理静态文件四. 总结一. 安装Golang 在开始之前,我们需要先安装好Golan...
    99+
    2023-05-16
    Golang搭建HTTP服务器 Golang HTTP服务器 Golang 服务器
  • 搭建私有云服务器设备
    搭建私有云服务器设备通常需要采用专门的软件和硬件设备,以下是一些常见的工具和组件: 操作系统:在操作系统中创建或安装各种云端服务。 服务器:包括主机和服务器两种类型,主机提供虚拟机(Virtual Machine)和云虚拟化(Cloud...
    99+
    2023-10-26
    服务器 设备
  • 搭建云服务器需要哪些设备和设备
    搭建云服务器需要使用以下设备和软件: 服务器:服务器是云服务器中最重要的组件之一,需要包括处理器、内存、存储和网络等部件,以便为用户提供稳定的数据存储和处理。 数据库:数据库是云服务器的重要组成部分,用于存储和管理数据。需要选择可扩展的...
    99+
    2023-10-26
    设备 服务器
  • 搭建云服务器需要哪些设备和设备呢
    搭建云服务器需要使用各种服务器硬件设备,包括主机、存储、网络设备等等。以下是各种设备的列表: 主机:可以选择虚拟化厂商提供的各种主机,例如VMWare、Xen、AWS等等。不同的主机适用于不同的需求和场景。 存储:可以选择使用各种云存储...
    99+
    2023-10-27
    设备 服务器
  • 搭建云服务器需要哪些设备和设备支持
    搭建云服务器需要使用各种不同的服务器设备,包括云主机、云存储、虚拟化平台、安全设备等。以下是一些主要的云服务器设备和它们的设备支持信息: 云主机:使用虚拟化平台,如VMware、KVM等,可以快速部署和管理云服务器。云主机可以作为云服务...
    99+
    2023-10-27
    设备 服务器
  • 搭建云服务器需要哪些设备和设备配置
    搭建云服务器需要使用至少四个基本设备,包括服务器主机、数据库、存储设备和网络设备: 服务器主机:服务器主机是整个云服务器运行的核心设备,必须具有高性能、高可靠性、高可扩展性等特点。 数据库:云服务器上需要使用数据库来存储数据,一般会选择...
    99+
    2023-10-27
    设备 服务器
  • 如何搭建nodejs http服务器
    这篇文章主要介绍如何搭建nodejs http服务器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!搭建简单的nodejs服务器通过一些简单配置我们就可以搭建一台基于nodejs的ht...
    99+
    2024-04-02
  • Node.js怎么搭建HTTP服务器
    这篇文章主要介绍“Node.js怎么搭建HTTP服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Node.js怎么搭建HTTP服务器”文章能帮助大家解决问题。什...
    99+
    2022-12-03
    node.js http
  • 手机怎么搭建云服务器设备
    搭建云服务器设备需要遵循一定的配置和配置要求,下面是一些常见的云服务器设备配置要求: 硬件配置 云服务器设备要求需要硬件设施(CPU、内存、硬盘等),这些是保证云服务器可靠性、稳定性和性能的基础。根据实际需求,云服务器硬件配置可能需要...
    99+
    2023-10-26
    服务器 设备 手机
  • 搭建云服务器需要哪些设备
    搭建云服务器需要使用各种计算、存储、网络设备,以下是一些常见的云服务器设备: 硬件服务器:这类服务器通常采用集群处理,以满足大数据量处理需求。常见的服务器类型包括NAS(Network Attached Storage)、SAN(Net...
    99+
    2023-10-26
    服务器 设备
  • windows环境搭建http服务器
    开启windows功能 进入电脑控制面板-程序-启用或关闭windows功能 2.勾选这3个功能以及展开的全部勾选 搭建http服务器 打开Internet Information Server(IIS)管理器,在开始菜单里面找到IIS...
    99+
    2023-08-18
    服务器 windows http
  • Golang如何搭建HTTP服务器
    这篇文章主要讲解了“Golang如何搭建HTTP服务器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang如何搭建HTTP服务器”吧!一. 安装Golang在开始之前,我们需要先安装好...
    99+
    2023-07-06
  • 基于Node.js的http模块搭建HTTP服务器
    目录http 模块代码剖析request 解析URL 解析请求体解析response 设置发送 http 请求GETPOST诡异之处当你第一次接触工程化的项目时,看到项目控制台正在 ...
    99+
    2024-04-02
  • 搭建云服务器需要哪些设备和设备支持的
    硬件设备包括服务器主板、CPU、内存、硬盘、显卡等。 硬件设备的选择需要根据实际需求进行。如果需要处理大量数据,需要选择高性能的服务器主板,可以选择英特尔、AMD等处理器。如果需要进行实时通信或者进行高性能计算,可以选择高端的服务器内存和...
    99+
    2023-10-28
    设备 服务器
  • 搭建私有云服务器设备的目的
    搭建私有云服务器设备的目的主要是为了提高云服务器的性能和可靠性,确保云服务器在需要时能够高效地运行并提供高质量的数据访问服务。下面是搭建私有云服务器设备的主要目的: 提高性能:私有云服务器可以为用户提供更快速、更可靠的数据访问服务,以减...
    99+
    2023-10-26
    目的 服务器 设备
  • 搭建云服务器需要哪些设备呢
    搭建云服务器需要使用相应的硬件设备,以下是一些常见的云服务器设备列表: 主机设备:包括磁盘阵列、光纤通道交换机和服务器硬件等,用于连接云服务器和客户端。 存储设备:包括磁盘阵列、CDN存储、数据库等,用于存储数据。 网络设备:包括服务器...
    99+
    2023-10-26
    服务器 设备
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作