代码之家  ›  专栏  ›  技术社区  ›  Fattie

使用Glide,我可以更直接地获取字节数据吗?

  •  0
  • Fattie  · 技术社区  · 5 年前

    仅滑翔4.11+

    有了Glide,我可以做到这一点 获取位图 太棒了,

    protected void onActivityResult(int requestCode, int resultCode, Intent tent){
      super.onActivityResult(requestCode, resultCode, data);
      Glide.with(this).asBitmap()
      .load(tent.getData())
      .apply(new RequestOptions().override(300, 400))
      .into(new CustomTarget<Bitmap>() {
        @Override
        public void onResourceReady(@NonNull Bitmap glideBitmap,
                  @Nullable Transition<? super Bitmap> transition) {
    
          Log.i("c", "BAM! Just like that, a bitmap ...");
    

    令人惊叹的

    然而,我通常需要一个真正的咬数组,

    我这样做。。

    protected void onActivityResult(int requestCode, int resultCode, Intent tent){
      super.onActivityResult(requestCode, resultCode, data);
      Glide.with(this).asBitmap()
      .load(tent.getData())
      .apply(new RequestOptions().override(300, 400))
      .into(new CustomTarget<Bitmap>() {
        @Override
        public void onResourceReady(@NonNull Bitmap glideBitmap,
                  @Nullable Transition<? super Bitmap> transition) {
    
          // convert badly to a byte array...
    
          ByteArrayOutputStream baos = new ByteArrayOutputStream();
          glideBitmap.compress(Bitmap.CompressFormat.JPEG, 70, baos);
          byte[] byteData = baos.toByteArray();
    
          Log.i("c", "had to work for bytes :/ ...");
    

    我猜真正的机器人程序员会嘲笑我吗?

    有没有 更直接的方式 从Glide获取字节数组?


    用例-我用通常的拜泰斯方式将其发送到Firebase,

      UploadTask uploadTask = storeRef.putBytes(byteData);
    

    也许我是XY,可以滑翔返回 流动 ? 正如您所知,要发送到Firebase,您需要流或字节数据。如果是这样的话,很抱歉我是个蹩脚的ios开发者。

    0 回复  |  直到 5 年前
        1
  •  1
  •   sdex    5 年前

    你应该替换 asBitmap 具有 as(byte[].class) .