NanoHttpd是Github上的一个开源项目, 通过下载jar包,新建一个android project, 使用 extends NanoHTTPD 就可以实现一个apk 当WebServer。
示例为显示访问此server的Useragent 和将UA写入文件 import fi.iki.elonen.NanoHTTPD; public class UAsetHttpServer extends NanoHTTPD { public UAsetHttpServer() throws IOException { super(8080); } @Override public Response serve(IHTTPSession session) { System.out.println("UAsetHttpServer, method serve start-----"); String msg = "<html><body>\n"; msg += "<script> function getUa() {return navigator.userAgent; } document.write('browser.ua = ' + getUa()); </script>"; msg += "</body></html>\n"; if(session.getUri().equals("/")){ String ua = session.getHeaders().get("user-agent"); System.out.println("UAsetHttpServer, session.getHeaders()-----"+ua); try{ File file = new File("/data/local/tmp/useragent.txt"); FileOutputStream fs = new FileOutputStream(file); OutputStreamWriter ow = new OutputStreamWriter(fs); ow.write(ua); ow.close(); System.out.println("UAsetHttpServer, save useragent to file successfully."); }catch(Exception e){ System.out.println("UAsetHttpServer, save useragent to file error:"+e.getMessage()); } } return new NanoHTTPD.Response(msg); } }
调用的地方:
public class AndroidBrowserUAActivity extends Activity { private UAsetHttpServer server; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onResume() { super.onResume(); try { server = new UAsetHttpServer(); server.start(); } catch (IOException e) { e.printStackTrace(); server = null; } } @Override protected void onDestroy() { super.onDestroy(); if (server != null) { server.stop(); } } }
当以上的Server起来之后,使用地址http://127.0.0.1:8080/就可以访问。
相关推荐
public NanoHTTPD int port throws IOException Java代码 收藏代码 { myTcpPort port; final ServerSocket ss new ServerSocket myTcpPort ; Thread t new Thread new Runnable { public void run {...
首先,`Android Studio`是Google推出的一款强大的Android应用程序集成开发环境,它提供了代码编辑、调试、构建、测试等一系列功能,极大地提高了开发效率。 `NanoHTTPD`是一个轻量级的Java HTTP服务器库,它的特点...
总结来说,通过Android的Socket编程,我们可以构建一个简单的HTTP服务器,允许外部设备访问本地存储的HTML文件。这个过程中涉及Android权限管理、网络编程、HTTP协议解析以及可能的文件I/O操作。同时,结合特定的...
标题"android http server 服务"指的可能是在Android设备上构建一个小型的HTTP服务器,使得设备可以作为一个服务端,接收和处理来自其他设备的HTTP请求。 描述中的场景涉及到两台Android设备,一台作为热点主机,另...
总的来说,通过Android NanoHttpd,开发者可以轻松地在Android设备上搭建一个简单的HTTP服务器,为H5页面和其他客户端提供webservice功能。同时,配合AIDL,你可以实现更复杂的跨进程通信,构建更强大的Android应用...
在Android平台上,构建一个Java HTTP服务器是一个有趣且实用的技术挑战,尤其对于开发本地服务或测试网络功能的应用程序来说。这个项目可能涉及到以下关键知识点: 1. **Android基础知识**:理解Android应用程序的...
NanoHttpd是一个轻量级的HTTP服务器库,适用于Android开发者在移动设备上快速搭建本地服务器。这个库使得在Android应用中实现简单的...通过理解并实践NanoHttpd的使用,你可以提升在Android平台上构建网络服务的能力。
在Android平台上构建一个手机端服务器,能够实现诸如访问设备数据、在线播放手机视频等功能,是一项技术挑战但也充满可能性。这个项目以"androidasync"作为标签,意味着它可能使用了AndroidAsync库,这是一个专为...
在Android平台上创建一个HTTP服务器是一项有趣的挑战,因为它涉及到将服务器端的功能集成到移动设备中。在本篇中,我们将深入探讨如何在Android设备上搭建一个HTTP服务器,特别关注使用i-jetty-3.1库来实现这一目标...
在这个压缩包中,包含了一个经过修改的NanoHTTPD版本以及原版的源代码,供开发者在Android项目中使用。 NanoHTTPD是一个开源的HTTP服务器,它设计的目标是简单、快速和低内存占用。它的核心思想是将HTTP服务器的...
http server端模拟器
最后,`nanohttpd-2.3.1`版本的jar文件包含了NanoHttpd库的这个特定版本,可以直接在Android项目中作为依赖使用,无需构建源代码。在Android Studio中,可以通过添加以下依赖项到`build.gradle`文件来引入: ```...
在Android平台上,构建一个HttpServerTest项目涉及到许多关键知识点,主要涵盖了网络编程、服务器搭建以及资源分享等。本文将深入探讨这些技术要点。 首先,我们要理解Android系统如何支持HTTP服务器的实现。...
在手机上有一个功能,但是需要使用电脑控制什么时候开始这个功能,然后上网搜索,找到了AndServer可以满足要求,我只是实现了简单的功能,如果感兴趣的话,可以深入的研究一下。 地址如下:...
android_httpserver Android版本的HttpServer Android版本的HttpServer Android本地的httpServer服务器 支持get和post请求 处理方式和参考TestSample 核心代码参考lib_httpserver
Android Studio 读取SQL Server数据库中的数据,创建线程来获取SQL Server中的数据 ,在配置文件Androidmanifest.xml中添加<uses-permission android:name="android.permission.INTERNET"/>,否则无法网络连接的 亲...
《在Android上构建Web服务器:JKAndroidWebserver与NanoHTTPD的应用》 在移动设备上运行Web服务器的概念虽然看似不寻常,但在特定场景下却有着独特的应用价值。例如,开发者可能需要在Android设备上进行本地数据...
**Android Nanohttpd封装示例代码详解** 在Android开发中,有时我们需要在应用程序内部实现一个简单的HTTP服务器,以便提供本地数据或实现特定功能,如文件上传和下载。Nanohttpd是一个轻量级的HTTP服务器库,它...
压缩包中包含Client Android 端和Service 端,Service端采用apache-activemq-5.13.3最新的版本。Android端采用MQTT实现了消息的接收,接收消息的回调是messageArrived方法。 Server端的简要使用说明如下: 1、解压...