带参数路径的刷新和加载

package com.baidu.zongxml;

import java.util.ArrayList;
import java.util.List;

import com.baidu.myutils.MyUtils;
import com.baway.adapter.MyAdapter;
import com.baway.vo.MyBooks;
import com.baway.vo.MyData;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;
import com.handmark.pulltorefresh.library.PullToRefreshGridView;

import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.GridView;

public class MainActivity extends Activity {

    private List<MyData> list_push;
    private List<MyData> list;
    private PullToRefreshGridView gv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        list_push = new ArrayList<MyData>();
        init();
    }

    private void init() {
        // 找到相应的控件
        gv = (PullToRefreshGridView) findViewById(R.id.gv);
        String yy="http://apis.juhe.cn/goodbook/query?key=9d6ef8c31647a206e05fcaff70527182&catalog_id=242&rn=10&rn=10";
        new MyTask().execute(0);

        gv.setOnRefreshListener(new OnRefreshListener2<GridView>() {
            // 下拉刷新加载
            public void onPullDownToRefresh(
                    PullToRefreshBase<GridView> refreshView) {
                new MyTask().execute(20);
                new MyAdapter(MainActivity.this, list_push).notifyDataSetChanged();
                gv.onRefreshComplete();
            }

            // 上拉加载跟多
            public void onPullUpToRefresh(
                    PullToRefreshBase<GridView> refreshView) {
                new MyTask2().execute(30);
                new MyAdapter(MainActivity.this, list_push).notifyDataSetChanged();
                gv.onRefreshComplete();
            }
        });

    }

    class MyTask extends AsyncTask<Integer, Integer, String> {

        @Override
        protected String doInBackground(Integer... params) {
            int str=params[0];
            String jstr=MyUtils.Check_j(str);
            return jstr;
        }

        @Override
        protected void onPostExecute(String result) {
            System.out.println(result+"========");
            Gson g=new Gson();
            MyBooks book=g.fromJson(result, MyBooks.class);
            List<MyData> list=book.getResult().getData();

            gv.setAdapter(new MyAdapter(MainActivity.this, list));
            super.onPostExecute(result);
        }

    }
    class MyTask2 extends AsyncTask<Integer, Integer, String> {

        @Override
        protected String doInBackground(Integer... params) {
            int str=params[0];
            String jstr=MyUtils.Check_j(str);
            return jstr;
        }

        @Override
        protected void onPostExecute(String result) {
            System.out.println(result+"========");
            Gson g=new Gson();
            MyBooks book=g.fromJson(result, MyBooks.class);
            list = book.getResult().getData();

            list_push.addAll(list);
            gv.setAdapter(new MyAdapter(MainActivity.this, list_push));

            super.onPostExecute(result);
        }

    }

}

//请求数据

package com.baidu.myutils;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class MyUtils {

    //设置请求的数据路径
    public static String J_Url="http://apis.juhe.cn/goodbook/query?key=9d6ef8c31647a206e05fcaff70527182";

    public static String Check_j(int pn){
        String str="";
        StringBuffer sb=new StringBuffer(J_Url+"&catalog_id=242&pn="+pn+"&rn=20");
        try {
            URL j_url=new URL(sb.toString());

            HttpURLConnection connection=(HttpURLConnection) j_url.openConnection();
            connection.setConnectTimeout(5000);
            connection.setReadTimeout(5000);
            if(connection.getResponseCode()==200){

                BufferedReader br=new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8") );
                str=br.readLine();
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return str;
    }

}
时间: 2024-08-24 13:50:14

带参数路径的刷新和加载的相关文章

Android之RecyclerView轻松实现下拉刷新和加载更多

今天研究了下RecyclerView的滑动事件,特别是下拉刷新和加载更多事件,在现在几乎所有的APP显示数据列表时都用到了.自定义RecyclerView下拉刷新和加载更多听上去很复杂,实际上并不难,只要是对滑动事件的监听和处理. 一.自定义RecyclerView实现下拉刷新和加载更多 1.如何判断RecyclerView是在上滑还是下滑 在RecyclerView的OnScrollListener滑动事件监听中有个好用的方法,就是onScrolled(RecyclerView recycle

自己封装的工具类,使用原生SwipeRefreshLayout+RecycleView实现下拉刷新和加载更多

实现SwipeRefreshLayout+RecycleView实现刷新 在你的xml文件里写上如下代码: <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/SwipeRefreshLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <andr

iOS 下拉刷新和加载更多 (OC\Swift)

Swift语言出来之后, 可能还没有第三方的下拉刷新和上提加载, 所以自己用UIRefreshControl控件和UITableView实例的tableFooterView(底部视图)属性结合起来写了一个下拉刷新和点击加载更多的基本实现, 分为OC的代码实现和Swift的代码实现, 希望大家可以指出不足: Swift代码: 1 import UIKit 2 3 class ViewController: UITableViewController { 4 5 // 用于显示的数据源 6 var

IOS中的tableView刷新和加载数据的技巧

WEAK_SELF(vc); [self.tableView addLegendFooterWithRefreshingBlock:^{ vc.pageIndex++; [vc httpRequestWithPageIndex:vc.pageIndex]; }]; [self.tableView addLegendHeaderWithRefreshingBlock:^{ vc.pageIndex = 0; [vc.dataArray removeAllObjects]; [vc httpRequ

PullToRefreshListView的刷新和加载的控制

     pullToRefresh.setMode(Mode.BOTH);   Mode.BOTH:同时支持上拉下拉 Mode.PULL_FROM_START:只支持下拉Pulling Down Mode.PULL_FROM_END:只支持上拉Pulling Up

10年Android老司机教你打造独一无二的刷新加载框架

首先我们给出如下几个参数,后面要用: 10年Android老司机教你打造独一无二的刷新加载框架既然是刷新,我们的滚动肯定是在 父view 之前的.所以我们需要在 onNestedPreScroll 这个方法里面写上我们所需要改动的x,y值. 我们需要用 父view 去拦截它.我们需要判断 dy 的值是否大于0,因为大于0是刷新操作,小于0是加载操作.然后我们需要判断 recyclerview 是否是纵向的而不是横向的. 10年Android老司机教你打造独一无二的刷新加载框架上拉加载 上面我也说

Android Demo 下拉刷新+加载更多+滑动删除

小伙伴们在逛淘宝或者是各种app上,都可以看到这样的功能,下拉刷新和加载更多以及滑动删除,刷新,指刷洗之后使之变新,比喻突破旧的而创造出新的,比如在手机上浏览新闻的时候,使用下拉刷新的功能,我们可以第一时间掌握最新消息,加载更多是什么nie,简单来说就是在网页上逛淘宝的时候,我们可以点击下一页来满足我们更多的需求,但是在手机端就不一样了,没有上下页,怎么办nie,方法总比困难多,细心的小伙伴可能会发现,在手机端中,有加载更多来满足我们的要求,其实加载更多也是分页的一种体现.小伙伴在使用手机版QQ

Android UI--自定义ListView(实现下拉刷新+加载更多)

http://blog.csdn.net/wwj_748/article/details/12512885 Android UI--自定义ListView(实现下拉刷新+加载更多) 关于实现ListView下拉刷新和加载更多的实现,我想网上一搜就一堆.不过我就没发现比较实用的,要不就是实现起来太复杂,要不就是不健全的.因为小巫近期要开发新浪微博客户端,需要实现ListView的下拉刷新,所以就想把这个UI整合到项目当中去,这里只是一个demo,可以根据项目的需要进行修改. 就不要太在乎界面了哈:

js上传文件带参数,并且,返回给前台文件路径,解析上传的xml文件,存储到数据库中

ajaxfileupload.js jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId = 'jUploadFrame' + id; if(window.ActiveXObject) { var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '&qu