我正在研究如何使用 gomobile 开发 android sdk,这是我的用例:
sdk 将处理文件下载并将其实时接收的内容发送到andoird,这怎么可能呢?
我尝试过这样的事情,返回一个 ReadCloser,然后 android 将从这个流中读取:
func DownloadFile(url string) (io.ReadCloser, error) {
// download the file
resp, err := http.Get(url)
if err != nil {
return nil, err
}
if resp.StatusCode != http.StatusOK {
err = errors.New(fmt.Sprintf("requesrting url [%s] error [%s]!", url, resp.Status))
return nil, err
}
return resp.Body, nil
}
但是从编译的java类中,甚至没有这个方法,为什么?
我试图返回一个通道,但结果相同,而不是在目标 java 类中编译的事件。
有没有更好的方法来做到这一点?gomobile是否支持回调(go sdk调用android注册的这个回调)?我几乎找不到有关该回调用法的任何文档。