Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在谷歌应用程序引擎的android应用程序中显示图像?_Android_Google App Engine - Fatal编程技术网

如何在谷歌应用程序引擎的android应用程序中显示图像?

如何在谷歌应用程序引擎的android应用程序中显示图像?,android,google-app-engine,Android,Google App Engine,作为android开发的新手,我必须开发应用程序,其中包括谷歌应用程序引擎。我想做的是从谷歌应用程序引擎云中获取图像,并在android应用程序中显示。我无法将该图像从云端提取到android 请帮忙 谢谢,您应该检查并使用Google App Engine实现动态图像服务器 在这里你可以找到一个Java程序的例子,它可以很容易地移植到你的Android开发中我对Mahesh的回答犹豫不决,因为尽管它提供了一些客户端代码,但这些代码还不够,而且与较新的库的功能相比实在是不够 我认为最困难的部分是

作为android开发的新手,我必须开发应用程序,其中包括谷歌应用程序引擎。我想做的是从谷歌应用程序引擎云中获取图像,并在android应用程序中显示。我无法将该图像从云端提取到android

请帮忙


谢谢,

您应该检查并使用Google App Engine实现动态图像服务器


在这里你可以找到一个Java程序的例子,它可以很容易地移植到你的Android开发中

我对Mahesh的回答犹豫不决,因为尽管它提供了一些客户端代码,但这些代码还不够,而且与较新的库的功能相比实在是不够

我认为最困难的部分是客户,所以我认为选择一个好的客户库是很重要的。所以,你应该看看截击和毕加索,看看什么最适合你的需要

我认为相比之下,你会发现服务器端很简单,你也应该看看谷歌云存储

另外,既然你提到你是新手,我建议你避免一个常见的错误,自动选择谷歌图书馆/服务(在这种情况下是截击)。谷歌图书馆往往不如人们预期的那么好(而且它们的文档比人们预期的要差得多)。我没有用过毕加索,但它来自Square,他们对Android的贡献备受推崇。

您可以利用它将数据存储(包括blobproperty中存储的图像)发送到Android客户端,然后显示它们。您可以阅读GoogleCloud端点的详细信息,其中还包含示例代码和其他SO线程,以了解如何通过基于端点的RESTAPI设置android和appengine数据存储之间的通信。我在下面仅添加blobproperty的详细信息,因为文档中未详细提及:

1,要通过端点发送blobproperty,您需要使用将自动将pic发送为base64编码的

2,在android中,您定义了一个字符串属性来通过端点接收消息中的bytesfield数据

@com.google.api.client.util.Key
    private String pic;
3、如果您在android中使用sqlite在本地存储接收到的图像,您应该在pic列
C_pic+“blob
中使用blob类型,并且您可以将接收到的字符串值插入其中

4、在从android的sqlite数据库读取以进行显示时,您可以将pic存储到一个字节[],然后将base64编码的pic解码为另一个字节[],然后将其转换为位图并使用合适的imageview显示:

byte[] picblob = cursor.getBlob(cursor.getColumnIndex(Yourdatabase.C_PIC));

if (picblob!=null){
                byte[] decodedString = Base64.decode(picblob, Base64.DEFAULT);
               Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);

        ((ImageView)view).setImageBitmap(decodedByte);
}

您是将图像存储为数据存储的blob属性还是使用google云存储?使用数据存储的blob属性