开关机压力测试APK学习

开关机压力测试APK学习

分类:Android

楼主身在一个手机方案公司,最近在查看一个开关机压力测试的APK,记录一下,学习一下别人的代码。功能单一,代码简单,谢谢!

布局界面较简单,一个ListView里面含有三个Textiew,一个设置总的重启次数,一个重启开关,一个用于显示标记已经重启的次数。这里就不写出了。

package com.zh.reboot;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.DialogInterface.OnClickListener;import android.content.Intent;import android.os.Bundle;import android.os.CountDownTimer;import android.os.Handler;import java.util.Timer;import java.util.TimerTask;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.content.Context;import android.view.View;import android.widget.AdapterView;import android.widget.EditText;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.AdapterView.OnItemClickListener;import android.text.Editable;import android.text.TextWatcher;import android.widget.Toast;public class mainActivity extends Activity {/** Called when the activity is first created. */// get all AdapterSimpleAdapter adapter;ArrayList list;HashMap mp;ListView lv;EditText et_num;String[] itemslab = { "", "", "" };String[] labmsg = { "", "", "" };String num;String[] str = { "", "" };private final Timer timer = new Timer();private TimerTask task;Handler handler;private boolean rebootflag = true;public final static int NEED_REBOOT = 1;public final static int NOT_NEED_REBOOT = 0;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);itemslab[0] = getString(R.string.set_total_num);//总共重启次数itemslab[1] = getString(R.string.start_auto_reboot);//重启开关itemslab[2] = getString(R.string.reboot_record);//已经重启次数记录SharedPreferences sharedPreferences = getSharedPreferences("datafile",Context.MODE_PRIVATE);/* * Editor editor = sharedPreferences.edit();//get editor * editor.putInt("totalnum", 100); editor.putInt("count", 0); * editor.commit(); */// submit modifyint totalnum = sharedPreferences.getInt("totalnum", 1);int count = sharedPreferences.getInt("count", 1);labmsg[0] = String.valueOf(totalnum);labmsg[2] = String.valueOf(count);lv = (ListView) findViewById(R.id.lv_operation);list = new ArrayList();mp = new HashMap();mp.put("label", itemslab[0]);mp.put("labmsg", labmsg[0]);list.add(mp);mp = new HashMap();mp.put("label", itemslab[1]);mp.put("labmsg", labmsg[1]);list.add(mp);mp = new HashMap();mp.put("label", itemslab[2]);mp.put("labmsg", labmsg[2] + "/" + labmsg[0]);list.add(mp);adapter = new SimpleAdapter(this, list, R.layout.item, new String[] {"label", "labmsg" }, new int[] { R.id.label, R.id.labmsg });lv.setAdapter(adapter);if (count == totalnum) {//若相等,则表示开关机测试结束} else {AlertDialog.Builder builder = new AlertDialog.Builder(mainActivity.this);builder.setMessage("(" + labmsg[2] + "/" + labmsg[0] + ")" + "\n"+ getString(R.string.auto_dialog_msg));builder.setNegativeButton(getString(R.string.no),new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int arg1) {// TODO Auto-generated method stubrebootflag = false;SharedPreferences sharedPreferences = getSharedPreferences("datafile", Context.MODE_PRIVATE);Editor editor = sharedPreferences.edit();// get// editoreditor.putInt("need_reboot", NOT_NEED_REBOOT);editor.commit();// submit datadialog.dismiss();}});builder.setPositiveButton(getString(R.string.yes),new OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1) {// excute reboot// modify countSharedPreferences sharedPreferences = getSharedPreferences("datafile", Context.MODE_PRIVATE);int count = sharedPreferences.getInt("count", 1);int totalnum = sharedPreferences.getInt("totalnum",1);if (count < totalnum) {count++;Editor editor = sharedPreferences.edit();// get// editoreditor.putInt("count", count);editor.putInt("need_reboot", NEED_REBOOT);editor.commit();// submit dataIntent intent = new Intent(Intent.ACTION_REBOOT);intent.putExtra("nowait", 1);intent.putExtra("interval", 1);intent.putExtra("window", 0);sendBroadcast(intent);}}});builder.show();//弹出提示,是否选择继续重启,或者是取消}// excute auto_reboot after 5shandler = new Handler() {@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stubsuper.handleMessage(msg);SharedPreferences sharedPreferences = getSharedPreferences("datafile", Context.MODE_PRIVATE);int count = sharedPreferences.getInt("count", 1);int totalnum = sharedPreferences.getInt("totalnum", 1);if (count < totalnum && rebootflag == true) {count++;Editor editor = sharedPreferences.edit();// get editoreditor.putInt("count", count);editor.commit();// submit data// excute rebootIntent intent = new Intent(Intent.ACTION_REBOOT);intent.putExtra("nowait", 1);intent.putExtra("interval", 1);intent.putExtra("window", 0);sendBroadcast(intent);}}};task = new TimerTask() {@Overridepublic void run() {// TODO Auto-generated method stubMessage message = new Message();message.what = 1;handler.sendMessage(message);}};timer.schedule(task, 5000);//若在前面builder.show();中没有选择,则5S后自动重启lv.setOnItemClickListener(new OnItemClickListener() {/*** response to click item*/@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {HashMap item = (HashMap) arg0.getItemAtPosition(arg2);String label = String.valueOf(item.get("label"));if (label.equals(getString(R.string.set_total_num))) {AlertDialog.Builder builder = new AlertDialog.Builder(mainActivity.this);builder.setTitle(getString(R.string.set_total_num));et_num = new EditText(mainActivity.this);et_num.setHint(getString(R.string.hint_words));et_num.addTextChangedListener(new TextWatcher() {@Overridepublic void afterTextChanged(Editable s) {if (s.length() > 0) {int pos = s.length() – 1;char c = s.charAt(pos);if (c < 48 || c > 57) {//s.delete(pos, pos + 1);Toast.makeText(mainActivity.this,getString(R.string.err_letter_info),Toast.LENGTH_SHORT).show();}}// TODO Auto-generated method stub}@Overridepublic void beforeTextChanged(CharSequence arg0,int arg1, int arg2, int arg3) {// TODO Auto-generated method stub}@Overridepublic void onTextChanged(CharSequence arg0, int arg1,int arg2, int arg3) {// TODO Auto-generated method stub}});builder.setView(et_num);builder.setPositiveButton(getString(R.string.confirm),new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {// dialog.dismiss();String scount = et_num.getText().toString();if (scount.equals("")) {Toast.makeText(mainActivity.this,getString(R.string.err_info_null),Toast.LENGTH_SHORT).show();} else {int totalnum = Integer.parseInt(scount);if (totalnum > 0 && totalnum < 3000) {dialog.dismiss();labmsg[0] = scount;SharedPreferences sharedPreferences = getSharedPreferences("datafile",Context.MODE_PRIVATE);Editor editor = sharedPreferences.edit();// get editoreditor.putInt("totalnum", totalnum);editor.putInt("count", 0);editor.commit();// submit data// add data to layoutlabmsg[0] = String.valueOf(totalnum);labmsg[2] = "0";list = new ArrayList();mp = new HashMap();mp.put("label", itemslab[0]);mp.put("labmsg", labmsg[0]);list.add(mp);mp = new HashMap();mp.put("label", itemslab[1]);mp.put("labmsg", labmsg[1]);list.add(mp);mp = new HashMap();mp.put("label", itemslab[2]);mp.put("labmsg", labmsg[2] + "/"+ labmsg[0]);list.add(mp);// add data to adapteradapter = new SimpleAdapter(mainActivity.this, list,R.layout.item,new String[] { "label","labmsg" },new int[] { R.id.label,R.id.labmsg });lv.setAdapter(adapter);// add// adapter// to// listview// and show// it to// user} else {Toast.makeText(mainActivity.this,getString(R.string.err_info),Toast.LENGTH_SHORT).show();dialog.dismiss();}}}});builder.setNegativeButton(getString(R.string.cancel), null);builder.show();} else if (label.equals(getString(R.string.start_auto_reboot))) {AlertDialog.Builder builder = new AlertDialog.Builder(mainActivity.this);builder.setMessage(getString(R.string.auto_reboot_msg));builder.setPositiveButton(getString(R.string.confirm),new OnClickListener() {@Overridepublic void onClick(DialogInterface arg0,int arg1) {// modify countSharedPreferences sharedPreferences = getSharedPreferences("datafile", Context.MODE_PRIVATE);int count = sharedPreferences.getInt("count", 1);int totalnum = sharedPreferences.getInt("totalnum", 1);if (count < totalnum) {count++;Editor editor = sharedPreferences.edit();// get editoreditor.putInt("count", count);editor.putInt("need_reboot",NEED_REBOOT);editor.commit();// submit dataIntent intent = new Intent(Intent.ACTION_REBOOT);intent.putExtra("nowait", 1);intent.putExtra("interval", 1);intent.putExtra("window", 0);sendBroadcast(intent);}}});builder.setNegativeButton(getString(R.string.cancel),new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {SharedPreferences sharedPreferences = getSharedPreferences("datafile", Context.MODE_PRIVATE);Editor editor = sharedPreferences.edit();// get// editoreditor.putInt("need_reboot",NOT_NEED_REBOOT);editor.commit();// submit datadialog.dismiss();}});builder.create().show();} else if (label.equals(getString(R.string.reboot_record))) {}}});}}

梦想让我与众不同,奋斗让我改变命运!

开关机压力测试APK学习

相关文章:

你感兴趣的文章:

标签云: