package com.bwie.sharedpreferenceddemo;
import java.util.Arrays;
import java.util.List;
import com.bwie.sharedpreferenceddemo.utils.SharedPreferencedUtils;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
public class MainActivity extends Activity {
private ViewPager vp;
private List<View> viewList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(isFirst()){
goActivity();
finish();
return;
}
initView();
initData();
setViewPagerAdapter();
}
/**
* 是否第一次开启
*/
private boolean isFirst(){
boolean isFirst = (Boolean) SharedPreferencedUtils.getParamsValue(this, "flag", false);
return isFirst;
}
/**
* 设置适配器
*/
private void setViewPagerAdapter() {
vp.setAdapter(new PagerAdapter() {
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public int getCount() {
return viewList != null ? viewList.size() : 0;
}
@Override
public void destroyItem(ViewGroup container, int position,
Object object) {
container.removeView(viewList.get(position));
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(viewList.get(position));
return viewList.get(position);
}
});
}
/**
* 初始化数据
*/
private void initData() {
View view1 = View.inflate(this, R.layout.layout1, null);
View view2 = View.inflate(this, R.layout.layout2, null);
view2.findViewById(R.id.btnEnter).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//TODO 处理点击事件,需要保存一个 flag 值
SharedPreferencedUtils.saveParams(MainActivity.this, "flag", true);
goActivity();
finish();
}
});
viewList = Arrays.asList(view1,view2);
}
/**
* 初始化View
*/
private void initView() {
vp = (ViewPager) findViewById(R.id.vp);
}
/**
* 跳转
*/
private void goActivity(){
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
}
}
package com.bwie.sharedpreferenceddemo;
import com.bwie.sharedpreferenceddemo.utils.SharedPreferencedUtils;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TextView;
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView view = new TextView(this);
view.setText("你个饿货...");
view.setTextColor(Color.RED);
setContentView(view);
}
}
package com.bwie.sharedpreferenceddemo.utils;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
/**
* @类的作用:这个用于共享参数保存的工具类
* @author rookie
*
*/
public class SharedPreferencedUtils {
private static final String FILE_NAME = "info";
/**
* 保存数据的方法
* @param context
* @param key
* @param value
*/
public static void saveParams(Context context,String key,Object value){
SharedPreferences sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
Editor editor = sp.edit();
String type = value.getClass().getSimpleName();
if("Integer".equals(type)){
editor.putInt(key, (Integer)value);
}else if("Float".equals(type)){
editor.putFloat(key, (Float)value);
}else if("Boolean".equals(type)){
editor.putBoolean(key, (Boolean)value);
}else if("Long".equals(type)){
editor.putLong(key, (Long)value);
}else if("String".equals(type)){
editor.putString(key, (String)value);
}
editor.commit();
}
/**
* 获取相关的参数值
* @param context
* @param key
* @param value
* @return
*/
public static Object getParamsValue(Context context,String key,Object value){
SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);
String type = value.getClass().getSimpleName();
if("Integer".equals(type)){
return sp.getInt(key, 0);
}else if("Float".equals(type)){
return sp.getFloat(key, 0f);
}else if("Boolean".equals(type)){
return sp.getBoolean(key, false);
}else if("Long".equals(type)){
return sp.getLong(key, 0);
}else if("String".equals(type)){
return sp.getString(key, "");
}
return null;
}
}