在ListView和Web Services类之间传递对象

时间:2010-10-03 08:40:15

标签: android

我有一个A类负责从android中的Web服务获取数据,我有一个B类负责在android中创建和呈现List View

现在,一旦成功获取数据,我如何在List View上填充数据。 好吧,我有以下选项,但哪一个更好..(如果有人有任何其他,那么我不介意)

  

1)创建B级和B级的意图   传递需要的数据   填充

     

2)创建一个静态方法int Class   B将接受数据作为   参数和调用setListAdapter

在B类中,我使用Holder Patter来创建ListActivity。 (供Android样本中的List14.java参考)

1 个答案:

答案 0 :(得分:1)

选项#1 is not a good idea, IMHO

选项#2是不可能的,因为setListAdapter()不是静态方法。

A类的责任应该是从Web服务中获取并存储数据。在这里,“商店”可以是:

  • 数据库
  • 平面文件
  • 在自定义Application对象
  • 中缓存的数据
  • 数据缓存在静态数据成员中

然后,A类可以通知B类从商店获取数据。在这里,“通知”可以是:

  • 广播Intent
  • 使用PendingIntent
  • 中的createPendingResult()
  • 其他PendingIntent
  • A类通过bindService()在A类上注册的回调或侦听器对象,并使用后续本地服务API(假设A类为Service