大综合

在这里插入图片描述
抽取基类

package com.bawei.yk;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.FragmentActivity;


public abstract class BaseActivity extends FragmentActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(bindLayout());
        initView();
        initData();
        bindEvent();
    }

    protected abstract int bindLayout();

    protected abstract void initView();

    protected abstract void initData();

    protected abstract void bindEvent();
}

package com.bawei.yk;

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;


public abstract class BaseFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(bindLayout(),container,false);
    }



    @Override
    public  void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        initView();
        initData();
        bindEvent();
    }
    protected abstract int bindLayout();

    protected abstract void initView();

    protected abstract void initData();

    protected abstract void bindEvent();
}

5秒跳转布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/te"
        android:text="5"

        android:gravity="center"
        android:background="#0f0"/>

</android.support.constraint.ConstraintLayout>

5秒跳转代码






package com.bawei.yk;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends BaseActivity {
    private TextView tx;
    private SharedPreferences sp;

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

    @Override
    protected void initView() {
        tx = findViewById(R.id.te);
        sp = getSharedPreferences("login", Context.MODE_PRIVATE);
    }

    @Override
    protected void initData() {
        if( sp.getBoolean("自动登录",false)){
            startActivity(new Intent(MainActivity.this,TwoActivity.class));
            finish();
            handler.removeCallbacksAndMessages(null);
            return;

        }
    }

    @Override
    protected void bindEvent() {
        tx.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SharedPreferences.Editor edit = sp.edit();
                edit.putBoolean("自动登录",true);
                edit.commit();
                startActivity(new Intent(MainActivity.this,TwoActivity.class));
                finish();
                handler.removeCallbacksAndMessages(null);
            }
        });
        handler.sendEmptyMessageDelayed(0,1000);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        handler.removeCallbacksAndMessages(null);
    }

    int time=5;
    Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what){
                case 0:
                    time--;
                    if(time>0){
                        tx.setText(time+"");
                        handler.sendEmptyMessageDelayed(0,1000);
                    }else{
                        SharedPreferences.Editor edit = sp.edit();
                        edit.putBoolean("自动登录",true);
                        edit.commit();
                        startActivity(new Intent(MainActivity.this,TwoActivity.class));
                        finish();
                    }
                    break;
            }
        }
    };


}

主页面布局

<?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=".TwoActivity"
    android:orientation="vertical">
    <android.support.v4.widget.DrawerLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/draw"
        >
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
            <FrameLayout
                android:id="@+id/frag"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"></FrameLayout>
            <RadioGroup
                android:id="@+id/radiogroup"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"

                android:orientation="horizontal"
                android:gravity="center">
                <RadioButton
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:text="全名小视频"
                    android:id="@+id/r1"
                    android:gravity="center"
                    android:drawableTop="@mipmap/ic_launcher"
                    android:button="@null"/>
                <RadioButton
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:text="快手"
                    android:id="@+id/r2"
                    android:gravity="center"
                    android:drawableTop="@mipmap/ic_launcher"
                    android:button="@null"/>
                <RadioButton
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:text="抖音"
                    android:id="@+id/r3"
                    android:gravity="center"
                    android:drawableTop="@mipmap/ic_launcher"
                    android:button="@null"/>
            </RadioGroup>
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:background="#ff0000"
            android:layout_gravity="left">
            <ImageView
                android:layout_width="150dp"
                android:layout_height="150dp"
                android:id="@+id/img"/>
            <com.qy.xlistview.XListView
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:id="@+id/xlistview">

            </com.qy.xlistview.XListView>
        </LinearLayout>
    </android.support.v4.widget.DrawerLayout>
</LinearLayout>

主页面

package com.bawei.yk;

import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.view.View;
import android.widget.Adapter;
import android.widget.ImageView;
import android.widget.RadioGroup;


import com.bawei.yk.adapter.MyAdapter;
import com.bawei.yk.bean.Data;
import com.bawei.yk.bean.JsonBean;
import com.bawei.yk.frag.Frag1;
import com.bawei.yk.frag.Frag2;
import com.bawei.yk.frag.Frag3;
import com.bawei.yk.http.Http;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.qy.xlistview.XListView;

import java.util.ArrayList;

public class TwoActivity extends BaseActivity {
    private RadioGroup radiogroup;
    private XListView xlistview;
    private ImageView img;
    private DrawerLayout draw;
    private Frag1 f1;
    private Frag2 f2;
    private Frag3 f3;
    private String str = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
    private FragmentManager supportFragmentManager;
    private ArrayList<Data> data;

    private MyAdapter adapter;
    @Override
    protected int bindLayout() {
        return R.layout.activity_two;
    }

    @Override
    protected void initView() {
        radiogroup = findViewById(R.id.radiogroup);
        radiogroup.check(radiogroup.getChildAt(0).getId());
        xlistview = findViewById(R.id.xlistview);
        img = findViewById(R.id.img);
        draw = findViewById(R.id.draw);
    }

    @Override
    protected void initData() {
        String ss="http://image.baidu.com/search/down?tn=download&word=download&ie=utf8&fr=detail&url=http%3A%2F%2Fimg5.duitang.com%2Fuploads%2Fitem%2F201410%2F05%2F20141005082835_2RTzn.thumb.700_0.jpeg&thumburl=http%3A%2F%2Fimg2.imgtn.bdimg.com%2Fit%2Fu%3D3846895839%2C2711067435%26fm%3D26%26gp%3D0.jpg";
       ImageLoader.getInstance().displayImage(ss,img);
        supportFragmentManager = getSupportFragmentManager();
        FragmentTransaction transaction = supportFragmentManager.beginTransaction();
        f1 = new Frag1();
        f2 = new Frag2();
        f3 = new Frag3();
        transaction.add(R.id.frag,f1);
        transaction.add(R.id.frag,f2);
        transaction.add(R.id.frag,f3);
        transaction.hide(f2).hide(f3).show(f1);
        transaction.commit();
        xlistview.setPullLoadEnable(true);
     if(Http.iswork(TwoActivity.this)){
         Http.MyAs(str, new Http.CallBacks() {
             @Override
             public void getData(String s) {
                 Gson gson = new Gson();
                 JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
                 data = jsonBean.getData();
                 adapter=new MyAdapter(TwoActivity.this,data);
                 xlistview.setAdapter(adapter);
             }
         });
     }
    }

    @Override
    protected void bindEvent() {
        radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                FragmentTransaction transaction1 = supportFragmentManager.beginTransaction();
                switch (checkedId) {
                    case R.id.r1:
                        transaction1.hide(f2).hide(f3).show(f1);
                        break;
                    case R.id.r2:
                        transaction1.hide(f1).hide(f3).show(f2);
                        break;
                    case R.id.r3:
                        transaction1.hide(f2).hide(f1).show(f3);
                        break;

                }
                transaction1.commit();


            }
        });
    }


}

adapter

package com.bawei.yk.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.bawei.yk.R;
import com.bawei.yk.bean.Data;
import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.ArrayList;


public class Ce extends BaseAdapter {
    private Context context;
    private ArrayList<Data>list;
    private Haode1 h1;
    private Haode2 h2;
    private Haode3 h3;

    public Ce(Context context, ArrayList<Data> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    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 getViewTypeCount() {
        return 3;
    }

    @Override
    public int getItemViewType(int position) {
        return position%3;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        switch (getItemViewType(position)){
            case 0:
                if(convertView==null){
                    h1 = new Haode1();
                    convertView= View.inflate(context,R.layout.item1,null);
                    h1.img1 = convertView.findViewById(R.id.img1);
                    h1.tx1 = convertView.findViewById(R.id.tx1);
                    convertView.setTag(h1);
                }else{
                    h1= (Haode1) convertView.getTag();
                    
                }
                ImageLoader.getInstance().displayImage(list.get(position).getPic_url(),h1.img1);
                    h1.tx1.setText(list.get(position).getNews_title());
                break;
            case 1:
                if(convertView==null){
                    h2 = new Haode2();
                    convertView= View.inflate(context,R.layout.item2,null);
                    h2.tx2 = convertView.findViewById(R.id.tx2);
                    convertView.setTag(h2);
                }else{
                    h2= (Haode2) convertView.getTag();
                   
                }
                 h2.tx2.setText(list.get(position).getNews_title());
                break;
            case 2:
                if(convertView==null){
                    h3 = new Haode3();
                    convertView= View.inflate(context,R.layout.item3,null);
                    h3.img3 = convertView.findViewById(R.id.img2);

                    convertView.setTag(h3);
                }else{
                    h3= (Haode3) convertView.getTag();
                    

                }
                ImageLoader.getInstance().displayImage(list.get(position).getPic_url(),h3.img3);
                break;
        }
        return convertView;
    }
    class Haode1{
        ImageView img1;
        TextView tx1;
    }
    class Haode2{

        TextView tx2;
    }
    class Haode3{
        ImageView img3;

    }
}

package com.bawei.yk.adapter;

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

import com.qy.channel.bean.ChannelItem;

import java.util.ArrayList;

public class TabPagerAdapter extends FragmentPagerAdapter{

private ArrayList<Fragment>arr;
private ArrayList<ChannelItem>tabData;

    public TabPagerAdapter(FragmentManager fm, ArrayList<Fragment> arr, ArrayList<ChannelItem> tabData) {
        super(fm);
        this.arr = arr;
        this.tabData = tabData;
    }

    @Override
    public Fragment getItem(int i) {
        return arr.get(i);
    }

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

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        return tabData.get(position).getName();
    }
}

app

package com.bawei.yk.app;

import android.app.Application;
import android.graphics.Bitmap;
import android.os.Environment;

import com.bawei.yk.R;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.display.CircleBitmapDisplayer;
import com.qy.channel.app.ChannelApplication;

import java.io.File;


public class App extends ChannelApplication {
    @Override
    public void onCreate() {
        super.onCreate();
        String path = Environment.getExternalStorageDirectory().getPath();
        File file = new File(path);
        DisplayImageOptions options = new DisplayImageOptions.Builder()
                .showImageOnLoading(R.mipmap.zhan)
                .showImageOnLoading(R.mipmap.shibai)
                .displayer(new CircleBitmapDisplayer())
                .bitmapConfig(Bitmap.Config.ARGB_8888)
                .build();
        ImageLoaderConfiguration loaderConfiguration = new ImageLoaderConfiguration.Builder(this)
                .defaultDisplayImageOptions(options)
                .build();
        ImageLoader instance = ImageLoader.getInstance();
        instance.init(loaderConfiguration);
    }
}

bean

package com.bawei.yk.bean;


public class Data {
     /*"news_id": "13798",
             "news_summary": "由武汉市贸促会、上海《理财周刊》社、湖北好博塔苏斯展览有限公司等单位联合发起的“2016武汉金融理财投资博览会”,将在武",
             "news_title": "武汉金融理财投资博览会将在5月举办",
             "pic_url":*/
     private String news_id;
    private String news_summary;
    private String news_title;
    private String pic_url;

    public String getNews_id() {
        return news_id;
    }

    public Data(String news_summary, String news_title, String pic_url) {
        this.news_summary = news_summary;
        this.news_title = news_title;
        this.pic_url = pic_url;
    }

    public void setNews_id(String news_id) {
        this.news_id = news_id;
    }

    public String getNews_summary() {
        return news_summary;
    }

    public void setNews_summary(String news_summary) {
        this.news_summary = news_summary;
    }

    public String getNews_title() {
        return news_title;
    }

    public void setNews_title(String news_title) {
        this.news_title = news_title;
    }

    public String getPic_url() {
        return pic_url;
    }

    public void setPic_url(String pic_url) {
        this.pic_url = pic_url;
    }

    @Override
    public String toString() {
        return "Data{" +
                "news_id='" + news_id + '\'' +
                ", news_summary='" + news_summary + '\'' +
                ", news_title='" + news_title + '\'' +
                ", pic_url='" + pic_url + '\'' +
                '}';
    }


}

package com.bawei.yk.bean;

import java.util.ArrayList;

public class JsonBean {
   /*  "info": "获取内容成功",
             "status": 1*/
   private ArrayList<Data> data;
   private String info;
    private String status;

    public ArrayList<Data> getData() {
        return data;
    }

    public void setData(ArrayList<Data> data) {
        this.data = data;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return "JsonBean{" +
                "data=" + data +
                ", info='" + info + '\'' +
                ", status='" + status + '\'' +
                '}';
    }

    public JsonBean(ArrayList<Data> data, String info, String status) {
        this.data = data;
        this.info = info;
        this.status = status;
    }
}

frag1

package com.bawei.yk.frag;




import android.content.Intent;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.ImageView;

import com.bawei.yk.BaseFragment;
import com.bawei.yk.R;
import com.bawei.yk.adapter.TabPagerAdapter;
import com.bawei.yk.tab.Tab_Null;
import com.bawei.yk.tab.Tab_Shou;
import com.qy.channel.ChannelActivity;
import com.qy.channel.app.ChannelApplication;
import com.qy.channel.bean.ChannelItem;
import com.qy.channel.db.DBUtil;

import java.util.ArrayList;


public class Frag1 extends BaseFragment {


    private ImageView img;
    private ViewPager pager;
    private TabLayout tab;
    private ArrayList<ChannelItem> tabData;
    private ArrayList<Fragment> arr;
    private TabPagerAdapter adapter;


    @Override
    protected int bindLayout() {
        return R.layout.frag1;
    }

    @Override
    protected void initView() {
        img = getActivity().findViewById(R.id.img);
        pager = getActivity().findViewById(R.id.pager);
        tab = getActivity().findViewById(R.id.tab);
    }

    @Override
    protected void initData() {
        //查询数据ku
        tabData = DBUtil.getTabData(getActivity());
        //加载fragment
        arr = new ArrayList<>();
        for (int i = 0; i < tabData.size(); i++) {
            ChannelItem channelItem = tabData.get(i);
            String name = channelItem.getName();
            if ("头条".equals(name)) {
                arr.add(new Tab_Shou());
            } else {
                arr.add(new Tab_Null());
            }
            //设置适配器
            adapter = new TabPagerAdapter(getActivity().getSupportFragmentManager(), arr, tabData);
            pager.setAdapter(adapter);
            tab.setupWithViewPager(pager);
        }
    }

    @Override
    protected void bindEvent() {
        img.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getActivity(), ChannelActivity.class);
                startActivityForResult(intent, 0);
            }
        });
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 0) {
            tabData = DBUtil.getTabData(getActivity());
            for (int i = 0; i < tabData.size(); i++) {
                ChannelItem channelItem = tabData.get(i);
                String name = channelItem.getName();
                tab.addTab(tab.newTab().setText(name));
                if ("头条".equals(name)) {
                    arr.add(new Tab_Shou());
                } else {
                    arr.add(new Tab_Null());
                }
                adapter = new TabPagerAdapter(getActivity().getSupportFragmentManager(), arr, tabData);
                pager.setAdapter(adapter);
                tab.setupWithViewPager(pager);
            }
        }
    }
}

frag2,frag3

package com.bawei.yk.frag;

import com.bawei.yk.BaseFragment;
import com.bawei.yk.R;


public class Frag2 extends BaseFragment {
    @Override
    protected int bindLayout() {
        return R.layout.frag2;
    }

    @Override
    protected void initView() {

    }

    @Override
    protected void initData() {

    }

    @Override
    protected void bindEvent() {

    }
}

http

package com.bawei.yk.http;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;

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


public class Http {
    public static boolean iswork(Context context){
        if(context!=null){
            ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo info = connectivityManager.getActiveNetworkInfo();
            if(info!=null){
                return info.isAvailable();
            }
        }
        return false;
    }
    public static String get(String str){
        try {
            URL url = new URL(str);
           HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(5000);
            connection.setReadTimeout(5000);
            int code = connection.getResponseCode();
            if(code==200){
                InputStream stream = connection.getInputStream();
                BufferedReader reader = new BufferedReader(new InputStreamReader(stream,"utf-8"));
                StringBuffer buffer = new StringBuffer();
                String str1="";
            while ((str1=reader.readLine())!=null){
                buffer.append(str1);
                }
               return buffer.toString();
            }
            connection.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    public static void MyAs(String string,final CallBacks backs){
        new AsyncTask<String, Integer, String>() {
            @Override
            protected String doInBackground(String... strings) {
                return Http.get(strings[0]);
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                backs.getData(s);
            }

        }.execute(string);
    }

public interface CallBacks{
        void getData(String s);
}

}

dao

package com.bawei.yk.sql;

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


public class Dao {

    private final SQLiteDatabase db;

    public Dao(Context context) {
        MySql mySql = new MySql(context);
        db = mySql.getWritableDatabase();
    }

    public long insert(String table, String nullColumnHack, ContentValues values) {
        return db.insert(table, nullColumnHack, values);
    }

    public Cursor Query(String table, String[] columns, String selection,
                        String[] selectionArgs, String groupBy, String having,
                        String orderBy) {
       return  db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
    }

}

mysql

package com.bawei.yk.sql;

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


public class MySql extends SQLiteOpenHelper {
    public MySql(Context context) {
        super(context, "db.bw", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table student( id integer primary key autoincrement,name text,tit text,img text)");
    }

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

    }
}

tab_null

package com.bawei.yk.tab;

import com.bawei.yk.BaseFragment;
import com.bawei.yk.R;


public class Tab_Null extends BaseFragment {
    @Override
    protected int bindLayout() {
        return R.layout.tab_null;
    }

    @Override
    protected void initView() {

    }

    @Override
    protected void initData() {

    }

    @Override
    protected void bindEvent() {

    }
}

tab_shou

package com.bawei.yk.tab;

import android.content.ContentValues;
import android.database.Cursor;
import android.view.View;
import android.widget.ListView;
import android.widget.Toast;

import com.bawei.yk.BaseFragment;
import com.bawei.yk.R;
import com.bawei.yk.adapter.Ce;
import com.bawei.yk.bean.Data;
import com.bawei.yk.bean.JsonBean;
import com.bawei.yk.http.Http;
import com.bawei.yk.sql.Dao;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.util.ArrayList;
import java.util.logging.Handler;


public class Tab_Shou extends BaseFragment {
    private PullToRefreshListView listv;
    private Ce adapter;
    private ArrayList<Data> data;
    private Dao dao;
    private String str = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
    @Override
    protected int bindLayout() {
        return R.layout.tab_shou;
    }

    @Override
    protected void initView() {
        listv = getActivity().findViewById(R.id.pull);
        listv.setMode(PullToRefreshListView.Mode.BOTH);
        listv.setScrollingWhileRefreshingEnabled(true);
        dao=new Dao(getActivity());
    }

    @Override
    protected void initData() {
       if( Http.iswork(getActivity())){
           Http.MyAs(str, new Http.CallBacks() {
               @Override
               public void getData(String s) {
                   Gson gson=new Gson();
                   JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
                   data = jsonBean.getData();
                   if(dao.Query("student",null,null,null,null,null,null).moveToFirst()){
                    
                   }else{
                       for (Data js:data) {
                           ContentValues Values = new ContentValues();
                           Values.put("tit",js.getNews_title());
                           Values.put("name",js.getNews_summary());
                           Values.put("img",js.getPic_url());
                           dao.insert("student",null,Values);
                       }
                   }
                      adapter=new Ce(getActivity(),data);
                       listv.setAdapter(adapter);

               }
           });
       }else{
           Cursor query = dao.Query("student", null, null, null, null, null, null);
          data = new ArrayList<>();
          if(query.moveToFirst()){
              do {
                  String name = query.getString(query.getColumnIndex("name"));
                  String tit = query.getString(query.getColumnIndex("tit"));
                  String img = query.getString(query.getColumnIndex("img"));
                  data.add(new Data(name,img,tit));
              }while (query.moveToNext());
          }
           query.close();
           Toast.makeText(getActivity(),"没有网络",Toast.LENGTH_LONG).show();
           adapter=new Data(getActivity(),data);
           listv.setAdapter(adapter);
       }

    }

    @Override
    protected void bindEvent() {
        listv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                if(Http.iswork(getActivity())){
                    Http.MyAs(str, new Http.CallBacks() {
                        @Override
                        public void getData(String s) {
                            Gson gson=new Gson();
                            JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
                            data = jsonBean.getData();
                            adapter=new Ce(getActivity(),data);
                            listv.setAdapter(adapter);
                            listv.onRefreshComplete();
                        }
                    });
                }
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                if(Http.iswork(getActivity())){
                    Http.MyAs(str, new Http.CallBacks() {
                        @Override
                        public void getData(String s) {
                            Gson gson=new Gson();
                            JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
                            ArrayList<Data> data1 = jsonBean.getData();
                            data.addAll(data1);
                            adapter.notifyDataSetChanged();
                            listv.onRefreshComplete();
                        }
                    });
                }
            }
        });
    }
}

frag1布局

<?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"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <android.support.design.widget.TabLayout
        android:id="@+id/tab"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"

        />
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/img"
        android:src="@mipmap/menu"/>
</LinearLayout>
    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:id="@+id/pager"></android.support.v4.view.ViewPager>
</LinearLayout>

frag2布局

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

frag3布局

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

item1布局

<?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">
<ImageView
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:id="@+id/img1"/>
    <TextView
        android:id="@+id/tx1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

item2布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">
<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/tx2"/>
</android.support.constraint.ConstraintLayout>

item3布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">
<ImageView
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:id="@+id/img2"/>
</android.support.constraint.ConstraintLayout>

ce1布局

<?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">
    <ImageView
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:id="@+id/img1"/>
    <TextView
        android:id="@+id/tx1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

ce2布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/tx2"/>
</android.support.constraint.ConstraintLayout>

ce3布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:id="@+id/img2"/>
</android.support.constraint.ConstraintLayout>

tab_null布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">
<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="此页面没做效果图"/>
</android.support.constraint.ConstraintLayout>

tab_shou布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/pull"></com.handmark.pulltorefresh.library.PullToRefreshListView>
</android.support.constraint.ConstraintLayout>

在这里插入图片描述manifests

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bawei.yk">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <application
        android:name=".app.App"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".TwoActivity"></activity>
    </application>

</manifest>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值