在安卓设备上使用nodejs作为服务器?

时间:2016-10-20 04:07:26

标签: android node.js android-studio

我正在制作一个在android设备上使用nodejs作为服务器的应用程序。服务器将处理req并通过他们的网络浏览器将html界面返回到桌面客户端,但我不知道从Android工作室开始什么。

2 个答案:

答案 0 :(得分:1)

按照link进行操作。这将有助于您入门。您需要安装一个像 termux 这样的终端,它可以充当终端来安装所有必需的东西。在节点js中正确安装了你的Android设备然后你可以通过知道它的IP地址和服务器端口从桌面到你的Android设备做请求

根据您的评论,您的设备 rooted ,然后您可以通过java执行终端命令。你需要抓住 su 标准输入并以这种方式运行命令from

try{
    Process su = Runtime.getRuntime().exec("su");
    DataOutputStream outputStream = new DataOutputStream(su.getOutputStream());

    outputStream.writeBytes("Your command to start your nodejs server");
    outputStream.flush();

    outputStream.writeBytes("exit\n");
    outputStream.flush();
    su.waitFor();
}catch(IOException e){
    throw new Exception(e);
}catch(InterruptedException e){
    throw new Exception(e);
}

答案 1 :(得分:0)

我猜,你想在Android应用中使用服务器返回的加载html。如果是这种情况,您只需创建一个包含webview的活动,并加载您在应用中加载的相同网址。

您可以按照此文档https://developer.android.com/guide/webapps/webview.html加载网址。

简单地说,有一个带webview的布局

<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>

并在活动中加载您的服务器网址。

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");

如果你想处理该html中的所有链接都在同一个应用程序中打开,请遵循Clicking URLs opens default browser

但是这和somone在Android手机浏览器中打开url一样好,为了提供更好的体验,服务器应该能够以JSON或XML或任何其他数据格式提供数据,你应该能够构建该数据的原生应用程序。

如果这不是你想要的,请道歉。