Xlistview_聚合菜谱大全数据

public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{

    private XListView xlv;
   private int page=1;
    private boolean flag;
    private MyBaseadapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //http://apis.juhe.cn/cook/query?key=900eb2e99f3c7b21f3914aefa914a327&menu=%E8%A5%BF%E7%BA%A2%E6%9F%BF&rn=10&pn=3
        xlv = (XListView) findViewById(R.id.listview);
        xlv.setPullLoadEnable(true);
        xlv.setXListViewListener(this);
        data();
    }
    public void data(){
        jiexi("http://apis.juhe.cn/cook/query?key=900eb2e99f3c7b21f3914aefa914a327&menu=%E8%A5%BF%E7%BA%A2%E6%9F%BF&rn=10&pn="+page+"");
    }

    public void jiexi(String path){
        new AsyncTask<String, Void, String>() {
            @Override
            protected void onPostExecute(String s) {

                if (s!=null){
                    Gson gson=new Gson();
                    Bean bean = gson.fromJson(s, Bean.class);
                    List<Bean.ResultBean.DataBean> list = bean.getResult().getData();
                   // MyBaseadapter adapter= new MyBaseadapter(MainActivity.this, list);
                    if(adapter == null) {
                        adapter = new MyBaseadapter(MainActivity.this,list);
                        //3.将数据映射到ListView
                        xlv.setAdapter(adapter);
                    }else{
                        //将获取到的新数据添加到原来与adapter绑定集合里面
                        adapter.sss(list,flag);

                    }
                }
            }

            @Override
            protected String doInBackground(String... params) {
                try {
                    URL url=new URL(params[0]);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setRequestMethod("GET");
                    connection.setReadTimeout(3000);
                    connection.setConnectTimeout(3000);
                    int code = connection.getResponseCode();
                    if (code==200){
                        InputStream is = connection.getInputStream();
                        return  StreamTools.readFromNetWork(is);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }
        }.execute(path);

    }

    @Override
    public void onRefresh() {
        flag=false;
        ++page;
        data();
        xlv.stopRefresh(true);
    }

    @Override
    public void onLoadMore() {
        flag=true;
        ++page;
        data();
        xlv.stopLoadMore();
    }
}

MainActivity的一些方法是生成的重点注意第一行要实现Xlistview.IXListViewListener

public class MyBaseadapter extends BaseAdapter {
    private List<Bean.ResultBean.DataBean> list;
    private Context context;
    public MyBaseadapter(Context context,List<Bean.ResultBean.DataBean> list){
        this.context=context;
        this.list=list;

    }
    public void sss(List<Bean.ResultBean.DataBean> data, boolean flag){
        for (Bean.ResultBean.DataBean s: data) {
            if (flag){
                list.add(s);
            }else{
                list.add(0,s);
            }

        }
          notifyDataSetChanged();
    }
    @Override
    public int getCount() {
        return list!=null?list.size():0;
    }

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        convertView=View.inflate(context,R.layout.item,null);
        ImageView image= (ImageView) convertView.findViewById(R.id.image);
        TextView tv= (TextView) convertView.findViewById(R.id.tv);
        tv.setText(list.get(position).getTitle());
        ImageLoader.getInstance().displayImage(list.get(position).getAlbums().get(0),image,MyAppliction.getDiskImageoptoins());
        return convertView;
    }
}

还有几个类就不写了,不懂得看上一篇,imageloader那里面有

MyApplication是imageloader的一些代码,Bean,gson解析类

时间: 2024-12-17 21:51:22

Xlistview_聚合菜谱大全数据的相关文章

Android课设--菜谱大全应用系统

Android移动应用开发 课程设计报告 (2019-2020学年第一学期) 菜谱大全应用系统 系    别        信息与控制工程 专    业        计算机科学与技术 班    级        计算机1702 学    号       173230201 姓    名        王子瑞 指导教师        郭丹 完成时间         2019.12.5 评定成绩 目录 1. 背景 3 2.系统需求分析 3 2.1用例分析 3 1 用例名称:登录 3 2 用例名称:

解析聚合数据中的菜谱大全

1.首先你需要注册聚合数据,获取相应的KEY 如图: 2.得到相应的key后,我们就可以通过代码来获取数据了,具体代码如下: /** * 获取菜谱数据 */ public class CaiPumMenueActivity extends Activity { //配置您申请的KEY public static final String APPKEY = "82ca66***********49a93e5"; String apiAddress = "http://apis.

六、聚合函数、数据分组

1.AVG函数:求平均值. 需要注意的是:每个字段都必须使用一个AVG函数: select avg(id) as id_avg,avg(price) as price_avg from tb2; 如上,这样才能分别求出id和price的平均值. AVG函数忽略NULL. 2.COUNT函数:统计数量. 使用 COUNT(*) 对表中行的数目进行计数,不管表列中包含的是空值( NULL )还是非空值. 使用 COUNT(column) 对特定列中具有值的行进行计数,忽略NULL值. select

菜谱大全

上万种菜色供您选择 文章来源:http://www.haoservice.com/docs/30 支持格式: JSON/XML 请求方式: GET/POST 明文方式请求参数:   名称 类型 必填 说明   key string 是 API KEY   menu String 是 查询的菜谱名   pn Int 是 页码   rn Int 是 每页条数 密文方式请求参数:   名称 类型 必填 说明   IsEncrypt bool 是 是否密文传输方式   key string 是 API

聚合数据简易开发流程

聚合数据SDK简介 聚合数据SDK是一套基于Android/iOS开发的程序接口,目前已有Android.iOS版本.开发者可以使用该套SDK开发适用于Android/iOS系统移动设备的应用,通过调用SDK接口,可以轻松的访问聚合的所有数据和服务,构建功能丰富.交互性强的应用程序该SDK集成了平台上的大部分数据服务(除电商SDK.比价SDK.定位SDK外),开发者只需使用聚合SDK即可调用已经申请的数据,无需再针对不同数据编写程序,更方便用户快速开发. Android SDK V2.0 简易开

Mongodb中数据聚合之基本聚合函数count、distinct、group

在之前的文章<Mongodb中数据聚合之MapReduce>中,我们提到过Mongodb中进行数据聚合操作的一种方式--MapReduce,但是在大多数日常使用过程中,我们并不需要使用MapReduce来进行操作,不然有点杀鸡用牛刀的感觉,在这边文章中,我们就简单说说用自带的聚合函数进行数据聚合操作的实现. Mongodb中自带的基本聚合函数有三种:count.distinct和group.下面我们分别来讲述一下这三个基本聚合函数. (1)count 作用:简单统计集合中符合某种条件的文档数量

数据聚合(一)

在统计学中,聚合的定义指 使用基于多组观测结果的总结的统计替换多组观测结果 -- 来自 https://web.archive.org/web/20120112062156/http://www.r-bloggers.com/aggregation-and-restructuring-data-from-%E2%80%9Cr-in-action%E2%80%9D/ 预期的功能及实现 实现一个由分钟到年的聚合系统. 一.根据下一级数据聚合 比如小时的数据由分钟聚合,天的数据由小时聚合,周.月的数据

android源码大放送(实战开发必备),免费安卓demo源码,例子大全文件详细列表

免费安卓demo源码,例子大全文件详细列表 本列表源码永久免费下载地址:http://www.jiandaima.com/blog/android-demo 卷 yunpan 的文件夹 PATH 列表 卷序列号为 0000-73EC E:. │ jiandaima.com文件列表生成.bat │ 例子大全说明.txt │ 本例子永久更新地址~.url │ 目录列表2016.03.10更新.txt │ ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签

C#开源项目大全

商业协作和项目管理平台-TeamLab 网络视频会议软件-VMukti 驰骋工作流程引擎-ccflow [免费]正则表达式测试工具-Regex-Tester Windows-Phone-7-SDK Excel-读写组件-ExcelLibrary .NET集成开发环境-MonoDevelop 电话软交换机-FreeSWITCH 开源操作系统-Cosmos 坦克机器人战斗仿真引擎-Robocode GIS控件-MapWindow .NET的ORM框架-MyBatis.NET Web开发工具-Webb