倒计时加主页面

倒计时记住密码
package com.example.lanxi1;

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.widget.TextView;

public class MainActivity extends AppCompatActivity {
private TextView miao;
//定义一个秒数
private int time=5;
//获得sharePreferences
private SharedPreferences sharedPreferences;
private SharedPreferences.Editor editor;
//定义一个Handler
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);

          if (time==0){
              Intent intent=new Intent(MainActivity.this,Main2Activity.class);
              startActivity(intent);
              finish();
          }else {
                time--;
                miao.setText(time+"秒");
                handler.sendEmptyMessageDelayed(0,1000);
          }
      }
  };
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    miao=findViewById(R.id.miao);
    //执行handler


    //获得sharePreferences
    sharedPreferences=getSharedPreferences("aaa",MODE_PRIVATE);
    editor=sharedPreferences.edit();
    boolean cc = sharedPreferences.getBoolean("cc", false);
    if (cc){
        Intent intent = new Intent(MainActivity.this,Main2Activity.class);
        startActivity(intent);
        finish();
    }
     editor.putBoolean("cc",true);
     editor.commit();
    handler.sendEmptyMessageDelayed(0,1000);
}

@Override
protected void onDestroy() {
    super.onDestroy();
    handler.removeMessages(0);
}

}
轮播
package com.example.lanxi1;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
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.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;

import com.example.lanxi1.Fragments.Fragment1;
import com.example.lanxi1.Fragments.Fragment2;
import com.example.lanxi1.Fragments.Fragment3;

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

public class Main2Activity extends FragmentActivity implements View.OnClickListener {
private ViewPager viewPager;
private RadioGroup group;
private RadioButton but1,but2,but3;
private Button an1,an2,an3;
private Listlist;
private DrawerLayout drawer;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);
    viewPager=findViewById(R.id.viewPager);
    group=findViewById(R.id.group);
    but1=findViewById(R.id.but1);
    but2=findViewById(R.id.but2);
    but3=findViewById(R.id.but3);
    an1=findViewById(R.id.an1);
    an2=findViewById(R.id.an2);
    an3=findViewById(R.id.an3);
    drawer=findViewById(R.id.drawer);

    an1.setOnClickListener(this);
    an2.setOnClickListener(this);
    an3.setOnClickListener(this);

    list = new ArrayList<>();
    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();
        }
    });

    //点击
    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int i, float v, int i1) {

        }

        @Override
        public void onPageSelected(int i) {
              switch (i){
                  case 0:
                      group.check(R.id.but1);
                      break;

                  case 1:
                      group.check(R.id.but2);
                      break;

                  case 2:
                      group.check(R.id.but3);
                      break;
              }
        }

        @Override
        public void onPageScrollStateChanged(int i) {

        }
    });
    //滑动
    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;
               }
        }
    });

}

@Override
public void onClick(View v) {
     switch (v.getId()){
         case R.id.an1:
             viewPager.setCurrentItem(0);
             drawer.closeDrawers();
             break;


         case R.id.an2:
             viewPager.setCurrentItem(1);
             drawer.closeDrawers();
             break;


         case R.id.an3:
             viewPager.setCurrentItem(2);
             drawer.closeDrawers();
             break;
     }
}

}
Tablao标题栏
package com.example.lanxi1;

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.example.lanxi1.bao.BlankFragmengt;
import com.example.lanxi1.bao.HomeFragmengt;

public class VpAdapter extends FragmentPagerAdapter {

private String[] names=new String[]{
        "关注","影视","综艺","娱乐"
};

public VpAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int i) {

    switch (i){
        case 0:
            return new HomeFragmengt();
            default:
                return new BlankFragmengt();
    }
}

@Override
public int getCount() {
    return names.length;
}

@Nullable
@Override
public CharSequence getPageTitle(int position) {
    return names[position];
}

}
适配器
package com.example.lanxi1;

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

import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.display.CircleBitmapDisplayer;

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

public class Madapter extends BaseAdapter {
private Context context;
private List<Bean.ResultBean>list;

 private ImageLoader imageLoader=ImageLoader.getInstance();
private final DisplayImageOptions imageOptions;
private ImageView images;


public Madapter(Context context, List<Bean.ResultBean> list) {
    this.context = context;
    this.list = list;

    imageOptions = new DisplayImageOptions.Builder()
            //为空时显示的图片
            .showImageForEmptyUri(R.mipmap.ic_launcher)
            //图片缓存路径
            .cacheOnDisk(true)
            .cacheInMemory(true)
            //图片缓存格式
            .bitmapConfig(Bitmap.Config.RGB_565)
            .displayer(new CircleBitmapDisplayer())
            .build();


}

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

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

@Override
public long getItemId(int position) {
    return position;
}

@Override
public int getViewTypeCount() {
    return 2;
}

@Override
public int getItemViewType(int position) {
      if (position%2==0){
           return 0;
      }else {
          return 1;
      }

}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    int temp=getItemViewType(position);
    if (temp==0){
        ViewHolder  holder;
        if (convertView==null){
            holder=new ViewHolder();
            convertView=View.inflate(context,R.layout.outher,null);
            holder.title=convertView.findViewById(R.id.title);
            convertView.setTag(holder);
        }else {
            holder=(ViewHolder)convertView.getTag();
        }
        holder.title.setText(list.get(position).getName());
    }else {
        ViewHolder2  holder2;
        if (convertView==null){
            holder2=new ViewHolder2();
            convertView=View.inflate(context,R.layout.outher2,null);
            holder2.zi1=convertView.findViewById(R.id.zi1);
            images=convertView.findViewById(R.id.images);
            convertView.setTag(holder2);
        }else {
            holder2=(ViewHolder2)convertView.getTag();
        }
        holder2.zi1.setText(list.get(position).getName());
        String path=list.get(position).getImageUrl();

        imageLoader.displayImage(path,images,imageOptions);
    }

    return convertView;
}
class ViewHolder{
     TextView title;
}
class ViewHolder2{
    ImageView images;
    TextView zi1;
}

}

ImageLader图片

package com.example.lanxi1.tupian;

import android.app.Application;

import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

import java.io.File;

public class Aplite extends Application {

@Override
public void onCreate() {
    super.onCreate();
    //设置成全局
    ImageLoaderConfiguration aDefault = new ImageLoaderConfiguration.Builder(this)

            //缓存到磁盘
            .diskCache(new UnlimitedDiskCache(new File(getCacheDir(),"image")))
            .build();

         ImageLoader.getInstance().init(aDefault);
}

}
Sql语句
package com.example.lanxi1.shujuku;

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

public class Sqliteopholder extends SQLiteOpenHelper {
public Sqliteopholder( Context context) {
super(context,“User.db”, null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table users(id integer primary key /*autoincrement*/ ,name text,imageUrl text)");
}

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

}

}
Dao层
package com.example.lanxi1.shujuku;

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

import com.example.lanxi1.Bean;

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

public class Dao {
private SQLiteDatabase db;

public Dao(Context context) {
    Sqliteopholder holder = new Sqliteopholder(context);
    db=holder.getWritableDatabase();
}

//查询
public List<Bean.ResultBean> select(){
    Cursor query = db.query("users", null, null, null, null, null, null);
    List<Bean.ResultBean> list = new ArrayList<>();
    while (query.moveToNext()){
        String name = query.getString(query.getColumnIndex("name"));
        String imageUrl = query.getString(query.getColumnIndex("imageUrl"));
        int id = query.getInt(query.getColumnIndex("id"));
        list.add(new Bean.ResultBean(imageUrl,name, id));
    }
    return list;
}

//添加
public void add(String name,String imageUrl, int id){
    ContentValues values=new ContentValues();
    values.put("name",name);
    values.put("imageUrl",imageUrl);
    values.put("id", String.valueOf(id));
    db.insert("users",null,values);
}

}
数据库NeUtil
package com.example.lanxi1.shujuku;

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

public class NeUtil {

public static boolean has(Context context){
    //创建连接管理器
    ConnectivityManager cm =(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    //获取最新流动状态
    NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();

    return activeNetworkInfo!=null&&activeNetworkInfo.isAvailable();

}

}

Tablet与viewpager链接
package com.example.lanxi1.Fragments;

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.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.lanxi1.R;
import com.example.lanxi1.VpAdapter;

public class Fragment1 extends Fragment {
private TabLayout tab;
private ViewPager viewPager;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup
container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.one,container,false);
tab=view.findViewById(R.id.tab);
viewPager=view.findViewById(R.id.viewPager);

    viewPager.setAdapter(new VpAdapter(getChildFragmentManager()));

    tab.setupWithViewPager(viewPager);
    return view;
}

}
主页面
package com.example.lanxi1.bao;

import android.annotation.SuppressLint;
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.TextView;
import android.widget.Toast;

import com.example.lanxi1.Bean;
import com.example.lanxi1.Madapter;
import com.example.lanxi1.R;
import com.example.lanxi1.shujuku.Dao;
import com.example.lanxi1.shujuku.NeUtil;
import com.example.pulltolibrary.PullToRefreshBase;
import com.example.pulltolibrary.PullToRefreshListView;
import com.google.gson.Gson;
import com.recker.flybanner.FlyBanner;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class HomeFragmengt extends Fragment {
private FlyBanner banner;
private PullToRefreshListView lv;
private String url = “http://172.17.8.100/movieApi/movie/v1/findHotMovieList?page=1&count=10”;
private int num = 1;
private List<Bean.ResultBean> list=new ArrayList<>();
private Bean bean;
private Dao dao;

private String[] img = {
        "http://attach.bbs.miui.com/forum/201303/16/173716jzszx8vbbb0z9o4k.jpg",
        "http://pic.58pic.com/58pic/13/16/42/18F58PIChTy_1024.jpg",
        "http://pic28.photophoto.cn/20130929/0034034819144555_b.jpg"
};
private Madapter madapter;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup
        container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.yi, container, false);
    banner = view.findViewById(R.id.banner);
    lv = view.findViewById(R.id.lv);
    dao = new Dao(getActivity());
    lv.setMode(PullToRefreshListView.Mode.BOTH);

    madapter = new Madapter(getActivity(), list);
    lv.setAdapter(madapter);
    //定义异步请求
    initda(1);
    //刷新加载
    indate();

    initBland(view);
    return view;
}

private void initBland(View view) {
    banner = view.findViewById(R.id.banner);
    List<String> imgURl = new ArrayList<>();
    for (int i = 0; i < img.length; i++) {
        imgURl.add(img[i]);
    }
    banner.setImagesUrl(imgURl);
}

private void indate() {
    lv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
        @Override
        public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
            num = 1;
            list.clear();
            initda(1);
        }

        @Override
        public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
            num++;
            initda(num);
        }
    });
}

@SuppressLint("StaticFieldLeak")
private void initda(final int num) {
    if (NeUtil.has(getActivity()) == false) {
        Toast.makeText(getActivity(), "联网失败", Toast.LENGTH_SHORT).show();
        list.addAll(dao.select());
        madapter.notifyDataSetChanged();
        return;
    } else if (NeUtil.has(getActivity()) == true) {
        new AsyncTask<String, View, List<Bean.ResultBean>>() {
            @Override
            protected List<Bean.ResultBean> doInBackground(String... strings) {
                try {
                    URL url = new URL(strings[0]);
                    HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
                    httpURLConnection.setRequestMethod("GET");
                    httpURLConnection.setConnectTimeout(5000);
                    httpURLConnection.setReadTimeout(5000);
                    int responseCode = httpURLConnection.getResponseCode();
                    if (responseCode == 200) {
                        String s = s2(httpURLConnection.getInputStream());
                        Gson gson = new Gson();
                        Bean bean = gson.fromJson(s, Bean.class);

                        for (int i = 0; i < bean.getResult().size(); i++) {
                            dao.add(bean.getResult().get(i).getName(), bean.getResult().get(i).getImageUrl(),
                                    bean.getResult().get(i).getId());
                        }

                        return dao.select();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }

            @Override
            protected void onPostExecute(List<Bean.ResultBean> resultBeans) {
                super.onPostExecute(resultBeans);
                list.addAll(resultBeans);
                madapter.notifyDataSetChanged();
                lv.onRefreshComplete();
            }

        }.execute(url + num);
    }

}

private String s2(InputStream inputStream) throws IOException {
    StringBuilder stringBuilder = new StringBuilder();
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));

    for (String temp = bufferedReader.readLine(); temp != null; temp = bufferedReader.readLine()) {
        stringBuilder.append(temp);
    }
    return stringBuilder.toString();

}

}

猜你喜欢

转载自blog.csdn.net/weixin_43250402/article/details/85091775