android面试归来 有问题考考大家 今天去面试,面试官问到这样的一个问题:要用ListView显示一些数据,这些数据是从网络上下载的,数据量很大的,需要一段时间,现在需要一边下载数据一边显示在ListView上面,请问如何实现? 这个问题我当时没有一点思路,不知道如何绑定数据到ListView并显示,现在问下各位朋友,有什么比较好的方法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ListView.setAdapter 用设配器把数据显示到ListView上,因为是从网上读数据就得用异步下载数据。 异步下载? AysncTask 么 这样子呢,下载的数据查询是分页查询,加载就一页一页数据的加载到listview里有点类似微博的显示。拖到页面底部再加载新的数据... 启动一个线程去下载,然后实时更新listview的adapter 1.使用ListView.setAdapter进行绑定数据,后台启动一个线程从网络获取数据,每获取到一段数据,然后发送一个handler对被绑定的Adapter进行setchanghed更新,这样就可以实现动态绑定数据。2.还有一种方法是从网络获取数据时,首先获取数据量的大小,在进行ListView绑定数据时,可以设置一些临时数据,当数据更新的时候 再替换原先的数据。 我个人介意使用第一种方法比较好,因为在数据量特别大的时候,一次性绑定太多的元素,会使系统运行缓慢 可以用AsyncTask前台更新界面,后台获取数据,并刷新adapter吧 使用Adapter绑定数据源显示,并且启动另一个线程下载数据,每次收到的数据量大于10条时调用setchangenotify通过adapter修改数据 这个很重要,一定做好异步下载,分页模式,和缓存模式这三个很重要就是做adapter的时候要特别注意 android 画图,白色背景中有一个透明的圆。(如果比较复杂,可加分) 华为 android如何确保广播接收者第一个接收到广播? android 标准 MUTE API 调用系统拍照后原留保的变量内容数据丢失 求助Android屏保的实现问题 android binder如何使用 Server returned HTTP response code: 503 for URL: 【不会了】gridview默认选中第N个怎么搞 百度地图定位失败,日记显示galaxy lib host missing meta-data 64位Ubuntu下adb命令不能使用 手机屏幕与pc机屏幕 同步
2.还有一种方法是从网络获取数据时,首先获取数据量的大小,在进行ListView绑定数据时,可以设置一些临时数据,当数据更新的时候 再替换原先的数据。
我个人介意使用第一种方法比较好,因为在数据量特别大的时候,一次性绑定太多的元素,会使系统运行缓慢
就是做adapter的时候要特别注意