引导页mainActivity
package com.example.day1013_2;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
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.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.TextView;
import com.example.day1013_2.Adapter.MyFragmentAdapter;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends AppCompatActivity {
private TabLayout mainTablayout;
private RadioButton mainRadionPerson;
private RadioButton mainRadionMeeage;
private RadioButton mainRadionPhone;
private RadioButton mainRadionCramme;
private TextView mainTextTime;
private Button mainButtonIntent;
private FragmentManager manager;
private FragmentTransaction fragmentTransaction;
private List<Fragment> fragmentList = new ArrayList<>();
private ViewPager mainViewPager;
private List<String> titleList=new ArrayList<>();
//倒计时
private Timer timer1=new Timer();
private int index=5;
//viewpager滚动
private Timer timer2=new Timer();
private int index2=0;
private Handler handler=new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
mainTextTime = (TextView) findViewById(R.id.main_text_time);
mainButtonIntent = (Button) findViewById(R.id.main_button_intent);
mainTablayout = (TabLayout) findViewById(R.id.main_tablayout);
mainRadionPerson = (RadioButton) findViewById(R.id.main_radion_person);
mainRadionMeeage = (RadioButton) findViewById(R.id.main_radion_meeage);
mainRadionPhone = (RadioButton) findViewById(R.id.main_radion_phone);
mainRadionCramme = (RadioButton) findViewById(R.id.main_radion_cramme);
mainViewPager = (ViewPager) findViewById(R.id.main_viewPager);
manager = getSupportFragmentManager();
fragmentTransaction = manager.beginTransaction();
// Fragment1Person fragment1Person = new Fragment1Person();
Fragment2Message fragment2Message_four = new Fragment2Message();
Fragment2Message fragment2Message_one = new Fragment2Message();
Fragment2Message fragment2Message_two = new Fragment2Message();
Fragment2Message fragment2Message_three = new Fragment2Message();
//将fragment添加进集合
fragmentList.add(fragment2Message_four);
fragmentList.add(fragment2Message_one);
fragmentList.add(fragment2Message_two);
fragmentList.add(fragment2Message_three);
for (int i = 1; i < 5; i++) {
titleList.add("第"+i+"个");
}
//提交
fragmentTransaction.commit();
//给ViewPager设置适配器 myfragmentAdapter是外部类的适配器
MyFragmentAdapter myFragmentAdapter=new MyFragmentAdapter(getSupportFragmentManager(),fragmentList,titleList);
mainViewPager.setAdapter(myFragmentAdapter);
//将viewpager和layout绑定在一起
mainTablayout.setupWithViewPager(mainViewPager);
//fragment滑动
timer2.schedule(new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
mainViewPager.setCurrentItem(index2);
if (index2==fragmentList.size()){
mainButtonIntent.setVisibility(View.VISIBLE);
mainTextTime.setVisibility(View.VISIBLE);
timer2.cancel();
}
index2++;
}
});
}
},0,3000);
mainButtonIntent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
timer1.cancel();
finish();
}
});
//监听viewPager
mainViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
if (i==titleList.size()-1) {
//倒计时
timer1.schedule(new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
mainTextTime.setText("倒计时" + index + "秒");
if (index == 0) {
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
startActivity(intent);
timer1.cancel();
finish();
}
index--;
}
});
}
}, 0, 1000);
}
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
}
}
首页Activity
package com.example.day1013_2;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RadioButton;
import com.example.day1013_2.Adapter.MyFragmentAdapter;
import java.util.ArrayList;
import java.util.List;
public class Main2Activity extends AppCompatActivity {
private TabLayout main2Tablayout;
private ViewPager main2ViewPager;
private RadioButton main2RadionPerson;
private RadioButton main2RadionMeeage;
private RadioButton main2RadionPhone;
private RadioButton main2RadionCramme;
private FragmentManager manager;
private FragmentTransaction fragmentTransaction;
private List<Fragment> fragmentList = new ArrayList<>();
private List<String> titleList=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
main2Tablayout = (TabLayout) findViewById(R.id.main2_tablayout);
main2ViewPager = (ViewPager) findViewById(R.id.main2_viewPager);
main2RadionPerson = (RadioButton) findViewById(R.id.main2_radion_person);
main2RadionMeeage = (RadioButton) findViewById(R.id.main2_radion_meeage);
main2RadionPhone = (RadioButton) findViewById(R.id.main2_radion_phone);
main2RadionCramme = (RadioButton) findViewById(R.id.main2_radion_cramme);
manager = getSupportFragmentManager();
fragmentTransaction = manager.beginTransaction();
Fragment1Person fragment1Person = new Fragment1Person();
Fragment2Message fragment2Message_one = new Fragment2Message();
Fragment2Message fragment2Message_two = new Fragment2Message();
Fragment2Message fragment2Message_three = new Fragment2Message();
fragmentList.add(fragment1Person);
fragmentList.add(fragment2Message_one);
fragmentList.add(fragment2Message_two);
fragmentList.add(fragment2Message_three);
for (int i = 1; i < 5; i++) {
titleList.add("第"+i+"个");
}
fragmentTransaction.commit();
MyFragmentAdapter myFragmentAdapter=new MyFragmentAdapter(getSupportFragmentManager(),fragmentList,titleList);
main2ViewPager.setAdapter(myFragmentAdapter);
main2Tablayout.setupWithViewPager(main2ViewPager);
}
}
fragment1
package com.example.day1013_2;
import android.Manifest;
import android.app.DatePickerDialog;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Environment;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.Toast;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.Calendar;
public class Fragment1Person extends Fragment {
private Button fragmentButtonWriteSD;
private Button fragmentButtonCalender;
private Button fragmentButtonReadSD;
private TextView fragmentText;
private String path="http://api.yunzhancn.cn/api/app.interface.php?siteid=78703&act=column&ctype=4";
private File direction;
private File file;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View inflate = inflater.inflate(R.layout.fragment_fragment1_person, container, false);
fragmentButtonWriteSD = (Button) inflate.findViewById(R.id.fragment_button_writeSD);
fragmentButtonCalender = (Button) inflate.findViewById(R.id.fragment_button_calender);
fragmentButtonReadSD = (Button) inflate.findViewById(R.id.fragment_button_readSD);
fragmentText = (TextView) inflate.findViewById(R.id.fragment_text);
direction= Environment.getExternalStorageDirectory();
file=new File(direction,"mogu.txt");
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE},110);
fragmentButtonWriteSD.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new MyThread().start();
Toast.makeText(getActivity(), "存入SD卡成功", Toast.LENGTH_SHORT).show();
}
});
fragmentButtonReadSD.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
FileInputStream inputStream=new FileInputStream(file);
int len=0;
byte[]bytes=new byte[1024];
while ((len=inputStream.read(bytes))!=-1){
fragmentText.setText(new String(bytes,0,len));
}
if (fragmentText.getText().toString()!=null){
Toast.makeText(getActivity(), "写入sd卡成功", Toast.LENGTH_SHORT).show();
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
fragmentButtonCalender.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar calendar=Calendar.getInstance();
new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
Toast.makeText(getActivity(), "您选择了:"+year+"年"+(month+1)+"月"+dayOfMonth+"日", Toast.LENGTH_SHORT).show();
}
},calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH)).show();
}
});
return inflate;
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode==110){
if (permissions!=null&&grantResults[0]== PackageManager.PERMISSION_GRANTED){
Toast.makeText(getActivity(), "获取权限成功", Toast.LENGTH_SHORT).show();
}
}else {
Toast.makeText(getActivity(), "获取权限失败", Toast.LENGTH_SHORT).show();
getActivity().finish();
}
}
private class MyThread extends Thread{
@Override
public void run() {
super.run();
String jsonString = HttpUtils.loadUrl(path);
try {
FileOutputStream outputStream=new FileOutputStream(file);
outputStream.write(jsonString.getBytes());
outputStream.flush();
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
fragement2
package com.example.day1013_2;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Environment;
import android.support.annotation.NonNull;
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.day1013_2.Adapter.MyListAdapter;
import com.google.gson.Gson;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
public class Fragment2Message extends Fragment {
private List<JavaBean> lists=new ArrayList<>();
private ListView fragment2ListView;
private MyListAdapter myListAdapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View inflate = inflater.inflate(R.layout.fragment_fragment2_message, container, false);
fragment2ListView = (ListView) inflate.findViewById(R.id.fragment2_listView);
File directory = Environment.getDataDirectory();
File file = new File(directory, "mogu.txt");
try {
FileInputStream inputStream=new FileInputStream(file);
int len=0;
byte[]bytes=new byte[1024];
while ((len=inputStream.read(bytes))!=-1){
Gson gson = new Gson();
JavaBean javaBean = gson.fromJson(new String(bytes, 0, len), JavaBean.class);
lists.add(javaBean);
myListAdapter.notifyDataSetChanged();
}
} catch (Exception e) {
e.printStackTrace();
}
myListAdapter=new MyListAdapter(getActivity(),lists);
fragment2ListView.setAdapter(myListAdapter);
return inflate;
}
}
Adapter
fragmentAdapter
package com.example.day1013_2.Adapter;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import java.util.List;
public class MyFragmentAdapter extends FragmentStatePagerAdapter {
private List<Fragment> fragmentList;
private List<String> titleList;
public MyFragmentAdapter(FragmentManager fm, List<Fragment> fragmentList, List<String> titleList) {
super(fm);
this.fragmentList = fragmentList;
this.titleList = titleList;
}
@Override
public Fragment getItem(int i) {
return fragmentList.get(i);
}
@Override
public int getCount() {
return fragmentList.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return titleList.get(position);
}
}
ListAdapter
package com.example.day1013_2.Adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Adapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.example.day1013_2.JavaBean;
import com.example.day1013_2.R;
import java.util.List;
public class MyListAdapter extends BaseAdapter {
private Context context;
private List<JavaBean> lists;
private LayoutInflater layoutInflater;
public MyListAdapter(Context context, List<JavaBean> lists) {
this.context = context;
this.lists = lists;
layoutInflater=LayoutInflater.from(context);
}
@Override
public int getCount() {
return lists.size();
}
@Override
public Object getItem(int position) {
return lists.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder=null;
if (convertView==null){
holder=new ViewHolder();
convertView=layoutInflater.inflate(R.layout.item_fragment2_layout,null);
holder.imageView=convertView.findViewById(R.id.fragment2_item_image);
holder.textView=convertView.findViewById(R.id.fragment2_item_text);
convertView.setTag(holder);
}else {
holder= (ViewHolder) convertView.getTag();
}
Glide.with(context).load(lists.get(position).getThumb()).into(holder.imageView);
holder.textView.setText(lists.get(position).getName());
return convertView;
}
static class ViewHolder{
private ImageView imageView;
private TextView textView;
}
}