微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Flutter应用中创建基于图像的Feed?

如何解决如何在Flutter应用中创建基于图像的Feed?

我正在尝试在Flutter上创建一个instagram风格的应用,这是Feed唯一的区别,该区别不是由用户上传图片生成的。 我已将要显示用户的所有文件上传到Cloud Storage。我尝试了两种显示提要的方法,但均失败了。

方法1 使用谷歌云功能 我试图模仿this。基本上,我试图使用云功能生成文件链接,然后将其馈送到Fire Store中的文档中,然后我将查询Firestore。我部署了谷歌云存储功能,尝试使用getSignedUrl,但之后却陷入了困境。我什至不知道如何减少URL的使用量,从而为每个URL制作文档

const functions = require('firebase-functions');


var admin = require("firebase-admin");

var serviceAccount =require("myname.json");

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),databaseURL: "myname.com"
});

/* const myFile = admin.storage().bucket().file('path/to/my/file');
myFile.getSignedUrl({action: 'read',expires: someDateObj}).then(urls => {
    const signedUrl = urls[0]
}); */


function getSignedUrl() {
    const gcs = require('@google-cloud/storage')({keyFilename: 'myname.json'});
// ...
const bucket = gcs.bucket(bucket);
const file = bucket.file(fileName);
return file.getSignedUrl({
  action: 'read',expires: '03-09-2491'
}).then(signedUrls => {
  // signedUrls[0] contains the file's public URL
});
    
}

方法2 在颤动中使用for循环 I tried to do what this guy did 我制作了一个包含所有文件名称的文本文件,然后将它们附加到链接。使用for循环,我能够生成基本的供稿,但它会重复图像并且最多显示10张图像。

while(i != numOfImages && i != imageNames.length) {
      String filePath = imageFolderPath + imageNames[i];
      // imageNames.shuffle();

      imageUrls.add(await getDownloadUrl(filePath));
      i++;
    }

    return imageUrls;
  }

有人可以帮助我解决方法1吗?

解决方法

好的,因此基本上可以在Firebase存储中上载图像(据我了解,这是您在第一种方法中所做的),如果应用程序可以访问Firebase存储,则可以使用图像的URL和网络图片小部件以加载图片。要创建提要,请获取图像URL列表,并使用ListView.builder生成网络图像列表并使用您加载的URL。您还可以使用cached network image获得更好的感觉和前端性能。

编辑:

这是获取imageURL solution

的方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。