Android:处理网络连接和listview

Android:处理网络连接和listview,android,listview,network-connection,Android,Listview,Network Connection,嗨,我不确定是否要实现这个特定场景,我需要一些建议。我有一个listview,我将通过服务器调用来更新它,如果它是少量数据,它会很快更新,如果我有5000条记录呢?我是否需要将它们加载到内存或数据库中,然后查询并更新listview?这方面的最佳做法是什么 假设当我下载数据时,突然出现网络中断?那么我将如何处理数据和更新listview?如果您有5000条记录,您不应该获取所有记录,您必须限制服务器上的查询,以便不发送所有记录 然后,您可以实现“显示更多或无止境”以在需要时从服务器带来更多数据

嗨,我不确定是否要实现这个特定场景,我需要一些建议。我有一个listview,我将通过服务器调用来更新它,如果它是少量数据,它会很快更新,如果我有5000条记录呢?我是否需要将它们加载到内存或数据库中,然后查询并更新listview?这方面的最佳做法是什么


假设当我下载数据时,突然出现网络中断?那么我将如何处理数据和更新listview?

如果您有5000条记录,您不应该获取所有记录,您必须限制服务器上的查询,以便不发送所有记录

然后,您可以实现“显示更多或无止境”以在需要时从服务器带来更多数据


我不确定是否有5K条记录,但众所周知,ListView可以很好地处理大量记录 使用有效的回收机制。有关详细说明,请参阅

现在,帮自己一个忙,用它来加载网络资源。它做得更好 在将记录异步加载到列表中的过程中,我们大多数人。。。在任何情况下,您使用的库或您自己的代码都必须从后台线程执行资源加载/联网。

您还应该对代码应用。使用取景器 这总是一个好主意。对于大量的记录来说,这变得至关重要。请用它。
应该是这样的


最后,如果您确实需要部分加载和加载更多功能,请阅读:



因此,首先我应该将它们加载到我的数据库中,然后更新listview?假设我用20条记录更新了我的listview,并且如果网络流量突然下降,我应该如何处理这种情况?如果我不想使用任何加载更多按钮或分页,我应该如何处理。当您激活“显示更多”时检查是否有互联网。如果没有internet连接,则不要求她连接到服务器。如果有互联网连接,你可以询问服务器。我认为如果你在有很多记录的情况下实现分页,你的应用程序会非常慢。
class ViewHolder {
    textView text1;
    Button button1;
}

class MyAdapter {
    public View getView(int position, View convertView, ViewGroup parent) {
         ViewHolder viewHolder = null;
         if (convertView==null){
              LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();
              convertView = inflater.inflate(layoutResourceId, parent, false);
              viewHolder = new ViewHolderItem();
              viewHolder.text1 = (TextView) convertView.findViewById(R.id.text1);
              viewHolder.button1 = (Button) convertView.findViewById(R.id.button1);
              ..........
              convertView.setTag(viewHolder);
         }
         viewHolder = (ViewHolderItem) convertView.getTag();
         ObjectItem objectItem = data[position];
         ..........
    }
}