【问题标题】:Get binary data in byte[] array from a url in android (Flatbuffers)从 android (Flatbuffers) 中的 url 获取 byte[] 数组中的二进制数据
【发布时间】:2015-12-04 07:45:49
【问题描述】:

到目前为止我的代码

Globals.GET(Globals.GET_WORDS_URL, new Globals.VolleyCallback() {

        @Override
        public void onSuccess(String result) {
            byte[] bytes = result.getBytes();
            loadFlatBuffer(bytes);
        }

        @Override
        public void onFail(String result) {

        }
    });

我将它作为字符串获取,然后将其转换为字节数组。

我想要什么

我希望它在 Byte[] 数组 中,而不是 string

它是一个从 url 获取字节的 .bin 文件

【问题讨论】:

    标签: java android url android-volley flatbuffers


    【解决方案1】:

    如果您使用 Volley,根据您的要求,我建议您创建一个自定义请求,如下所示

    public class BinaryRequest extends Request<byte[]>
    

    您可以在以下位置找到有关创建自定义请求的更多详细信息

    Google's training documentation - Implementing a Custom Request

    然后在您的应用程序中,使用如下:

        BinaryRequest binaryRequest = new BinaryRequest(method, url, new Response.Listener<byte[]>() {
                @Override
                public void onResponse(byte[] response) {
                    //do something...
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    //do something...
                }
        });
    

    希望这会有所帮助!

    【讨论】:

    • 第一个参数“method”是干什么用的?
    • 它是一个整数,0 是 GET,1 是 POST :)
    • 可以参考我的 BinaryRequest.java 的源代码drive.google.com/file/d/0B7ivmSFu7UqZSVlVbXFBdWpNdjA/…
    • 不...它没有进入响应方法
    • 应该调用 onResponse 或 onError,请发布您的新代码,或者如果您的服务器 Url 已在 Internet 上发布,请将其发布,以便我查看更多信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 1970-01-01
    相关资源
    最近更新 更多