如何清除安卓清除游戏数据游戏的记录?

1793人阅读
android 启动模式
1.引导界面同时鉴别是不是新版本,用来重新出现loading页和清除旧版本数据
package com.xionghu.
import java.util.ArrayL
import com.
import android.app.A
import android.content.I
import android.content.SharedP
import android.content.SharedPreferences.E
import android.os.B
import android.support.v4.view.ViewP
import android.support.v4.view.ViewPager.OnPageChangeL
import android.view.LayoutI
import android.view.V
import android.view.View.OnClickL
import android.view.W
import android.view.WindowM
import android.widget.ImageV
* @author yangyu 功能描述:引导界面activity类
public class GuideActivity extends Activity implements OnPageChangeListener {
// 定义ViewPager对象
private ViewPager viewP
// 定义ViewPager适配器
private ViewPagerAdapter vpA
// 定义一个ArrayList来存放View
private ArrayList&View&
// 定义各个界面View对象
private View view1, view2, view3, view4, view5;
// 定义开始按钮对象
private ImageView startBt;
// 是否是第一次使用
private boolean isFirstU
private int old_install_Code, current_versionC
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_guide);
SharedPreferences preferences = getSharedPreferences(&isFirstUse&, 1);
// 读取SharedPreferences中需要的数据
isFirstUse = preferences.getBoolean(&isFirstUse&, true);
old_install_Code = preferences.getInt(&old_install_Code&, 0);
// Common.getVerCode 中包名一定要与本应用包名一致
current_versionCode = Common.getVerCode(getApplicationContext());
if (isFirstUse || old_install_Code == 0
|| current_versionCode & old_install_Code) {
initView();
Intent intent = new Intent();
intent.setClass(GuideActivity.this, MainActivity.class);
startActivity(intent);
this.finish();
* 初始化组件
private void initView() {
// 实例化各个界面的布局对象
LayoutInflater mLi = LayoutInflater.from(this);
view1 = mLi.inflate(R.layout.guide_view01, null);
view2 = mLi.inflate(R.layout.guide_view02, null);
view3 = mLi.inflate(R.layout.guide_view03, null);
view4 = mLi.inflate(R.layout.guide_view04, null);
// 实例化ViewPager
viewPager = (ViewPager) findViewById(R.id.viewpager);
// 实例化ArrayList对象
views = new ArrayList&View&();
// 实例化ViewPager适配器
vpAdapter = new ViewPagerAdapter(views);
// 实例化开始按钮
startBt = (ImageView) view4.findViewById(R.id.start_img);
initData();
* 初始化数据
private void initData() {
// 设置***
viewPager.setOnPageChangeListener(this);
// 将要分页显示的View装入数组中
views.add(view1);
views.add(view2);
views.add(view3);
views.add(view4);
// 设置适配器数据
viewPager.setAdapter(vpAdapter);
// 给开始按钮设置***
startBt.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
startbutton();
public void onPageScrollStateChanged(int arg0) {
public void onPageScrolled(int arg0, float arg1, int arg2) {
public void onPageSelected(int arg0) {
* 相应按钮点击事件
private void startbutton() {
SharedPreferences preferences = getSharedPreferences(&isFirstUse&, 1);
// 实例化Editor对象
Editor editor = preferences.edit();
// 存入数据
editor.putBoolean(&isFirstUse&, false);
editor.putInt(&old_install_Code&, current_versionCode);
// 提交修改
// 本应用数据清除管理器 DataCleanManager
// DataCleanManager.cleanSharedPreference(this);
// 清除本应用旧版本SharedPreference
// DataCleanManager.cleanDatabases(this) 清除本应用旧版本所有数据库
Intent intent = new Intent();
intent.setClass(GuideActivity.this, MainActivity.class);
startActivity(intent);
this.finish();
当AndroidManifest.xml 中 android:versionCode=&1& &改为&android:versionCode=&2& 时 你会发现loading页又出现了
package com.example.
* @author harvic
* @address http://blog.csdn.net/harvic880925
import android.content.C
import android.content.pm.PackageManager.NameNotFoundE
import android.util.L
public class Common {
* 获取软件版本号
* @param context
public static int getVerCode(Context context) {
int verCode = -1;
//注意:&com.example.try_downloadfile_progress&对应AndroidManifest.xml里的package=&……&部分
verCode = context.getPackageManager().getPackageInfo(
&com.xionghu.view&, 0).versionC
} catch (NameNotFoundException e) {
Log.e(&msg&,e.getMessage());
return verC
* 获取版本名称
* @param context
public static String getVerName(Context context) {
String verName = &&;
verName = context.getPackageManager().getPackageInfo(
&com.xionghu.view&, 0).versionN
} catch (NameNotFoundException e) {
Log.e(&msg&,e.getMessage());
return verN
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().
return (int) (dpValue * scale + 0.5f);
* 获取手机状态栏高度
public static int getStatusBarHeight(Context context) {
int result = 0;
int resourceId = context.getResources().getIdentifier(&status_bar_height&, &dimen&, &android&);
if (resourceId & 0) {
result = context.getResources().getDimensionPixelSize(resourceId);
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().
return (int) (pxValue / scale + 0.5f);
3.DataCleanManager.java用来 清除旧版本数据&
package com.xionghu.
* 文 件 名:
DataCleanManager.java
主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录
import java.io.F
import android.annotation.SuppressL
import android.content.C
import android.os.E
/** * 本应用数据清除管理器 */
public class DataCleanManager {
/** * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) * * @param context */
public static void cleanInternalCache(Context context) {
deleteFilesByDirectory(context.getCacheDir());
/** * 清除本应用所有数据库(/data/data/com.xxx.xxx/databases) * * @param context */
@SuppressLint(&SdCardPath&)
public static void cleanDatabases(Context context) {
deleteFilesByDirectory(new File(&/data/data/&
+ context.getPackageName() + &/databases&));
* * 清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs) * * @param
@SuppressLint(&SdCardPath&)
public static void cleanSharedPreference(Context context) {
deleteFilesByDirectory(new File(&/data/data/&
+ context.getPackageName() + &/shared_prefs&));
/** * 按名字清除本应用数据库 * * @param context * @param dbName */
public static void cleanDatabaseByName(Context context, String dbName) {
context.deleteDatabase(dbName);
/** * 清除/data/data/com.xxx.xxx/files下的内容 * * @param context */
public static void cleanFiles(Context context) {
deleteFilesByDirectory(context.getFilesDir());
* * 清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache) * * @param
public static void cleanExternalCache(Context context) {
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
deleteFilesByDirectory(context.getExternalCacheDir());
/** * 清除自定义路径下的文件,使用需小心,请不要误删。而且只支持目录下的文件删除 * * @param filePath */
public static void cleanCustomCache(String filePath) {
deleteFilesByDirectory(new File(filePath));
/** * 清除本应用所有的数据 * * @param context * @param filepath */
public static void cleanApplicationData(Context context, String... filepath) {
cleanInternalCache(context);
cleanExternalCache(context);
cleanDatabases(context);
cleanSharedPreference(context);
cleanFiles(context);
for (String filePath : filepath) {
cleanCustomCache(filePath);
/** * 删除方法 这里只会删除某个文件夹下的文件,如果传入的directory是个文件,将不做处理 * * @param directory */
private static void deleteFilesByDirectory(File directory) {
if (directory != null && directory.exists() && directory.isDirectory()) {
for (File item : directory.listFiles()) {
item.delete();
DataCleanManager.java 使用
package com.xionghu.
import android.app.A
import android.os.B
import android.view.V
import android.view.View.OnClickL
import android.view.W
import android.widget.B
import android.widget.T
public class MainActivity extends Activity {
private Button clean_
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
clean_data = (Button) findViewById(R.id.clean_data);
clean_data.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
DataCleanManager.cleanSharedPreference(MainActivity.this);
* 其他数据清除 用 DataCleanManager
// DataCleanManager.cleanDatabases(context) 清除本应用所有数据库
Toast.makeText(MainActivity.this,
&清除本应用SharedPreference 成功!!!&, Toast.LENGTH_SHORT)
Toast.makeText(MainActivity.this, &再次打开本程序,发现loading页又出现了&,
Toast.LENGTH_SHORT).show();
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:39887次
排名:千里之外
原创:15篇
评论:27条
(1)(4)(5)(5)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'

参考资料

 

随机推荐