android google官方的下拉刷新SwipeRefreshLayout

这里是简单的使用方法
参考了http://blog.csdn.net/skyunicorn/article/details/51802724 感谢

首先是AndroidManifest 增加权限 因为我为了测试网络请求

    <!--使用网络的权限-->
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <!--读写文件的权限-->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
    <!--在sdcard中创建/删除文件的权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>

我的网络请求类

public class Network {

    public static int download(String path, String save_path){
        int code = 0;
        try{
            URL url = new URL(path);
            URLConnection urlConnection = url.openConnection();
            InputStream iStream = urlConnection.getInputStream();
            FileOutputStream fileOutputStream = new FileOutputStream(save_path);
            byte[] buffer = new byte[1024];
            int byteread = 0;
            while ((byteread = iStream.read(buffer)) != -1) {
                fileOutputStream.write(buffer, 0, byteread);
            }
            fileOutputStream.close();
        }catch(IOException e)
        {

        }
        return code;
    }
}

我的activity

public class ReflushGoogle extends Activity implements SwipeRefreshLayout.OnRefreshListener {

    Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == 7)
            {
                //使下拉的动画消失,就是加载完毕的意思
                swipeRefreshLayout.setRefreshing(false);
            }
        }
    };

    private SwipeRefreshLayout swipeRefreshLayout = null;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.reflush_google);
        swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.reflush);
        swipeRefreshLayout.setOnRefreshListener(this);

        File file = new File(Environment.getExternalStorageDirectory().getPath() + "/android/demo/relushGoogle");
        if (!file.exists())
        {
            file.mkdirs();
            Log.i("xjxu", "创建文件夹");
        }
    }

    //松开执行了刷新之后
    @Override
    public void onRefresh() {
        new Thread()
        {
            @Override
            public void run() {
                super.run();
                Network.download("https://img-blog.csdn.net/20160701164218499", Environment.getExternalStorageDirectory().getPath() + "/android/demo/relushGoogle/test.gif");
                Log.i("xjxu", Environment.getExternalStorageDirectory().getPath() + "/android/demo/relushGoogle/test.gif");
                handler.sendEmptyMessage(7);
            }
        }.start();
    }
}

如果想要进行网络加载 必须是不同的线程
线程进行结束之后发送消息 进行处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值