android 通过 SharedPreferences判断应用是否显示引导页
欢迎页面WelcomeActivity xml文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".WelcomeActivity" > <ImageView android:id="@+id/ivWelcome" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:src="@drawable/login_pic" android:scaleType="fitXY"/> </RelativeLayout>
欢迎页面WelcomeActivity代码部分
public class WelcomeActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_welcome); load(); } Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what) { case 1: nextActivity(); break; default: break; } super.handleMessage(msg); } }; /** * 通过获取SharedPreferences的值判断,跳转到下一个页面 * */ private SharedPreferences sp; private void nextActivity(){ //磁盘存储 用于持久化 sp=super.getSharedPreferences("app_param", Context.MODE_PRIVATE); int use=sp.getInt("use",0);//默认值 0 if (use==0) { goIndex(); }else{ goHome(); } } /** * 跳转索引页 * */ private void goIndex(){ Intent intent=new Intent(this,HelperActivity.class); startActivity(intent); finish(); } /** * 直接进入应用页面 * */ private void goHome(){ Intent intent=new Intent(this,NewsHomeFragmentActivity.class); startActivity(intent); finish(); } private void load(){ //使用线程 new Thread(new Runnable() { @Override public void run() { //访问数据库(读取channel数据,个人设置信息,登录用户信息) //启动后台服务Service try { Thread.sleep(1000);//睡眠一秒钟,模拟数据读取 } catch (InterruptedException e) { e.printStackTrace(); } handler.sendEmptyMessage(1);//arg1的值线程中的内容执行完全后 } }).start(); } }
引导页面的xml文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".HelperActivity" > <android.support.v4.view.ViewPager android:id="@+id/vpHelper" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v4.view.ViewPager> </RelativeLayout>
引导页面的代码部分
public class HelperActivity extends Activity implements OnPageChangeListener{ private List<ImageView> imgList=new ArrayList<ImageView>(); private ViewPager vpHelper; private HelperImgPageAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_helper); init(); } private void init(){ setList(); vpHelper=(ViewPager)super.findViewById(R.id.vpHelper); adapter=new HelperImgPageAdapter(imgList, this); vpHelper.setAdapter(adapter); vpHelper.setOnPageChangeListener(this); } /** * 加载引导页面的数据 * */ private void setList(){ ImageView img1=new ImageView(this); img1.setImageResource(R.drawable.help_detail1); img1.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); ImageView img2=new ImageView(this); img2.setImageResource(R.drawable.help_detail2); img2.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); ImageView img3=new ImageView(this); img3.setImageResource(R.drawable.help_detail3); img3.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); ImageView img4=new ImageView(this); img4.setImageResource(R.drawable.help_detail4); img4.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); ImageView img5=new ImageView(this); img5.setImageResource(R.drawable.help_detail5); img5.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); imgList.add(img1); imgList.add(img2); imgList.add(img3); imgList.add(img4); imgList.add(img5); } /** * ViewPager监听事件 * */ @Override public void onPageScrollStateChanged(int arg0) {//滚动状态改变 } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } private SharedPreferences sp; @Override public void onPageSelected(int position) {//选择状态 if (position==5) {//判断是否滑动结束 goHome(); sp=super.getSharedPreferences("app_param", Context.MODE_PRIVATE); sp.edit().putInt("use", 1).commit();//修改 SharedPreferences的参数 finish(); } } /** * 跳转到应用主页面 * */ private void goHome(){ Intent intent=new Intent(this,NewsHomeFragmentActivity.class); startActivity(intent); } }
引导页的ViewPager的适配器adapter
public class HelperImgPageAdapter extends PagerAdapter{ private List<ImageView> list; private Context context; public HelperImgPageAdapter(List<ImageView> list, Context context) { this.list = list; this.context = context; } @Override public int getCount() { return list==null?0:list.size(); } @Override public boolean isViewFromObject(View view, Object obj) { return view==obj; } /** * 移除,清理 * */ @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(list.get(position)); } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView view=list.get(position); container.addView(view); return view; } }
生如夏花之绚烂,死如秋叶之静美。


浙公网安备 33010602011771号