使用 gomobile

问题描述

我正在使用 gomobile 将 Golang 代码转换为 Android。 当前的 Golang 代码支持桌面的 webvew 服务。 我还需要为 webview 平板电脑提供相同的服务(在平板电脑上使用 Chrome 浏览器)。

在golang的根目录下,我有以下目录:

TopProj/
       ui/
         public/
               index.html

我想确保通过访问 locahost: 浏览器将用户重定向到 index.html 页面

这是我在 go lang 中使用的 http 处理程序部分代码

staticFiles := http.FileServer(http.Dir("/"))
http.Handle("/",staticFiles)
http.ListenAndServe(":9090",handlers.LoggingHandler(os.Stdout,http.DefaultServeMux))

但是当我在平板电脑的 Chrome 浏览器中尝试“localhost:9090/”时,它会将我重定向到平板电脑的根目录。

是否有任何建议可以通过在平板电脑上的 chrome 浏览“localhost:9090”重定向到 index.html 页面

我的方法

我认为一种解决方法是将 ui 目录的内容移动到平板电脑根目录之一,例如“/sdcard/DCIM”。我做了一个如下的小例子,看起来很有效。

TABLET_ROOT_DIR/
               sdcard/
                     DCSIM/
                          index.html

并更新golang代码如下:

    staticFiles := http.StripPrefix("/",http.FileServer(http.Dir("/sdcard/DCIM")))
    http.Handle("/",staticFiles)
    http.ListenAndServe(":9090",http.DefaultServeMux))

但是使用这种方法,每次我们在 ui 目录中进行任何更改时,我们也应该更新平板电脑上的文件

另一种解决方法是将 ui 目录移动到资产目录,如本 thread 中所述。但是,不确定如何通过这种方法使用“http.FileServer”,或者是否有更好的“http.FileServer”替代品。

感谢您的任何建议或评论

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...