Android 中门磁自动警报实例总结。。。。

来源:互联网 发布:知乐百度网盘 编辑:程序博客网 时间:2024/04/30 22:13

在这个例子中主要的就是有一个门磁警报系统,简单的说,门打开 警报就会响。


废话不多说 直接上代码:


这是核心方法代码:

Anfang.class


private void init() {rg_securityMode = (RadioGroup) getActivity().findViewById(R.id.rg_securityMode);modesharedpreference = getActivity().getSharedPreferences("UserSP",Context.MODE_PRIVATE);final SharedPreferences.Editor editor = modesharedpreference.edit();if (modesharedpreference.getBoolean("Mode", false)) {rg_securityMode.check(R.id.bt_bufang);} else {rg_securityMode.check(R.id.bt_chefang);}rg_securityMode.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup v, int childChecked) {switch (childChecked) {case R.id.bt_bufang: {editor.putBoolean("Mode", true);editor.commit();}break;case R.id.bt_chefang: {editor.putBoolean("Mode", false);editor.commit();}break;}}});}

在mian方法里面去调用上面那个类的方法所传递出来的信息。当你这个APP运行的时候 就会收到信息。

MianActivity.class

List<String> WarningList = new ArrayList<String>();Handler refreshMagneticHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {if (msg.what == 123) {SharedPreferences modesharedpreference = getSharedPreferences("UserSP", Context.MODE_PRIVATE);if (modesharedpreference.getBoolean("Mode", false)) {if (msg.obj != (null)) {JSONArray jsonAray = (JSONArray) msg.obj;try {JSONObject jsonObj = jsonAray.getJSONObject(0);boolean isWarning = false;String WarningInfo = "";if (jsonObj.has("value")) {if (jsonObj.getString("value").equals("ffff"))isWarning = true;if (jsonObj.getString("value").equals("0000"))isWarning = false;System.out.println("01234567895132" + isWarning);}if (jsonObj.has("WarningInfo")) {WarningInfo = jsonObj.getString("WarningInfo");if (isWarning) {if (!WarningList.contains(WarningInfo)) {WarningList.add(WarningInfo);final MediaPlayer mp = MediaPlayer.create(MainActivity.this,R.raw.alarm);try {if (mp != null)mp.stop();mp.prepare();mp.start();} catch (Exception e) {e.printStackTrace();}// 播放mp3try {new AlertDialog.Builder(MainActivity.this).setTitle(WarningInfo).setPositiveButton(acroMultiGlobal.getDisplayValue(getString(R.string.OK)),new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface arg0,int arg1) {// TODO// Auto-generated// method// stubmp.stop();}}).show();} catch (Exception e) {e.printStackTrace();}// 弹窗}} else if (!isWarning) {WarningList.remove(WarningInfo);}}} catch (JSONException e) {e.printStackTrace();}}} else if (!modesharedpreference.getBoolean("Mode", false))WarningList.removeAll(WarningList);super.handleMessage(msg);}}};Timer timer_refreshMagneticWindowTask = new Timer();TimerTask refreshMagneticWindowTask = new TimerTask() {@Overridepublic void run() {Message msg = new Message();msg.what = 123;msg.obj = new Security(MainActivity.this).GetSecurity();refreshMagneticHandler.sendMessage(msg);}};public void initTimer_Window() {try {timer_refreshMagneticWindowTask.schedule(refreshMagneticWindowTask,3000, 3000);} catch (Exception e) {e.printStackTrace();}}
最后。就是在 onCreate()方法里面去执行
 initTimer_Window()
方法即可。

上面的例子中用到了

SharedPreferences 
存储数据。用到了handler方法传递数据。用到了Timer定时器的方法。如果有什么不理解这些方法。可以去百度或者后面我会继续更博我前面的文章,有这些方法的介绍。欢迎大家互相学习互相讨论。


0 0
原创粉丝点击