使用SharedPreferences判断是否第一次安装程序
看一下效果
第一次安装从主界面跳到第一个界面
安装后每次打开,从主界面跳到第二个界面
核心代码如下:
package com.zhh.android;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.util.Log;
import android.view.Menu;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
/**
* 当第一次进入程序
在oncreate();中创建wenjian.xml文件。
取文件中的数据,没有数据则默认为true;
并赋值给myIsfirst=true;
在Myasyc();中把false数据改成false;
第二次进入取值则为flase跳到第二个界面
*
*
*/
public class MainActivity extends Activity {
// 定义一个布尔值
private Boolean myIsfirst = null;
Editor edited=null;
SharedPreferences share =null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 创建文件wenjian,实例化SharedPreferences对象
*/
share= getSharedPreferences("wenjian",
Context.MODE_PRIVATE);
edited= share.edit();
/**
* 取数据
* 没有存数据,直接取数据,取不到默认是true;并把值付给myIsfirst;
*
*/
myIsfirst = share.getBoolean("isfirst", true);
// 启动异步任务类
new Myasyc().execute();
}
class Myasyc extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... params) {
try {
Thread.sleep(3000);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if (myIsfirst) {
//存入数据false
edited.putBoolean("isfirst", false);
edited.commit();
// 如果第一次登陆跳到导航页面
Intent intent = new Intent();
intent.setClass(MainActivity.this, FirstActivity.class);
startActivity(intent);
} else {
// 如果不是第一次登陆跳到主页面
Intent intent = new Intent();
intent.setClass(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
}
}
}
如果不明白的话可以免积分下载我写的例子