You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Beeware在Android设备上显示本地存储的图片?

在Beeware Android应用中显示本地存储图片的解决方案

问题背景

我开发了一款Beeware应用,需要在Android设备上显示本地存储中的.png图片。此前误以为Beeware的Toga GUI在Android平台既不支持ImageView也不支持WebView,且未找到兼容Beeware的第三方模块,因此寻求可行的解决方案。之前编写的代码在Windows环境可正常运行,但在Android设备上会崩溃(原代码及报错信息略)。

验证可行的解决方案

按照mhsmith的回答修正代码后,应用已能在Android设备上正常显示本地图片,以下是更新后的正确代码:

import toga
from toga import App, Box, MainWindow
from toga import ImageView, Image
from toga.style import Pack
from toga.style.pack import COLUMN, ROW, BOTTOM, TOP, LEFT

with open('/storage/emulated/0/documents/my_picture.bmp',"rb") as f:
    image_data = f.read()
image_bytes = bytes(image_data)


class HelloWorld(toga.App):
    def startup(self):
        main_box = toga.Box(style=Pack(direction=COLUMN))

        self.myImage = toga.images.Image(data=image_bytes)
        self.img=toga.ImageView(image=self.myImage)
        main_box.add(self.img)

        self.main_window = toga.MainWindow(title=self.formal_name)
        self.main_window.content = main_box
        self.main_window.show()

def main():
    return HelloWorld() 

内容的提问来源于stack exchange,提问作者Ariel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 11:37:09