全功能技能,有错误待改进

一、build.gradle加依赖app/build.gradle:32

    compile project(':imageloaderlibrary')
    compile 'com.google.code.gson:gson:2.2.4'
    compile project(':pullToRefreshlibrary')
    compile 'com.github.andyoom:draggrid:v1.0.1'

二、AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
    android:name="com.bwie.main.lianxi_01.app.imageloader"

三、创建基类Baseactivity与Basefragment

Baseactivity

//基类Activity
public abstract class BaseActivity extends AppCompatActivity{

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //创建一个方法
        init();
    }

    //初始化
    private void init() {
        setFullScreen();
        setContentView(initLayout());
        findView();
        setOnClickLisener();
        initData();
    }
    //设置点击事件
    protected abstract void setOnClickLisener();

    //初始化数据
    protected abstract void initData();

    //查找控件
    protected abstract void findView();

    //设置全屏
    protected abstract void setFullScreen();

    //填充布局
    protected abstract int initLayout();

    //全屏
    protected void fullScreen() {
        // 设置全屏
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
}

Basefragment

//基类Fragment
public abstract class BaseFragment extends Fragment{

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        //Inflate the layout for this fragment
        return initLayout(inflater, container);
    }

    //填充布局
    protected abstract View initLayout(LayoutInflater inflater, ViewGroup container);

4、activity_main

activity_main.xml 5秒跳转到 activity_show.xml ,实现渐变效果

public class MainActivity extends BaseActivity implements Animation.AnimationListener{

    //渐变动画
    private AlphaAnimation alphaAnimation;
    //根布局
    private RelativeLayout rlSplash;

    @Override
    protected void setOnClickLisener() {

    }

    @Override
    protected void initData() {
        //设置渐变时间
        alphaAnimation = new AlphaAnimation(0, 1);
        //设置跳转时间
        alphaAnimation.setDuration(2000);
        //设置跳转方法
        alphaAnimation.setAnimationListener(this);
        //开始渐变
        rlSplash.startAnimation(alphaAnimation);
    }

    @Override
    protected void findView() {
        //初始化控件
        rlSplash = (RelativeLayout) findViewById(R.id.rl_splash);
    }

    @Override
    protected void setFullScreen() {
        fullScreen();
    }

    @Override
    protected int initLayout() {
        return R.layout.activity_main;
    }

    @Override
    public void onAnimationStart(Animation animation) {

    }

    @Override
    public void onAnimationEnd(Animation animation) {
        //跳转
        Intent intent = new Intent(MainActivity.this,ShowActivity.class);
        startActivity(intent);
        finish();
    }

    @Override
    public void onAnimationRepeat(Animation animation) {

    }
}

五、ShowActivity

package com.bwie.main.lianxi_01.activity;

import android.support.annotation.IdRes;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.view.Gravity;
import android.view.View;
import android.widget.ImageView;
import android.widget.RadioGroup;

import com.bwie.main.lianxi_01.R;
import com.bwie.main.lianxi_01.adapter.MyFragmentAdapter;
import com.bwie.main.lianxi_01.fragment.Fragment1;
import com.bwie.main.lianxi_01.fragment.Fragment2;
import com.bwie.main.lianxi_01.fragment.Fragment3;
import com.bwie.main.lianxi_01.fragment.Fragment4;

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

//主页
public class ShowActivity extends BaseActivity {

    private DrawerLayout dra_layout;
    private ImageView img_shou;
    private ImageView img_shous;
    private ViewPager view_pager;
    private RadioGroup radio_group;
    private List<Fragment> list;
    private MyFragmentAdapter adapterf;


    //事件
    @Override
    protected void setOnClickLisener() {
        //点击主页的头像,打开侧边栏
        img_shou.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dra_layout.openDrawer(Gravity.LEFT);
            }
        });
        //点击侧边栏的头像,关闭侧边栏
        img_shous.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dra_layout.closeDrawer(Gravity.LEFT);
            }
        });
        //创建四个fragment,放入一个Fragment的集合里面
        Fragment1 fragment1 = new Fragment1();
        Fragment2 fragment2 = new Fragment2();
        Fragment3 fragment3 = new Fragment3();
        Fragment4 fragment4 = new Fragment4();
        list = new ArrayList<>();
        list.add(fragment1);
        list.add(fragment2);
        list.add(fragment3);
        list.add(fragment4);
        //创建适配器+设置适配器
        adapterf = new MyFragmentAdapter(getSupportFragmentManager(),list);
        view_pager.setAdapter(adapterf);
        //滑动viewpager,按钮跟着改变。
        view_pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                radio_group.check(radio_group.getChildAt(position).getId());
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
        //点击按钮,viewpager跟着改变。
        radio_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
                switch (checkedId){
                    case R.id.dd1:
                        view_pager.setCurrentItem(0);
                        break;
                    case R.id.dd2:
                        view_pager.setCurrentItem(1);
                        break;
                    case R.id.dd3:
                        view_pager.setCurrentItem(2);
                        break;
                    case R.id.dd4:
                        view_pager.setCurrentItem(3);
                        break;
                }
            }
        });

    }

    @Override
    protected void initData() {
        // 选中第一个页面

    }

    @Override
    protected void findView() {
        //初始化控件
        dra_layout = (DrawerLayout) findViewById(R.id.dra_layout);
        img_shou = (ImageView) findViewById(R.id.img_shou);
        img_shous = (ImageView) findViewById(R.id.img_shous);
        view_pager = (ViewPager) findViewById(R.id.view_pager);
        radio_group = (RadioGroup) findViewById(R.id.radio_group);
    }

    @Override
    protected void setFullScreen() {


    }
    //指定页面
    @Override
    protected int initLayout() {
        return R.layout.activity_show;
    }
}

6、三个adapter

fragment 的适配器MyFragmentAdapter

package com.bwie.main.lianxi_01.adapter;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import java.util.List;

/**
 * Created by admin on 2018/7/25.
 */

public class MyFragmentAdapter extends FragmentPagerAdapter{

    private List<Fragment> list;

    public MyFragmentAdapter(FragmentManager fm, List<Fragment> list) {
        super(fm);
        this.list = list;
    }

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

    @Override
    public int getCount() {
        return list.size();
    }
}

轮播的适配器MyImgAdapter

package com.bwie.main.lianxi_01.adapter;

import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import java.util.List;

/**
 * Created by admin on 2018/7/26.
 */

public class MyImgAdapter extends PagerAdapter{

    private Context context;
    private List<ImageView> list;

    public MyImgAdapter(Context context, List<ImageView> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    public int getCount() {
        return Integer.MAX_VALUE;
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        ImageView imageView = list.get(position%list.size());
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        container.addView(imageView);
        return imageView;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((View) object);
    }
}

数据库的适配器MyPullAdapter

package com.bwie.main.lianxi_01.adapter;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.bwei.imageloaderlibrary.utils.ImageLoaderUtils;
import com.bwie.main.lianxi_01.R;
import com.bwie.main.lianxi_01.bean.Pulllist;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.List;

/**
 * Created by admin on 2018/7/26.
 */

public class MyPullAdapter extends BaseAdapter{

    private Context context;
    private List<Pulllist.DataBean> list;

    public MyPullAdapter(Context context, List<Pulllist.DataBean> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @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) {
        ViewHolder holder = null;
        if (convertView == null){
            convertView = View.inflate(context, R.layout.include1,null);
            holder = new ViewHolder();
            holder.img_include = convertView.findViewById(R.id.img_include);
            holder.title_include = convertView.findViewById(R.id.title_include);
            convertView.setTag(holder);
        }else{
            holder = (ViewHolder) convertView.getTag();
        }
        //图片缓存路径
        DisplayImageOptions options = ImageLoaderUtils.getOptions();
        ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),holder.img_include,options);
        holder.title_include.setText(list.get(position).getTitle());
        return convertView;
    }

    public class ViewHolder{
        ImageView img_include;
        TextView title_include;
    }

}

7、imageloader

package com.bwie.main.lianxi_01.app;

import android.app.Application;

import com.bwei.imageloaderlibrary.utils.ImageLoaderUtils;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

/**
 * Created by admin on 2018/7/25.
 */

public class imageloader extends Application{
    @Override
    public void onCreate() {
        super.onCreate();
        //关联
        ImageLoaderConfiguration configuration = ImageLoaderUtils.getConfiguration(this);
        ImageLoader.getInstance().init(configuration);
    }
}

8、HttpUtils

package com.bwie.main.lianxi_01.utils;

import android.os.AsyncTask;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * Created by admin on 2018/7/25.
 */

public class HttpUtils {
    private  getdatajsonlisten getdatajsonlisten;
    private static   HttpUtils httpUtils;
    public  static  HttpUtils getinstance(){
        if(httpUtils==null){
            httpUtils =new HttpUtils();
        }
        return  httpUtils;
    }
    public  void  getdata(String url){
        Myasync myasync = new Myasync();
        myasync.execute(url);
    }
    public  class   Myasync extends AsyncTask<String,Integer,String> {

        @Override
        protected String doInBackground(String... params) {
            try {
                String path =params[0];
                URL url = new URL(path);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setConnectTimeout(5000);
                connection.setReadTimeout(5000);
                connection.setRequestMethod("GET");
                if(connection.getResponseCode()==200){
                    InputStream inputStream = connection.getInputStream();
                    ByteArrayOutputStream bos = new ByteArrayOutputStream();
                    byte[] bytes = new byte[1024];
                    int len =0;
                    while ((len=inputStream.read(bytes))!=-1){
                        bos.write(bytes,0,len);
                    }
                    inputStream.close();
                    bos.close();
                    String json = bos.toString();
                    return  json;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            getdatajsonlisten.datajson1(s);
        }
    }
    public interface  getdatajsonlisten{
        public  void  datajson1(String json);
    }
    public  void  setdatajsonlisten(getdatajsonlisten getdatajsonlisten){
        this.getdatajsonlisten =getdatajsonlisten;
    }
}

9、viewpager

package com.bwie.main.lianxi_01.vipager;

import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;

/**
 * Created by admin on 2018/7/25.
 */

public class viewpager extends ViewPager{

    public viewpager(Context context) {
        super(context);
    }

    public viewpager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected boolean dispatchGenericFocusedEvent(MotionEvent event) {
        return super.dispatchGenericFocusedEvent(event);
    }
}

10、三个bean包

数据库的

package com.bwie.main.lianxi_01.bean;

/**
 * Created by admin on 2018/7/28.
 */

public class Dbbean {
    private int id;
    private String url;
    private String json;

    public Dbbean() {
    }

    public Dbbean(String url, String json) {
        this.url = url;
        this.json = json;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getJson() {
        return json;
    }

    public void setJson(String json) {
        this.json = json;
    }

    @Override
    public String toString() {
        return "ShopBean{" +
                "id=" + id +
                ", url='" + url + '\'' +
                ", json='" + json + '\'' +
                '}';
    }
}

pull和imgloader的

11、数据库

Dbbean

package com.bwie.main.lianxi_01.bean;

/**
 * Created by admin on 2018/7/28.
 */

public class Dbbean {
    private int id;
    private String url;
    private String json;

    public Dbbean() {
    }

    public Dbbean(String url, String json) {
        this.url = url;
        this.json = json;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getJson() {
        return json;
    }

    public void setJson(String json) {
        this.json = json;
    }

    @Override
    public String toString() {
        return "ShopBean{" +
                "id=" + id +
                ", url='" + url + '\'' +
                ", json='" + json + '\'' +
                '}';
    }
}

Dao

package com.bwie.main.lianxi_01.db;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.bwie.main.lianxi_01.bean.Dbbean;

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

/**
 * Created by admin on 2018/7/28.
 */

public class Dao {

    private final SQLiteDatabase writableDatabase;

    public Dao(Context context) {
        MyHelper helper = new MyHelper(context);
        writableDatabase = helper.getWritableDatabase();
    }

    public List<Dbbean> cha(String url) {
        List<Dbbean> list = new ArrayList<>();
        Cursor cursor = writableDatabase.rawQuery("select * from shop where url = ?", new String[]{url});
        while(cursor.moveToNext()){
            String url1 = cursor.getString(cursor.getColumnIndex("url"));
            String json = cursor.getString(cursor.getColumnIndex("json"));
            list.add(new Dbbean(url1,json));
        }
        return list;
    }

    public void add(String url,String json){
        ContentValues values = new ContentValues();
        values.put("url",url);
        values.put("json",json);
        writableDatabase.replace("shop",null,values);
    }
}

MyHelper

package com.bwie.main.lianxi_01.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * Created by admin on 2018/7/28.
 */

public class MyHelper extends SQLiteOpenHelper{


    public MyHelper(Context context) {
        super(context, "bwie.db", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table shop(_id integer primary key autoincrement,url TEXT,json TEXT)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}

12、fragment的方法

Fragment1

package com.bwie.main.lianxi_01.fragment;

import android.os.Handler;
import android.os.Message;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Toast;

import com.andy.library.ChannelActivity;
import com.andy.library.ChannelBean;
import com.bwei.imageloaderlibrary.utils.ImageLoaderUtils;
import com.bwie.main.lianxi_01.R;
import com.bwie.main.lianxi_01.adapter.MyImgAdapter;
import com.bwie.main.lianxi_01.adapter.MyPullAdapter;
import com.bwie.main.lianxi_01.bean.Dbbean;
import com.bwie.main.lianxi_01.bean.Imglb;
import com.bwie.main.lianxi_01.bean.Pulllist;
import com.bwie.main.lianxi_01.db.ConUtils;
import com.bwie.main.lianxi_01.db.Dao;
import com.bwie.main.lianxi_01.utils.HttpUtils;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class Fragment1 extends BaseFragment {

    private View view;
    private ViewPager viewpager_lb;
    private List<ImageView> imglist = new ArrayList<>();
    private MyImgAdapter myImgAdapter;
    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == 0){
                String json = (String) msg.obj;
                Gson gson = new Gson();
                Imglb imglb = gson.fromJson(json, Imglb.class);
                List<Imglb.DataBean> dataimg = imglb.getData();
                for (int i = 0 ; i<dataimg.size() ; i++){
                    String s = dataimg.get(i).getImg();
                    ImageView imageView = new ImageView(getActivity());
                    DisplayImageOptions options = ImageLoaderUtils.getOptions();
                    ImageLoader.getInstance().displayImage(s,imageView,options);
                    imglist.add(imageView);
                }
                myImgAdapter = new MyImgAdapter(getActivity(),imglist);
                viewpager_lb.setAdapter(myImgAdapter);
            }else if (msg.what == 1){
                int i = viewpager_lb.getCurrentItem();
                i++;
                viewpager_lb.setCurrentItem(i);
                handler.sendEmptyMessageDelayed(1,2000);
            }
        }
    };
    private PullToRefreshListView pull_list;
    private int page = 1;
    private MyPullAdapter myPullAdapter;
    private List<Pulllist.DataBean> listpull = new ArrayList<>();
    private String paths = "http://www.xieast.com/api/news/news.php?page=";
    private TabLayout tab_layout;
    private List<String> list1;
    private ImageView img_gl;
    private String[] titles = {"推荐", "热点", "上海", "视频", "社会",
            "订阅", "娱乐", "图片", "科技", "汽车",
            "体育", "财经", "军事", "国际", "段子",
            "趣图", "美女", "健康", "正能量", "特卖",
            "中国好声音", "历史", "时尚", "辟谣", "探索", "美国",
            "搞笑", "故事", "奇葩", "情感"};
    private Dao dao;
    private String url = paths + page;

    //主方法
    @Override
    protected View initLayout(LayoutInflater inflater, ViewGroup container) {
        view = inflater.inflate(R.layout.frg1,container,false);
        //初始化控件
        tab_layout = view.findViewById(R.id.tab_layout);
        viewpager_lb = view.findViewById(R.id.viewpager_lb);
        pull_list = view.findViewById(R.id.pull_list);
        img_gl = view.findViewById(R.id.img_gl);
        //调用方法
        getfromtab();
        getservicelb();
        getfromnetpull();
        return view;
    }
    //导航栏操作
    private void getfromtab() {
        //导航栏:创建一个String集合,放入名称
        list1 = new ArrayList<>();
        list1.add("首页");
        list1.add("汽车");
        list1.add("彩票");
        list1.add("丁壳");
        //设置模式
        tab_layout.setTabMode(TabLayout.MODE_FIXED);
        //添加标签选项
        tab_layout.addTab(tab_layout.newTab().setText(list1.get(0)));
        tab_layout.addTab(tab_layout.newTab().setText(list1.get(1)));
        tab_layout.addTab(tab_layout.newTab().setText(list1.get(2)));
        tab_layout.addTab(tab_layout.newTab().setText(list1.get(3)));
        img_gl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                List<ChannelBean> lists = new ArrayList<>();
                for (int i = 0; i < 15; i++) {
                    //创建一个list需要的对象
                    ChannelBean bean = null;
                    if (i < 10) {
                        //前五个默认选中
                        bean = new ChannelBean(titles[i], true);
                    } else {
                        bean = new ChannelBean(titles[i], false);
                    }

                    lists.add(bean);
                }
                //跳转并传值
                ChannelActivity.startChannelActivity((AppCompatActivity) getActivity(), lists);
            }
        });
    }
    //写轮播操作
    private void getservicelb() {
        new Thread(){
            @Override
            public void run() {
                super.run();
                String pathh ="http://www.xieast.com/api/banner.php";
                try {
                    URL url = new URL(pathh);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setConnectTimeout(5000);
                    connection.setReadTimeout(5000);
                    connection.setRequestMethod("GET");
                    if (connection.getResponseCode() == 200){
                        InputStream inputStream = connection.getInputStream();
                        ByteArrayOutputStream bos = new ByteArrayOutputStream();
                        byte[] bytes = new byte[1024];
                        int len = 0 ;
                        while ((len = inputStream.read(bytes))!=-1){
                            bos.write(bytes,0,len);
                        }
                        inputStream.close();
                        bos.close();
                        String json = bos.toString();
                        Message message = new Message();
                        message.what=0;
                        message.obj=json;
                        handler.sendMessage(message);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();
    }
    //循环
    @Override
    public void onResume() {
        super.onResume();
        handler.sendEmptyMessageDelayed(1,2000);
    }
    //销毁,onDestroy起冲突,所以要用onPause来销毁
    @Override
    public void onDestroy() {
        super.onDestroy();
        handler.removeCallbacksAndMessages(null);
    }
    //销毁
    @Override
    public void onPause() {
        super.onPause();
        handler.removeCallbacksAndMessages(null);
    }
    //写主页pullreferase
    private void getfromnetpull() {
        //支持刷新和加载
        pull_list.setMode(PullToRefreshBase.Mode.BOTH);
        //创建监听方法
        pull_list.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                //下拉
                page =1;
                getfromnet();
            }
            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                //上拉
                page +=1;
                getfromnet();
            }
        });
        //创建+设置pull的适配器
        myPullAdapter = new MyPullAdapter(getActivity(),listpull);
        pull_list.setAdapter(myPullAdapter);
        //创建Dao方法,调用Dao方法里面的查询,并判断网络连接
        dao = new Dao(getActivity());
        List<Dbbean> cha = dao.cha(url);
        if(cha!=null){
            for (int i = 0; i <cha.size() ; i++) {
                Pulllist pulllist = preajson(cha.get(i).getJson());
                List<Pulllist.DataBean> data = pulllist.getData();
                listpull.addAll(data);
            }
        }else{
            if(ConUtils.iscon(getActivity())){
                getfromnet();
            }else{
                Toast.makeText(getActivity(),"请打开网络",Toast.LENGTH_SHORT).show();
            }
        }
    }
    //列表的解析
    private Pulllist preajson(String json) {
        Gson gson =  new Gson();
        return gson.fromJson(json,Pulllist.class);
    }

    //pull的数据操作
    private void getfromnet() {
        //解析
        HttpUtils httpUtils = HttpUtils.getinstance();
        httpUtils.getdata(url);
        httpUtils.setdatajsonlisten(new HttpUtils.getdatajsonlisten() {
            @Override
            public void datajson1(String json) {
                //保存数据到数据库
                dao.add(url,json);
                Gson gson = new Gson();
                Pulllist pulllist = gson.fromJson(json, Pulllist.class);
                List<Pulllist.DataBean> datapul = pulllist.getData();
                if (page == 1){
                    listpull.clear();
                }
                listpull.addAll(datapul);
                //刷新适配器.
                myPullAdapter.notifyDataSetChanged();
                //刷新完成
                pull_list.onRefreshComplete();
            }
        });
    }

}

Fragment2,3,4

package com.bwie.main.lianxi_01.fragment;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.bwie.main.lianxi_01.R;

public class Fragment2 extends BaseFragment {


    @Override
    protected View initLayout(LayoutInflater inflater, ViewGroup container) {
        View view = inflater.inflate(R.layout.frg2,container,false);
        return view;
    }
}

13、selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@color/colorAccent" />
    <item android:state_checked="false" android:drawable="@color/colorPrimary" />
</selector>

14、activity_show.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/dra_layout"
    tools:context="com.bwie.main.lianxi_01.activity.ShowActivity">

    <!-- 侧边页面-->
    <LinearLayout
        android:layout_width="300dp"
        android:layout_height="match_parent"
        android:background="#C0C0C0"
        android:layout_gravity="start"
        >

        <ImageView
            android:id="@+id/img_shous"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/ic_launcher"
            android:layout_marginTop="10dp"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_gravity="center_horizontal"
            android:gravity="center"
            android:text="侧边栏里面"
            android:textSize="25dp" />

    </LinearLayout>
    <!-- 主页面-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:background="#dd3">

            <ImageView
                android:id="@+id/img_shou"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                android:layout_marginTop="10dp"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_gravity="center_horizontal"
                android:gravity="center"
                android:text="首页"
                android:textSize="23dp" />

        </RelativeLayout>

        <android.support.v4.view.ViewPager
            android:id="@+id/view_pager"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="8" />

        <RadioGroup
            android:id="@+id/radio_group"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal">

            <RadioButton
                android:id="@+id/dd1"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:gravity="center"
                android:button="@null"
                android:background="@drawable/selector"
                android:text="丁壳"
                android:textColor="#FFFF00"
                android:textSize="28dp"
                />

            <RadioButton
                android:id="@+id/dd2"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:gravity="center"
                android:button="@null"
                android:background="@drawable/selector"
                android:text="大头"
                android:textColor="#FFFF00"
                android:textSize="28dp"
                />

            <RadioButton
                android:id="@+id/dd3"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:button="@null"
                android:background="@drawable/selector"
                android:gravity="center"
                android:text="奔扛"
                android:textColor="#FFFF00"
                android:textSize="28dp"
                />

            <RadioButton
                android:id="@+id/dd4"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:button="@null"
                android:background="@drawable/selector"
                android:gravity="center"
                android:text="保建"
                android:textColor="#FFFF00"
                android:textSize="28dp"
                />

        </RadioGroup>

    </LinearLayout>

</android.support.v4.widget.DrawerLayout>

15、frg1.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.bwie.main.lianxi_01.fragment.Fragment1"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">

        <android.support.design.widget.TabLayout
            android:id="@+id/tab_layout"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="9"/>

        <ImageView
            android:id="@+id/img_gl"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:src="@drawable/ic_add_box_black_24dp"/>


    </LinearLayout>


    <com.bwie.main.lianxi_01.vipager.viewpager
        android:id="@+id/viewpager_lb"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="4" />

    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/pull_list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="6" />

</LinearLayout>

16、include1.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/img_include"
        android:layout_width="120dp"
        android:layout_height="80dp"
        android:src="@drawable/ic_wb_auto_black_24dp"/>

    <TextView
        android:id="@+id/title_include"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="title_include"
        android:textSize="22dp"
        android:layout_marginTop="12dp"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/img_include"
        android:layout_toEndOf="@+id/img_include" />

</RelativeLayout>

17、四个fragment插件,res下的drawable,手动添加,右击new---vector Asset

猜你喜欢

转载自blog.csdn.net/QQ849410011/article/details/81259444
今日推荐