首页主机资讯android nanohttpd如何处理GET请求

android nanohttpd如何处理GET请求

时间2025-09-26 18:02:03发布访客分类主机资讯浏览408
导读:NanoHTTPD是一个轻量级的Android HTTP服务器,用于处理HTTP请求 首先,确保已经在项目的build.gradle文件中添加了NanoHTTPD的依赖项: dependencies { implementati...

NanoHTTPD是一个轻量级的Android HTTP服务器,用于处理HTTP请求

  1. 首先,确保已经在项目的build.gradle文件中添加了NanoHTTPD的依赖项:
dependencies {

    implementation 'org.nanohttpd:nanohttpd:2.4.1'
}
    
  1. 创建一个名为MainActivity.java的新文件,并在其中添加以下代码:
import android.os.Bundle;
    
import android.util.Log;
    
import androidx.appcompat.app.AppCompatActivity;
    
import org.nanohttpd.server.NanoHTTPD;
    
import org.nanohttpd.server.Server;


public class MainActivity extends AppCompatActivity {
    

    private static final int PORT = 8080;
    
    private static final String TAG = "MainActivity";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
        super.onCreate(savedInstanceState);
    
        setContentView(R.layout.activity_main);
    

        startServer();

    }


    private void startServer() {
    
        new Thread(() ->
 {

            try {

                Server server = new NanoHTTPD(PORT) {
    
                    @Override
                    public Response serve(String uri, Method method, Map<
    String, String>
 headers,
                                           byte[] body) {

                        if (uri.equals("/")) {
    
                            return newFixedLengthResponse("Hello, World!", HttpStatus.SC_OK, "text/plain");

                        }
 else {
    
                            return newFixedLengthResponse("Not Found", HttpStatus.SC_NOT_FOUND, "text/plain");

                        }

                    }

                }
    ;
    
                server.start();
    
                Log.d(TAG, "Server started on port " + PORT);

            }
 catch (IOException e) {
    
                Log.e(TAG, "Error starting server", e);

            }

        }
    ).start();

    }

}
    

在这个示例中,我们创建了一个名为startServer的方法,该方法在一个新的线程中启动NanoHTTPD服务器。服务器监听8080端口。当用户访问根URL(“/”)时,服务器返回一个包含"Hello, World!"的文本响应。对于其他URL,服务器返回一个"Not Found"的响应。

  1. 运行应用程序。你应该能看到一个消息,指示服务器已在端口8080上启动。在浏览器或其他HTTP客户端中访问http://localhost:8080/,你应该看到"Hello, World!"的响应。对于其他URL,你将收到"Not Found"的响应。

请注意,由于Android不允许在主线程上运行网络操作,因此我们在一个单独的线程中启动了NanoHTTPD服务器。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: android nanohttpd如何处理GET请求
本文地址: https://pptw.com/jishu/708848.html
android uiautomator如何处理复杂界面 android uiautomator在回归测试中的应用

游客 回复需填写必要信息