首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

SharedPreferences封存数据

2013-01-28 
SharedPreferences保存数据package com.testimport java.io.FileWriterimport java.io.IOExceptionimpo

SharedPreferences保存数据

package com.test;import java.io.FileWriter;import java.io.IOException;import android.app.Activity;import android.app.AlertDialog;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.os.PowerManager;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.TextView;public class MainActivity extends Activity implements OnClickListener {Button stopBut;Button clearBut;TextView textView;CheckBox mCheckBox1, mCheckBox2;int bootNumber;boolean isCBChecked;boolean isReboot = false;Context mContext;private static final String BOOT_NUMBER = "mBootNumber";private static final int SHUT_DOWN = 0;private static final int PLAY_VIDEO = 1;private static final String TAG = "MainActivity";@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);mContext = this;stopBut = (Button) findViewById(R.id.stopBut);clearBut = (Button) findViewById(R.id.clearBut);textView = (TextView) findViewById(R.id.mTextView);mCheckBox1 = (CheckBox) findViewById(R.id.CheckBox1);mCheckBox2 = (CheckBox) findViewById(R.id.CheckBox2);stopBut.setOnClickListener(this);clearBut.setOnClickListener(this);onReboot();// 启动保存log日志apkIntent intent = new Intent();intent.setComponent(new ComponentName("com.logcat","com.logcat.MainActivity"));intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);//Intent mIntent = new Intent();//mIntent = getPackageManager().getLaunchIntentForPackage(packageName);//startActivity(mIntent);SharedPreferences pres = getSharedPreferences(BOOT_NUMBER,Context.MODE_WORLD_READABLE);if (pres != null) {bootNumber = pres.getInt("boot_Number", 0);isCBChecked = pres.getBoolean("CheckBox_", true);}Log.i(TAG, "---------onCreate number:" + bootNumber);textView.setText("开机次数:" + bootNumber);bootNumber++;if (isCBChecked) {mCheckBox1.setChecked(true);mCheckBox2.setChecked(false);mHandler.sendEmptyMessageDelayed(SHUT_DOWN, 8000);Log.i(TAG, "---------isCBChecked:mCheckBox1" );} else {mCheckBox1.setChecked(false);mCheckBox2.setChecked(true);mHandler.sendEmptyMessageDelayed(PLAY_VIDEO, 4000);Log.i(TAG, "---------isCBChecked:mCheckBox2" );}mCheckBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {SharedPreferences pres = getSharedPreferences(BOOT_NUMBER, Context.MODE_WORLD_READABLE);if (isChecked) {isCBChecked = true;mCheckBox1.setChecked(true);mCheckBox2.setChecked(false);if (pres != null) {SharedPreferences.Editor ed = pres.edit();ed.putBoolean("CheckBox_", true);ed.commit();}} else {isCBChecked = false;SharedPreferences.Editor ed = pres.edit();ed.putBoolean("CheckBox_", false);ed.commit();}}});mCheckBox2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {SharedPreferences pres = getSharedPreferences(BOOT_NUMBER, Context.MODE_WORLD_READABLE);if (isChecked) {isCBChecked = false;mCheckBox2.setChecked(true);mCheckBox1.setChecked(false);if (pres != null) {SharedPreferences.Editor ed = pres.edit();ed.putBoolean("CheckBox_", false);ed.commit();}} else {isCBChecked = true;SharedPreferences.Editor ed = pres.edit();ed.putBoolean("CheckBox_", true);ed.commit();}}});}private Handler mHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case SHUT_DOWN:onShutdown();break;case PLAY_VIDEO: onPlayVideo();break;default:break;}}};@Overridepublic void onClick(View view) {if (view == stopBut) {Log.i(TAG, "   stop");new AlertDialog.Builder(this).setMessage("停止重启设备").setPositiveButton("OK", null).show();stop();mHandler.removeMessages(SHUT_DOWN);} else if (view == clearBut) {Log.i(TAG, "  clear");SharedPreferences pres = getSharedPreferences(BOOT_NUMBER,Context.MODE_WORLD_READABLE);if (pres != null) {SharedPreferences.Editor ed = pres.edit();ed.putInt("boot_Number", 0);ed.commit();}bootNumber = 0;textView.setText("开机次数:" + 0);}}public void onShutdown() {SharedPreferences pres = getSharedPreferences(BOOT_NUMBER,Context.MODE_WORLD_READABLE);if (pres != null) {SharedPreferences.Editor ed = pres.edit();ed.putInt("boot_Number", bootNumber);ed.commit();}//关机PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);pm.reboot("recovery");}private void onPlayVideo(){mHandler.sendEmptyMessageDelayed(SHUT_DOWN, 90000);Intent playVideo = new Intent();playVideo.setClass(MainActivity.this, VideoActicity.class);startActivity(playVideo);}private void stop() {try {FileWriter fw = new FileWriter("/sys/misc/poweron_status");fw.write("0x5a");fw.close();Log.i(TAG, "---------stop");} catch (IOException e) {e.printStackTrace();new AlertDialog.Builder(this).setMessage(e.getMessage()).setPositiveButton("OK", null).show();}}    //修改文件private void onReboot() {try {FileWriter fw = new FileWriter("/sys/misc/poweron_status");fw.write("0x87");fw.close();Log.i(TAG, "---------onReboot");} catch (IOException e) {e.printStackTrace();new AlertDialog.Builder(this).setMessage(e.getMessage()).setPositiveButton("OK", null).show();}}@Overrideprotected void onDestroy() {super.onDestroy();mHandler.removeMessages(SHUT_DOWN);mHandler.removeMessages(PLAY_VIDEO);}}

?

热点排行