//倒计时跳转
public class MainActivity extends AppCompatActivity {
private TextView tv;
int count=3;
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what==200){
if(count<0){
Intent intent = new Intent(MainActivity.this,TwoActivity3.class);
startActivity(intent);
finish();
return;
}
}
tv.setText(count--+"秒");
handler.sendEmptyMessageDelayed(200,1000);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = findViewById(R.id.tv);
handler.sendEmptyMessage(200);
}
}
//总页面
public class TwoActivity3 extends AppCompatActivity {
String urlBitmap = "https://img-my.csdn.net/uploads/201407/26/1406383265_8550.jpg";
private FrameLayout fl;
private RadioGroup rg;
private LinearLayout ll;
private ImageView iv;
private ListView lv;
private DrawerLayout dl;
private Frag_01 frag_01;
private Frag_02 frag_02;
private Frag_03 frag_03;
private FragmentManager manager;
private FragmentTransaction f3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two3);
fl = findViewById(R.id.fl);
rg = findViewById(R.id.rg);
ll = findViewById(R.id.ll);
iv = findViewById(R.id.iv);
lv = findViewById(R.id.lv);
dl = findViewById(R.id.dl);
ArrayList<Fragment> list = new ArrayList<Fragment>();
frag_01 = new Frag_01();
frag_02 = new Frag_02();
frag_03 = new Frag_03();
manager = getSupportFragmentManager();
FragmentTransaction f1 = manager.beginTransaction();
f1.add(R.id.fl,frag_01).show(frag_01);
f1.add(R.id.fl,frag_02).hide(frag_02);
f1.add(R.id.fl,frag_03).hide(frag_03);
f1.commit();
rg.check(rg.getChildAt(0).getId());
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
FragmentTransaction f2 = manager.beginTransaction();
switch (checkedId){
case 1:
f2.show(frag_01).hide(frag_02).hide(frag_03);
break;
case 2:
f2.show(frag_02).hide(frag_01).hide(frag_03);
break;
case 3:
f2.show(frag_03).hide(frag_02).hide(frag_01);
break;
}
f2.commit();
}
});
//侧拉
ArrayList<String> clist = new ArrayList<String>();
clist.add("第一个页面");
clist.add("第二个页面");
clist.add("第三个页面");
CMyAdapter cMyAdapter = new CMyAdapter(this,clist);
lv.setAdapter(cMyAdapter);
//圆角图片
ImageLoader instance = ImageLoader.getInstance();
instance.displayImage(urlBitmap,iv,Images.getImg());
//点击跳转
f3 = manager.beginTransaction();
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position){
case 0:
f3.show(frag_01).hide(frag_03).hide(frag_02);
rg.check(rg.getChildAt(0).getId());
break;
case 1:
f3.show(frag_02).hide(frag_03).hide(frag_01);
rg.check(rg.getChildAt(1).getId());
break;
case 2:
f3.show(frag_03).hide(frag_01).hide(frag_02);
rg.check(rg.getChildAt(2).getId());
break;
}
dl.closeDrawers();
}
});
}
}
//总布局
<?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:id="@+id/dl"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".TwoActivity3">
<FrameLayout
android:id="@+id/fl"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
</FrameLayout>
<RadioGroup
android:layout_marginTop="920dp"
android:id="@+id/rg"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="50dp"
android:orientation="horizontal">
<RadioButton
android:background="@drawable/sel_bt"
android:gravity="center"
android:button="@null"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="页面一"/>
<RadioButton
android:background="@drawable/sel_bt"
android:gravity="center"
android:button="@null"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="页面er"/>
<RadioButton
android:background="@drawable/sel_bt"
android:gravity="center"
android:button="@null"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="页面san"/>
</RadioGroup>
<LinearLayout
android:id="@+id/ll"
android:background="#0bbfff"
android:layout_gravity="start"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/iv"
android:layout_marginLeft="200dp"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/ic_launcher"/>
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
侧拉的适配器
public class CMyAdapter extends BaseAdapter {
private Con![在这里插入图片描述](https://img-blog.csdnimg.cn/20181122135443965.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNTY2ODk1,size_16,color_FFFFFF,t_70)text context;
private ArrayList<String> clist;
private TextView ctv;
public CMyAdapter(Context context, ArrayList<String> clist) {
this.context = context;
this.clist = clist;
}
@Override
public int getCount() {
return clist.size();
}
@Override
public Object getItem(int position) {
return clist.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = View.inflate(context, R.layout.citem,null);
ctv = convertView.findViewById(R.id.ctv);
ctv.setText(clist.get(position).toString());
return convertView;
}
}
//圆角图片
class Images {
public static DisplayImageOptions getImg() {
DisplayImageOptions build = new DisplayImageOptions.Builder()
.displayer(new RoundedBitmapDisplayer(100))
.build();
return build;
}
//轮播图
//pull ToRe fresh
class BlankFragment1 extends android.support.v4.app.Fragment {
String urlBitmap = "https://img-my.csdn.net/uploads/201407/26/1406383265_8550.jpg";
public String urlString = "http://api.expoon.com/AppNews/getNewsList/type/1/p/";
ArrayList<Bean.DataBean> list = new ArrayList<Bean.DataBean>();
private Banner banner;
private PullToRefreshListView pull;
ArrayList<String> blist = new ArrayList<String>();
private MyAdapter myAdapter;
int page;
private Dao dao;
private String st;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.f1,container,false);
banner = view.findViewById(R.id.banner);
pull = view.findViewById(R.id.pull);
dao = new Dao(getActivity());
//轮播图
blist.add(urlBitmap);
blist.add(urlBitmap);
blist.add(urlBitmap);
banner.setImageLoader(new ImageLoders());
banner.setImages(blist);
banner.start();
//上下拉刷新
myAdapter = new MyAdapter(getActivity(),list);
pull.setAdapter(myAdapter);
initData(0);
pull.setMode(PullToRefreshBase.Mode.BOTH);
pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
list.clear();
page=0;
initData(0);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
page++;
initData(page);
}
});
return view;
}
private void initData(int page) {
st = urlString+page;
if (Internet.getNet(getContext())){
new MAsTask().execute(st);
}
else {
Toast.makeText(getActivity(), "请联网,谢谢!", Toast.LENGTH_SHORT).show();
String s = dao.queryData(st);
if (!s.isEmpty()){
Gson gson = new Gson();
Bean bean = gson.fromJson(s, Bean.class);
List<Bean.DataBean> data = bean.getData();
list.addAll(data);
myAdapter.notifyDataSetChanged();
pull.onRefreshComplete();
}
}
}
//判断是否网络
class Internet {
public static boolean getNet(Context context) {
boolean is = false;
ConnectivityManager systemService = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = systemService.getActiveNetworkInfo();
if (networkInfo!=null){
is = systemService.getActiveNetworkInfo().isAvailable();
}
return is;
}
}
//创建数据库
public class SQLite extends SQLiteOpenHelper {
public SQLite(Context context) {
super(context, "user.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table student (id Integer primary key autoincrement ,url text,json text)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
//增删改查
public class Dao {
private final SQLiteDatabase db;
private ContentValues values;
public Dao(Context context) {
SQLite sqLite = new SQLite(context);
db = sqLite.getWritableDatabase();
}
//先删除在添加
public void insertData(String url, String json) {
db.delete("student", "url=?", new String[]{url});
values = new ContentValues();
values.put("url", url);
values.put("json", json);
Log.e("jj","+++++++++++++++++"+url);
long student = db.insert("student", null, values);
Log.e("lhy", "===================values=================" + student+"");
}
//查询的方法
public String queryData(String url) {
String json = "";
Cursor cursor = db.query("student", null, "url=?", new String[]{url}, null, null, null);
if (cursor.moveToFirst()) {
do{
json = cursor.getString(cursor.getColumnIndex("json"));
}while (cursor.moveToNext());
}
Log.e("lhy","==========================*****"+json);
return json;
}
}
//多条目
public class MyAdapter extends BaseAdapter {
private Context context;
private List<Bean.DataBean> data;
private TextView tv1;
private TextView tv2;
private TextView tv3;
private ImageView iv1;
public MyAdapter(Context context, List<Bean.DataBean> data) {
this.context = context;
this.data = data;
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int position) {
return data.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@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 viewType = getItemViewType(position);
switch (viewType){
case 0:
convertView = View.inflate(context, R.layout.even,null);
tv1 = convertView.findViewById(R.id.tv1);
tv2 = convertView.findViewById(R.id.tv2);
tv1.setText(data.get(position).getNews_id());
tv2.setText(data.get(position).getNews_title());
break;
case 1:
convertView = View.inflate(context,R.layout.add,null);
tv3 = convertView.findViewById(R.id.tv3);
iv1 = convertView.findViewById(R.id.iv1);
tv3.setText(data.get(position).getNews_title());
ImageLoader instance = ImageLoader.getInstance();
instance.displayImage(data.get(position).getPic_url(),iv1);
break;
}
return convertView;
}
}
//异步请求
class MAsTask extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
String p = NetWordUtils.getNetjson(strings[0]);
return p;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
dao.insertData(st,s);
Gson gson = new Gson();
Bean bean = gson.fromJson(s, Bean.class);
List<Bean.DataBean> data = bean.getData();
list.addAll(data);
myAdapter.notifyDataSetChanged();
pull.onRefreshComplete();
}
}
//轮播图
class ImageLoders extends com.youth.banner.loader.ImageLoader{
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
ImageLoader instance = ImageLoader.getInstance();
instance.displayImage((String) path,imageView);
}
}
}
//table layout
public class Frag_01 extends Fragment {
private TabLayout tl;
private ViewPager pager;
ArrayList<Fragment> flist = new ArrayList<Fragment>();
ArrayList<String> slist = new ArrayList<String>();
private TMyAdapter tMyAdapter;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_01 ,container,false);
tl = view.findViewById(R.id.tl);
pager = view.findViewById(R.id.pager);
initData();
tl.setTabMode(TabLayout.MODE_FIXED);
tl.setupWithViewPager(pager);
tMyAdapter = new TMyAdapter(getChildFragmentManager());
pager.setAdapter(tMyAdapter);
return view;
}
private void initData() {
slist.add("热门");
slist.add("推荐");
flist.add(new BlankFragment1());
flist.add(new BlankFragment2());
}
class TMyAdapter extends FragmentPagerAdapter{
public TMyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
return flist.get(i);
}
@Override
public int getCount() {
return flist.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return slist.get(position);
}
}
}
//数据库展示
public class Frag_02 extends Fragment {
public String urlString = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
private Dao dao;
private TextView tv4;
ArrayList<String> list = new ArrayList<String>();
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_02 ,container,false);
dao = new Dao(getContext());
tv4 = view.findViewById(R.id.tv4);
String s = dao.queryData(urlString);
Gson gson = new Gson();
Log.e("lhy","========================"+s);
Bean bean = gson.fromJson(s, Bean.class);
List<Bean.DataBean> data = bean.getData();
for (int i=0;i<data.size();i++){
String news_title = data.get(i).getNews_title();
String news_summary = data.get(i).getNews_summary();
list.add(news_title);
list.add(news_summary);
}
String s1 = list.toString();
Log.e("www","============s========="+s1);
tv4.setText(s1);
return view;
}
}
//能力之外的
private TabLayout tl;
private ViewPager pager;
ArrayList<Fragment> flist = new ArrayList<Fragment>();
ArrayList<ChannelBean> slist = new ArrayList<>();
private TMyAdapter tMyAdapter;
private Button button;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_01 ,container,false);
tl = view.findViewById(R.id.tl);
pager = view.findViewById(R.id.pager);
button = view.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ChannelActivity.startChannelActivity((AppCompatActivity) getActivity(),slist);
}
});
tl.setTabMode(TabLayout.MODE_FIXED);
tl.setupWithViewPager(pager);
initData();
tMyAdapter = new TMyAdapter(getChildFragmentManager());
pager.setAdapter(tMyAdapter);
return view;
}
private void initData() {
slist.add(new ChannelBean("推荐",true));
slist.add(new ChannelBean("热门",true));
slist.add(new ChannelBean("我的",true));
slist.add(new ChannelBean("1",false));
slist.add(new ChannelBean("2",false));
slist.add(new ChannelBean("3",false));
for (int i= 0;i<slist.size();i++){
if (slist.get(i).isSelect()){
String name = slist.get(i).getName();
tl.addTab(tl.newTab().setText(name));
if (i==0){
flist.add(new BlankFragment1());
}
else if(i==1){
flist.add(new BlankFragment2());
}
}
}
}