返回顶部
首页 > 资讯 > 精选 >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

猜你喜欢
  • 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
  • 【C++】搭建HTTP服务器
    目录 项目介绍 网络协议栈介绍 协议分层 数据的封装与分用 HTTP相关知识介绍 HTTP的特点 URL格式 URI、URL、URN HTTP的协议格式 HTTP的请求方法 HTTP的状态码 HTTP常见的Header CGI机制介绍 CG...
    99+
    2023-09-17
    网络 网络协议
  • Windows搭建HTTP服务器
    Windows搭建HTTP服务器 1、开启Windows功能 打开控制面板-程序和功能-启用或关闭Windows功能,勾选Internet information services下拉框的全部选项。 2、搭建HTTP服务器 搜索IIS,...
    99+
    2023-09-02
    服务器 windows 网络
  • 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
  • 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
  • 搭建云服务器需要哪些设备
    搭建云服务器需要使用各种计算、存储、网络设备,以下是一些常见的云服务器设备: 硬件服务器:这类服务器通常采用集群处理,以满足大数据量处理需求。常见的服务器类型包括NAS(Network Attached Storage)、SAN(Net...
    99+
    2023-10-26
    服务器 设备
  • 手机怎么搭建云服务器设备
    搭建云服务器设备需要遵循一定的配置和配置要求,下面是一些常见的云服务器设备配置要求: 硬件配置 云服务器设备要求需要硬件设施(CPU、内存、硬盘等),这些是保证云服务器可靠性、稳定性和性能的基础。根据实际需求,云服务器硬件配置可能需要...
    99+
    2023-10-26
    服务器 设备 手机
  • 基于Node.js的http模块搭建HTTP服务器
    目录http 模块代码剖析request 解析URL 解析请求体解析response 设置发送 http 请求GETPOST诡异之处当你第一次接触工程化的项目时,看到项目控制台正在 ...
    99+
    2024-04-02
  • 搭建云服务器需要哪些设备和设备支持的
    硬件设备包括服务器主板、CPU、内存、硬盘、显卡等。 硬件设备的选择需要根据实际需求进行。如果需要处理大量数据,需要选择高性能的服务器主板,可以选择英特尔、AMD等处理器。如果需要进行实时通信或者进行高性能计算,可以选择高端的服务器内存和...
    99+
    2023-10-28
    设备 服务器
  • Python搭建HTTP服务器和FTP服务器
    本教程为大家分享了Python搭建HTTP服务器和FTP服务器的具体步骤,供大家参考,具体内容如下 默认安装版本为pytho2.7 http服务器搭建教程: 进入要开放访问的目录下,执行命令:python ...
    99+
    2022-06-04
    服务器 Python HTTP
  • Python搭建简易HTTP服务(3.x
    原文转载地址:http://www.cnblogs.com/91allan/p/4889167.html 废话不多说,我们工作时经常会用到需要HTTP服务,如果不想搞那些复杂的Apache、IIS服务器等,这时我们就可以用python...
    99+
    2023-01-31
    简易 Python HTTP
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作