倒计时+DrawerLayout+TabLayout+PullToRefreshListView+xlistview+频道管理+数据库+网络+FlyBanner


MainActivity


    package com.example.yuekao1;
    
    import android.content.Intent;
    import android.os.Handler;
    import android.os.Message;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.Window;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity {
        private TextView text;
        private ImageView image;
        private  int time=3;
        private Handler handler=new Handler(){
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                if (time>0){
                    time- -;
                    text.setText(time+"s");
                    handler.sendEmptyMessageDelayed(1,2000);
                }else {
                    Intent intent=new Intent(MainActivity.this,Main2Activity.class);
                    startActivity(intent);
                }
            }
        };
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //去掉标题
            setContentView(R.layout.activity_main);
            //获取资源
            text=findViewById(R.id.text);
            image=findViewById(R.id.image);
            //发消息
          handler.sendEmptyMessageDelayed(1,2000);
        }
    }

Main2Activity


    package com.example.yuekao1;
    
    import android.os.Bundle;
    import android.support.annotation.NonNull;
    import android.support.design.widget.FloatingActionButton;
    import android.support.design.widget.Snackbar;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentPagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.support.v4.widget.DrawerLayout;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.Toolbar;
    import android.view.View;
    import android.view.Window;
    import android.widget.RadioGroup;
    import android.widget.Toast;
    
    import com.example.yuekao1.fragments.Fragment1;
    import com.example.yuekao1.fragments.Fragment2;
    import com.example.yuekao1.fragments.Fragment3;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class Main2Activity extends AppCompatActivity {
        private DrawerLayout drawlayout;
        private RadioGroup group;
        private ViewPager viewPager;
        private List<Fragment> list=new ArrayList<>();
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main2);
            //获取资源
            drawlayout=findViewById(R.id.drawlayout);
            group=findViewById(R.id.group);
            viewPager=findViewById(R.id.viewpager);
            //设置侧拉监听
            drawlayout.addDrawerListener(new DrawerLayout.DrawerListener() {
                @Override
                public void onDrawerSlide(@NonNull View view, float v) {
                }
                @Override
                public void onDrawerOpened(@NonNull View view) {
                }
                @Override
                public void onDrawerClosed(@NonNull View view) {
                    Toast.makeText(Main2Activity.this,"我被关闭了",Toast.LENGTH_LONG).show();
                }
                @Override
                public void onDrawerStateChanged(int i) {
                }
            });
            list.add(new Fragment1());
            list.add(new Fragment2());
            list.add(new Fragment3());
            //适配器
            viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
                @Override
                public Fragment getItem(int i) {
                    return list.get(i);
                }
                @Override
                public int getCount() {
                    return list.size();
                }
            });
            group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(RadioGroup group, int checkedId) {
                    switch (checkedId){
                        case R.id.but1:
                            viewPager.setCurrentItem(0);
                            break;
                        case R.id.but2:
                            viewPager.setCurrentItem(1);
                            break;
                        case R.id.but3:
                            viewPager.setCurrentItem(2);
                            break;
                    }
                }
            });
        }
    
    }

Fragment1********


    package com.example.yuekao1.fragments;
    
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.annotation.NonNull;
    import android.support.annotation.Nullable;
    import android.support.design.widget.TabLayout;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentPagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    
    
    import com.andy.library.ChannelActivity;
    import com.andy.library.ChannelBean;
    import com.example.yuekao1.R;
    import com.google.gson.Gson;
    import com.google.gson.reflect.TypeToken;
    
    import java.lang.reflect.Type;
    import java.util.ArrayList;
    import java.util.List;
    
    import static com.andy.library.ChannelActivity.REQUEST_CODE;
    import static com.andy.library.ChannelActivity.RESULT_JSON_KEY;
    
    public class Fragment1 extends Fragment {
        private TabLayout tabLayout;
        private ViewPager pager;
        private PagerAdapter pagerAdapter ;
        private Button but;
        private String jsonStr = "";
        ArrayList<Fragment> list = new ArrayList<Fragment>();
        private ArrayList<ChannelBean> channelBeanlist;
        private View view;
        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            view = inflater.inflate(R.layout.fragment1,container,false);
            return view;
        }
        @Override
        public void onActivityCreated(@Nullable Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
            initVeiw();
            initData();
        }
        private void initVeiw() {
            tabLayout=view.findViewById(R.id.tablayout);
            pager=view.findViewById(R.id.pager);
            but=view.findViewById(R.id.but);
        }
        private void initData() {
            pagerAdapter=new PagerAdapter(getChildFragmentManager());
            pager.setAdapter( pagerAdapter);
            channelBeanlist=new ArrayList<>();
            channelBeanlist.add(new ChannelBean("标题1",true));
            channelBeanlist.add(new ChannelBean("标题2",true));
            channelBeanlist.add(new ChannelBean("标题3",true));
            channelBeanlist.add(new ChannelBean("标题4",false));
            channelBeanlist.add(new ChannelBean("标题5",false));
            channelBeanlist.add(new ChannelBean("标题6",false));
            pagerAdapter.setData(isSelectPD(channelBeanlist));
            //联动
            tabLayout.setupWithViewPager(pager);
            but.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Gson gson = new Gson();
                    String jsonArray = gson.toJson(channelBeanlist);
                    Intent intent = new Intent(getActivity(), ChannelActivity.class);
                    intent.putExtra(RESULT_JSON_KEY, jsonArray);
                    startActivityForResult(intent, REQUEST_CODE);
                }
            });
        }
        public List<ChannelBean> isSelectPD(List<ChannelBean> list){
            List<ChannelBean> isok = new ArrayList<>();
            for (int i = 0;i<list.size();i++){
                if(list.get(i).isSelect()){
                    isok.add(list.get(i));
                }
            }
            return isok;
        }
        @Override
        public void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if(requestCode == ChannelActivity.REQUEST_CODE && resultCode == ChannelActivity.RESULT_CODE){
                //获取tab要展示的内容
                jsonStr = data.getStringExtra(ChannelActivity.RESULT_JSON_KEY);
                //清空之前的栏目
                tabLayout.removeAllTabs();
                Type type=new TypeToken<ArrayList<ChannelBean>>(){}.getType();
                channelBeanlist = new Gson().fromJson(jsonStr,type);
                //传给适配器
               pagerAdapter.setData(isSelectPD(channelBeanlist));
                tabLayout.setupWithViewPager(pager);
            }
        }
        private  class  PagerAdapter extends FragmentPagerAdapter{
            private List<ChannelBean> list = new ArrayList<>();
            public PagerAdapter(FragmentManager fm) {
                super(fm);
            }
            public void setData(List<ChannelBean> list) {
                this.list = list;
                notifyDataSetChanged();
            }
            @Override
            public Fragment getItem(int i) {
                switch (i) {
                    case 0:
                        return new Fragment1_0();
                    case 1:
                        return new Fragment1_1();
                    case 2:
                        return new Fragment1_2();
                     default:
                         return new Fragment1_2();
                }
            }
            @Override
            public int getCount() {
                return list.size();
            }
            @Nullable
            @Override
            public CharSequence getPageTitle(int position) {
                return list.get(position).getName();
            }
        }
    }

Fragment1_0*****


    package com.example.yuekao1.fragments;
    
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.support.annotation.NonNull;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ListView;
    import android.widget.Toast;
    
    import com.example.yuekao1.R;
    import com.example.yuekao1.adpter.MyAdapter;
    import com.example.yuekao1.bean.MyBean;
    import com.example.yuekao1.db.Dao;
    import com.example.yuekao1.utils.NetWork;
    import com.google.gson.Gson;
    import com.handmark.pulltorefresh.library.PullToRefreshBase;
    import com.handmark.pulltorefresh.library.PullToRefreshListView;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.List;
    
    public class Fragment1_0 extends Fragment {
        private String url = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
        private PullToRefreshListView pv;
        private int page;
        List<MyBean.DataBean> list = new ArrayList<>();
        private MyAdapter adapter;
        private Dao dao;
        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.fragment1_0, container, false);
            pv = view.findViewById(R.id.pv);
            dao = new Dao(getActivity());
            return view;
        }
        @Override
        public void onActivityCreated(@Nullable Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
            //初始化
            initpv();
            //请求网络
            requstNetDtata(page);
        }
        private void requstNetDtata(int page) {
            //调用网络判断
            boolean connection = NetWork.isConnection(getActivity());
            if (connection) {//有网
                String urls = url + page;
                new MyTask().execute(urls);\
            } else {
                Toast.makeText(getActivity(), "请检查网络再试", Toast.LENGTH_LONG).show();
                //根据url地址。从数据库中获取数据
                String jsonData = dao.queryData(url);//调取数据库查询的方法
                if (!"".equals(jsonData)) {
                    Gson gson = new Gson();
                    MyBean myBean = gson.fromJson(jsonData, MyBean.class);
                    List<MyBean.DataBean> data = myBean.getData();
                    list.addAll(data);
                    setLvAdapter();
                    //关闭上下拉刷新
                    pv.onRefreshComplete();
                }
            }
        }
        private void initpv() {
            //1设置模式 支持上拉加载 下拉刷新
            pv.setMode(PullToRefreshBase.Mode.BOTH);
            //监听
            pv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
                @Override
                public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                    list.clear();
                    requstNetDtata(page);
                }
                @Override
                public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                    page++;
                    requstNetDtata(page);
                }
            });
        }
        //异步请求
        class MyTask extends AsyncTask<String, Void, String> {
            @Override
            protected String doInBackground(String... strings) {
                String str = "";
                try {
                    URL url = new URL(strings[0]);
                    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                    urlConnection.setReadTimeout(1000);
                    urlConnection.setConnectTimeout(1000);
                    urlConnection.setRequestMethod("GET");
                    if (urlConnection.getResponseCode() == 200) {
                        InputStream inputStream = urlConnection.getInputStream();
                        str = stramTostring(inputStream);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return str;
            }
            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                //将请求下来的json数据缓存在数据库中
                dao.add(url, s);
                Gson gson = new Gson();
                MyBean myBean = gson.fromJson(s, MyBean.class);
                List<MyBean.DataBean> data = myBean.getData();
                list.addAll(data);
                setLvAdapter();
                //关闭上下拉刷新
                pv.onRefreshComplete();
            }
        }
        public String stramTostring(InputStream stream) throws IOException {
            StringBuilder stringBuilder = new StringBuilder();
            BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
            String timp;
            try {
                while ((timp = reader.readLine()) != null) {
                    stringBuilder.append(timp);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            return stringBuilder.toString();
        }
        public void setLvAdapter() {
            adapter = new MyAdapter(list, getActivity());
            pv.setAdapter(adapter);
            adapter.notifyDataSetChanged();
    
        }
    
    }

Fragment1_1 ******


    package com.example.yuekao1.fragments;
    
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.support.annotation.NonNull;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.ImageView;
    import android.widget.ListView;
    import android.widget.TextView;
    import android.widget.Toast;
    
    
    import com.bwie.xlistviewlibrary.utils.NetWordUtils;
    import com.bwie.xlistviewlibrary.view.XListView;
    import com.example.yuekao1.R;
    import com.example.yuekao1.adpter.MyAdapter;
    import com.example.yuekao1.bean.MyBean;
    import com.example.yuekao1.db.Dao;
    import com.example.yuekao1.utils.NetWork;
    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 com.nostra13.universalimageloader.core.display.CircleBitmapDisplayer;
    import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.List;
    
    public class Fragment1_1 extends Fragment {
        private String url = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
        private XListView xListView;
        private int page;
        List<MyBean.DataBean> list = new ArrayList<>();
        private MAdapter mAdapter;
        private Dao dao;
        private ImageLoader imageLoaderInstances;
        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View view=inflater.inflate(R.layout.fragment1_1,container,false);
            xListView=view.findViewById(R.id.xlv);
            dao=new Dao(getActivity());
            return view;
        }
        @Override
        public void onActivityCreated(@Nullable Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
            // 开启上拉加载更多功能;
            xListView.setPullLoadEnable(true);
            imageLoaderInstances = ImageLoader.getInstance();
            //配置适配器
             mAdapter = new MAdapter();
            xListView.setAdapter(this.mAdapter);
            //请求网络数据
            initData(page);
            //实现监听设置上下拉的逻辑
            xListView.setXListViewListener(new XListView.IXListViewListener() {
                //下拉刷新
                @Override
                public void onRefresh() {
                    page = 0;
                    list.clear();
                    initData(page);
                }
                //上拉加载更多;
                @Override
                public void onLoadMore() {
                    page++;
                    initData(page);
                }
            });
        }
        //请求网络方法
        private void initData(int page) {
            boolean connection = NetWork.isConnection(getActivity());
            if (connection){//有网
                String urls = url + page;
                new MAsycnTask().execute(urls);
            }else { //没有网
                Toast.makeText(getActivity(), "请检查网络再试", Toast.LENGTH_LONG).show();
                //根据url地址。从数据库中获取数据
                String jsonDtata = dao.queryData(url);
                if(!"".equals(jsonDtata)){
                    Gson gson = new Gson();
                    MyBean goods = gson.fromJson(jsonDtata, MyBean.class);
                    List<MyBean.DataBean> data = goods.getData();
                    list.addAll(data);
                    mAdapter.notifyDataSetChanged();
    
                }
            }
    
        }
       private class MAdapter extends BaseAdapter {
           @Override
           public int getCount() {
               return list.size();
           }
           @Override
           public Object getItem(int i) {
               return list.get(i);
           }
           @Override
           public long getItemId(int i) {
               return i;
           }
           @Override
           public int getViewTypeCount() {
               return 2;
           }
           @Override
           public int getItemViewType(int position) {
               return position%2;
           }
           @Override
           public View getView(int position, View convertView, ViewGroup parent) {
               int itemViewType = getItemViewType(position);
               switch (itemViewType){
                   case 0:
                       ViewHodler hodler=new ViewHodler();
                           if (convertView == null) {
                               convertView = View.inflate(getActivity(), R.layout.list2, null);
                               hodler.imageView = convertView.findViewById(R.id.imageView);
                               hodler.textView = convertView.findViewById(R.id.textView);
                               convertView.setTag(hodler);
                           } else {
                               hodler = (ViewHodler) convertView.getTag();
                           }
                           hodler.textView.setText(list.get(position).getNews_title());
                           imageLoaderInstances.displayImage(list.get(position).getPic_url(), hodler.imageView);
    
    
    
                           /*
     DisplayImageOptions options = new DisplayImageOptions.Builder()
                               //显示效果:圆形
                               .displayer(new CircleBitmapDisplayer())
                               //圆角
                               .displayer(new RoundedBitmapDisplayer(90))
                               .build();
                       imageLoaderInstances.displayImage(   list .get(position).getPic_url(), hodler.imageView,options);
    
    **/
                           break;
                   case 1:
                       ViewHodler1 hodler1=new ViewHodler1()
                       if (convertView == null) {
                           convertView = View.inflate(getActivity(), R.layout.list3, null);
                           hodler1.textView1 = convertView.findViewById(R.id.textView1);
                           convertView.setTag(hodler1);
                       } else {
                           hodler1 = (ViewHodler1) convertView.getTag();
                       }
                       hodler1.textView1.setText(list.get(position).getNews_title());
                       break;
                       }
               return  convertView;
           }
           }
           class ViewHodler {
               ImageView imageView;
               TextView textView;
           }
           class ViewHodler1 {
               TextView textView1;
           }
           class MAsycnTask extends AsyncTask<String, Void, String> {
               @Override
               protected String doInBackground(String... strings) {
                   return NetWordUtils.getNetjson(strings[0]);
               }
               @Override
               protected void onPostExecute(String s) {
                   super.onPostExecute(s);
                   //解析gson
                    dao.add(s,url);
                   Gson gson = new Gson();
                   MyBean goods = gson.fromJson(s, MyBean.class);
                   List<MyBean.DataBean> data = goods.getData();
                   list.addAll(data);
                   mAdapter.notifyDataSetChanged();
                   xListView.setRefreshTime("刚刚刷新");
                   xListView.stopRefresh();//隐藏头
                   xListView.stopLoadMore();//隐藏脚
               }
           }
       }

Fragment1_2无线播


    package com.example.yuekao1.fragments;
    
    import android.os.Bundle;
    import android.support.annotation.NonNull;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    
    
    import com.example.yuekao1.R;
    import com.recker.flybanner.FlyBanner;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class Fragment1_2 extends Fragment {
        private String url = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
        private FlyBanner flyBanner;
        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View view=inflater.inflate(R.layout.fragment1_2,container,false);
            flyBanner=view.findViewById(R.id.banner);
            return view;
        }
        @Override
        public void onActivityCreated(@Nullable Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
            //网络的
            List<String> list=new ArrayList<>();
            list.add("http://f.expoon.com/sub/news/2016/01/20/370858_230x162_0.jpg");
            list.add("http://f.expoon.com/sub/news/2016/01/20/868385_230x162_0.jpg");
            list.add("http://f.expoon.com/sub/news/2016/01/20/768695_230x162_0.jpg");
            list.add("http://f.expoon.com/sub/news/2016/01/20/512947_230x162_0.jpg");
            flyBanner.setImagesUrl(list);
    
        }
    }

Fragment2


    package com.example.yuekao1.fragments;
    
    import android.os.Bundle;
    import android.support.annotation.NonNull;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    
    
    import com.example.yuekao1.R;
    
    public class Fragment2 extends Fragment {
        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View view=inflater.inflate(R.layout.fragment2,container,false);
            return view;
        }
    }

Fragment3


    package com.example.yuekao1.fragments;
    
    import android.os.Bundle;
    import android.support.annotation.NonNull;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    
    
    import com.example.yuekao1.R;
    
    public class Fragment3 extends Fragment {
        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View view=inflater.inflate(R.layout.fragment3,container,false);
            return view;
        }
    }

网络工具类


    package com.example.yuekao1.utils;
    
    import android.content.Context;
    import android.net.ConnectivityManager;
    import android.net.NetworkInfo;
    
    public class NetWork {
        public static boolean isConnection(Context context) {
            ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo activeInfo = connMgr.getActiveNetworkInfo();
            if (activeInfo != null && activeInfo.isConnected()) {
                return true;
            } else {
                return false;
            }
    
    
        }
    }

MApp


    package com.example.yuekao1;
    
    import android.app.Application;
    import android.os.Environment;
    
    import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
    import com.nostra13.universalimageloader.core.DisplayImageOptions;
    import com.nostra13.universalimageloader.core.ImageLoader;
    import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
    import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
    
    import java.io.File;
    
    public class MApp extends Application {
                 //目录
        File file=new File(Environment.getExternalStorageDirectory()+"/"+"image");
        @Override
        public void onCreate() {
            super.onCreate();
            ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this)
                    .diskCache(new UnlimitedDiskCache(file))
                    .build();
                    
                    /***
                       //配置圆角
            DisplayImageOptions options = new DisplayImageOptions.Builder().build();
            configuration = new ImageLoaderConfiguration.Builder(this)
    
                    .diskCacheSize(50*1024*1024)
    
                    .build();
    **/
            ImageLoader.getInstance().init(configuration);
        }
    }

数据库


    package com.example.yuekao1.db;
    
    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    
    public class MyHlper extends SQLiteOpenHelper
    {
        public MyHlper(Context context) {
            super(context, "uesr.db", null, 1);
        }
        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL("create table stu(id integer primary key autoincrement,url text,jsonData text)");
        }
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
        }
    }

Dao层


    package com.example.yuekao1.db;
    
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    
    public class Dao {
        private SQLiteDatabase database;
        public Dao(Context context){
            MyHlper myHlper = new MyHlper(context);
            database=myHlper.getWritableDatabase();
        }
        //插入的方法
        public void  add(String url, String data){
            //先删除相同url地址的数据
            database.delete("stu","url=?",new String[]{url});
            ContentValues values = new ContentValues();
            values.put("url", url);//k值一定是数据库的字段值
            values.put("jsonData", data);
            database.insert("stu", null, values);
        }
        //查询
        public String queryData(String url) {
            String data="";
            Cursor cursor = database.query("stu", null, "url=?", new String[]{url}, null, null, null);
            while (cursor.moveToNext()){
                //获得jsonData字段的内容
                data= cursor.getString(cursor.getColumnIndex("jsonData"));
            }
            return data;
        }
    }

bean类


    package com.example.yuekao1.bean;
    
    import java.util.List;
    public class MyBean {
        private int status;
        private String info;
        private List<DataBean> data;
        public int getStatus() {
            return status;
        }
        public void setStatus(int status) {
            this.status = status;
        }
        public String getInfo() {
            return info;
        }
        public void setInfo(String info) {
            this.info = info;
        }
        public List<DataBean> getData() {
            return data;
        }
        public void setData(List<DataBean> data) {
            this.data = data;
        }
        public static class DataBean {
            private String news_id;
            private String news_title;
            private String news_summary;
            private String pic_url;
            public String getNews_id() {
                return news_id;
            }
            public void setNews_id(String news_id) {
                this.news_id = news_id;
            }
            public String getNews_title() {
                return news_title;
            }
            public void setNews_title(String news_title) {
                this.news_title = news_title;
            }
            public String getNews_summary() {
                return news_summary;
            }
            public void setNews_summary(String news_summary) {
                this.news_summary = news_summary;
            }
            public String getPic_url() {
                return pic_url;
            }
            public void setPic_url(String pic_url) {
                this.pic_url = pic_url;
            }
        }
    }

适配器


    package com.example.yuekao1.adpter;
    
    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.example.yuekao1.R;
    import com.example.yuekao1.bean.MyBean;
    import com.nostra13.universalimageloader.core.ImageLoader;
    
    import java.util.List;
    
    public class MyAdapter extends BaseAdapter {
        private ImageLoader imageLoaderInstances = ImageLoader.getInstance();
        ;
        private List<MyBean.DataBean> list;
        private Context context;
        public MyAdapter(List<MyBean.DataBean> list, Context context) {
            this.list = list;
            this.context = context;
       }
        public int getCount() {
            return list.size();
        }
        @Override
        public Object getItem(int position) {
            return null;
        }
        @Override
        public long getItemId(int position) {
            return 0;
        }
        @Override
        public int getItemViewType(int position) {
            return position%2;
        }
        @Override
        public int getViewTypeCount() {
            return 2;
        }
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            int itemViewType = getItemViewType(position);
            switch (itemViewType){
                case 0:
                    ViewHoder hoder=new ViewHoder();
                    if (convertView==null){
                        convertView=View.inflate(context, R.layout.list_main,null);
                        hoder.imag=convertView.findViewById(R.id.imag);
                        hoder.text=convertView.findViewById(R.id.text);
                        convertView.setTag(hoder);
                    }else {
                        hoder=(ViewHoder)convertView.getTag();
                    }
                    hoder.text.setText(list.get(position).getNews_title());
                    imageLoaderInstances.displayImage(list.get(position).getPic_url(), hoder.imag);
                    /**
                      DisplayImageOptions options = new DisplayImageOptions.Builder()
                            //显示效果:圆形
                            .displayer(new CircleBitmapDisplayer())
                            //圆角
                            .displayer(new RoundedBitmapDisplayer(90))
                            .build();
                            
                    imageLoaderInstances.displayImage(   list .get(position).getPic_url(), hoder.imag,options);
                    */
                    break;
                case 1:
                    ViewHoder1 hoder1=new ViewHoder1();
                    if (convertView==null){
                        convertView=View.inflate(context, R.layout.list1_main,null);
                        hoder1.text1=convertView.findViewById(R.id.text1);
                        convertView.setTag(hoder1);
                    }else {
                        hoder1=(ViewHoder1)convertView.getTag();
                    }
                    hoder1.text1.setText(list.get(position).getNews_title());
                   break;
            }
            return convertView;
        }
        class ViewHoder{
            ImageView imag;
            TextView text;
        }
        class ViewHoder1{
            TextView text1;
        }
    
    }

MainActivity布局


    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout 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=".MainActivity">
    
        <TextView
            android:id="@+id/text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:textSize="20sp"
            android:textColor="#f00"
           android:text="3s" />
        <ImageView
            android:id="@+id/image"
            android:layout_width="600dp"
            android:src="@mipmap/ic_hhh"
            android:layout_centerVertical="true"
        android:layout_marginLeft="80dp"
            android:layout_marginRight="80dp"
            android:layout_height="200dp" />
    
    </RelativeLayout>

Main2Activity布局


    <?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/drawlayout"
        tools:context=".Main2Activity">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:layout_gravity="start"
            >
            <ImageView
                android:layout_width="300dp"
                android:layout_height="300dp"
                android:layout_gravity="center"
                android:src="@mipmap/ic_hhh"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="50dp"
              android:layout_gravity="center"
                android:textColor="#f00"
                android:textSize="25sp"
                android:text="我在北京"/>
    
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
            <android.support.v4.view.ViewPager
                android:id="@+id/viewpager"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="6"
                ></android.support.v4.view.ViewPager>
            <RadioGroup
                android:id="@+id/group"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:orientation="horizontal">
                <RadioButton
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:id="@+id/but1"
                    android:layout_weight="1"
                    android:gravity="center"
    
                    android:button="@null"
                    android:text="首页"/>
    
                <RadioButton
                    android:id="@+id/but2"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:button="@null"
                    android:gravity="center"
    
                    android:text="功能" />
                <RadioButton
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:id="@+id/but3"
                    android:layout_weight="1"
                    android:gravity="center"
    
                    android:button="@null"
                    android:text="我的"/>
            </RadioGroup>
    
        </LinearLayout>
    </android.support.v4.widget.DrawerLayout>

fragment1布局


    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
    
        android:layout_height="match_parent"
        android:orientation="vertical">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
        <android.support.design.widget.TabLayout
            android:id="@+id/tablayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        </android.support.design.widget.TabLayout>
        <Button
            android:id="@+id/but"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="+"/>
        </LinearLayout>
        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            ></android.support.v4.view.ViewPager>
    
    </LinearLayout>

fragment1_0布局


    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
    
        android:layout_height="match_parent">
        <com.handmark.pulltorefresh.library.PullToRefreshListView
            android:id="@+id/pv"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
        </com.handmark.pulltorefresh.library.PullToRefreshListView>
    
    </LinearLayout>

fragment1_1布局


    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
    
        android:layout_height="match_parent">
        <com.bwie.xlistviewlibrary.view.XListView
            android:id="@+id/xlv"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            >
        </com.bwie.xlistviewlibrary.view.XListView>
    </LinearLayout>

fragment1_2布局


    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:background="#f0f"
        android:layout_height="match_parent">
        <com.recker.flybanner.FlyBanner
            android:id="@+id/banner"
            android:layout_width="match_parent"
            android:layout_height="300dp">
        </com.recker.flybanner.FlyBanner>
    
    </LinearLayout>

build.gradle project


    // Top-level build file where you can add configuration options common to all sub-projects/modules.
     
    buildscript {
     
        repositories {
            google()
            jcenter()
     
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.2.1'
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
     
    allprojects {
        repositories {
            google()
            jcenter()
            //添加一个远程仓库;
            maven {url "https://jitpack.io"}
        }
    }
     
    task clean(type: Delete) {
        delete rootProject.buildDir
    }

清单文件 权限***

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

依赖
``

  implementation 'com.android.support:design:28.0.0'
    implementation 'com.google.code.gson:gson:2.8.5'
    implementation 'com.github.userswlwork:pull-to-refresh:1.0.0'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
    implementation project(':xlistviewlibrary1')
    implementation 'com.recker.flybanner:flybanner:1.3'
    implementation 'com.github.andyoom:draggrid:v1.0.1'
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值