倒计时记住密码
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();
}
}