gpt4 book ai didi

java - 在android中的两个 Activity 之间保持数据更新

转载 作者:行者123 更新时间:2023-12-01 14:37:11 24 4
gpt4 key购买 nike

如何在两个 Android Activity 之间保持数据更新。我正在开发一个 Android 相册项目,其中主要 Activity 是相册 Activity (我可以在其中添加删除和重命名相册)。但是,当用户单击刚刚创建的其中一个相册时,我启动了一个照片 Activity Intent ,他可以在其中添加、删除和移动照片。所有操作都是在光 Activity 中针对相册完成的,并且我在这两个 Activity 中使用序列化将数据写回文本文件。问题是当我从照片 Activity 返回到主要 Activity 时,对特定相册进行一些更改。 mainactivity 不知道更新。

主 Activity 中的代码,用于在用户选择的特定相册上启动照片 Intent

albumGridView.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> parent, View v, int position, long id) {

//Toast.makeText(MainActivity.this, "" + position, Toast.LENGTH_SHORT).show();

Intent photoIntent = new Intent(MainActivity.this, Photo.class);
photoIntent.putExtra("userNode", user);

photoIntent.putExtra("position", position);
startActivity(photoIntent);

// Toast.makeText(MainActivity.this, position, Toast.LENGTH_SHORT).show();
}

});

你看到我传入了用户对象,它是添加、删除或移动的所有相册和照片节点的链表。它基本上是该用户的全部用户数据。因此,每当我启动时,用户节点的旧引用都会传递到照片 Intent 。我已经使用序列化实现了 readerUser() 和 writeUser 方法。我需要保持主 Activity 中用户对象的引用随着照片 Activity 中的所有更改而更新。

最佳答案

使用 contentProvider 提供对照片数据的唯一访问并实现Observer 设计模式。也就是说,在 ContentProvider 内部,当数据集由于 insertupdatedelete 发生更改时>,通知contentResolver;另一方面,用户必须通过调用getContentResolver().registerContentObserver

来注册通知

查看这些链接:

http://developer.android.com/reference/android/content/ContentProvider.html http://developer.android.com/reference/android/content/ContentResolver.html http://mylifewithandroid.blogspot.com/2008/03/observing-content.html

关于java - 在android中的两个 Activity 之间保持数据更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16381066/

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