gpt4 book ai didi

android - 如何在应用程序启动时设置我所有 Activity 的 ImageView 和 TextView ,而不是在 Activity 创建时

转载 作者:行者123 更新时间:2023-11-29 21:21:04 25 4
gpt4 key购买 nike

在用户登录后,在我的应用程序中,我有一个加载屏幕,我正在后台做一些准备工作。我下载了用户数据和产品类别,并将它们放在本地 SQLite 数据库中。

如何在此阶段为不同的 Activity 设置 ImageViews 源图像,而不是在创建 Activity 时加载它们?

例如,我有一个显示用户图像的滑动菜单,我希望用户打开滑动菜单时用户图像已经存在。我希望当用户打开“我的个人资料”时,他们的数据已经加载到那里。

我怎样才能做到这一点?

最佳答案

数据只会在创建 Activity 时显示。但是您可以做的是在后台加载图像位图并缓存它。当用户打开他的滑动菜单时,只需将其设置为 ImageView 而不是再次加载它。

您还可以使用 Universal Image Loader,它只会加载一次图像。

对于我的个人资料数据,您可以在显示加载屏幕时再次从服务器获取所有数据并将此数据保存在 SharedPreferences 或应用程序上下文中,当用户移动到我的个人资料时只需设置该数据到意见。

要加载图像位图,您可以使用以下函数在 asynctask 中调用它:

public static Bitmap loadBitmap(String url) {
Bitmap bitmap = null;
InputStream in = null;
BufferedOutputStream out = null;

try {
in = new BufferedInputStream(new URL(url).openStream(), IO_BUFFER_SIZE);

final ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
out = new BufferedOutputStream(dataStream, IO_BUFFER_SIZE);
copy(in, out);
out.flush();

final byte[] data = dataStream.toByteArray();
BitmapFactory.Options options = new BitmapFactory.Options();
//options.inSampleSize = 1;

bitmap = BitmapFactory.decodeByteArray(data, 0, data.length,options);
} catch (IOException e) {
Log.e(TAG, "Could not load Bitmap from: " + url);
} finally {
closeStream(in);
closeStream(out);
}

return bitmap;
}

供引用: How to load an ImageView by URL in Android?

要不然我找到这篇文章你可以试试

URL url = new URL(strUrl);
URLConnection connection = url.openConnection();
connection.setUseCaches(true);
Object response = connection.getContent();
if (response instanceof Bitmap) {
Bitmap bitmap = (Bitmap)response;
}

引用: Android image caching

关于android - 如何在应用程序启动时设置我所有 Activity 的 ImageView 和 TextView ,而不是在 Activity 创建时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20727411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com