public void opAfterJudge(boolean isPass){ if(isPass){ intent.putExtra("RESULT", true); setResult(RESULT_OK, intent); SdcardTools.writeTofile(SdcardTools.factory_file,"WIFI_TEST:OK"); //startActivity(intent_activity); intent.putExtra("TEST_CHOOSE","WIFI"); finish(); }else{ if(scan_count<6){ toWIFISettingsTV.setText(WIFI_TEXT+"Wi-Fi 搜索次数:"+scan_count); mWifiManager.startScan(); scan_count++; return ; } Toast.makeText(this, "WiFi测试失败:\n"+"搜索不到WiFi或WiFi强度不足!", Toast.LENGTH_LONG).show(); intent.putExtra("RESULT", false); setResult(RESULT_OK, intent); SdcardTools.writeTofile(SdcardTools.factory_file,"WIFI_TEST:ERROR"); finish(); } }
时间: 2024-02-14 20:31:13 浏览: 76
这段代码是一个方法,根据参数isPass的值来执行不同的操作。如果isPass为true,会执行以下操作:将"RESULT"设置为true并将intent的结果设置为RESULT_OK,然后使用SdcardTools类将"WIFI_TEST:OK"写入文件,接着将"TEST_CHOOSE"设置为"WIFI",最后调用finish()方法结束当前活动。
如果isPass为false,会执行以下操作:首先判断scan_count是否小于6,如果是,则将toWIFISettingsTV的文本设置为WIFI_TEXT+"Wi-Fi 搜索次数:"+scan_count,然后通过mWifiManager开始扫描WiFi并将scan_count加1,然后返回。如果scan_count不小于6,则显示一个Toast提示"WiFi测试失败:\n搜索不到WiFi或WiFi强度不足!",然后将"RESULT"设置为false并将intent的结果设置为RESULT_OK,再使用SdcardTools类将"WIFI_TEST:ERROR"写入文件,最后调用finish()方法结束当前活动。
相关问题
public boolean onKeyDown(int keyCode, KeyEvent event){ if (keyCode == KeyEvent.KEYCODE_HOME){ return true; } else if (keyCode == KeyEvent.KEYCODE_BACK){ autoSetMessage(); setResult(RESULT_OK, intent); finish(); return true; } return super.onKeyDown(keyCode, event); } public void autoSetMessage(){ if(openMode == 4){ if(et.getText().toString().length() == 0){ intent.putExtra("mode", -1); //nothing new happens. } else{ intent.putExtra("mode", 0); // new one note; intent.putExtra("content", et.getText().toString()); intent.putExtra("time", dateToStr()); intent.putExtra("tag", tag); } } else { if (et.getText().toString().equals(old_content) && !tagChange) intent.putExtra("mode", -1); // edit nothing else { intent.putExtra("mode", 1); //edit the content intent.putExtra("content", et.getText().toString()); intent.putExtra("time", dateToStr()); intent.putExtra("id", id); intent.putExtra("tag", tag); } } } public String dateToStr(){ Date date = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return simpleDateFormat.format(date); } }这里运用了哪些技术
这段代码主要运用了Android开发中的事件监听技术以及日期格式化技术。其中,onKeyDown()方法监听了按键事件,当按下返回键时,自动保存数据并返回主界面。autoSetMessage()方法根据不同的打开模式(openMode)和内容是否改变,设置intent传递的参数。dateToStr()方法将当前时间按照指定格式转化为字符串。同时,代码中还用到了Java语言的条件语句和字符串操作等技术。
intent.putExtra
在 Android Studio 中,使用 Intent 传递数据时,可以使用 putExtra() 方法将数据存储到 Intent 中。putExtra() 方法有多个重载形式,可以存储不同类型的数据,例如:
1. putExtra(String name, boolean value):存储布尔类型的数据;
2. putExtra(String name, byte value):存储字节类型的数据;
3. putExtra(String name, char value):存储字符类型的数据;
4. putExtra(String name, short value):存储短整型数据;
5. putExtra(String name, int value):存储整型数据;
6. putExtra(String name, long value):存储长整型数据;
7. putExtra(String name, float value):存储浮点类型的数据;
8. putExtra(String name, double value):存储双精度类型的数据;
9. putExtra(String name, String value):存储字符串类型的数据;
10. putExtra(String name, Serializable value):存储实现了 Serializable 接口的对象;
11. putExtra(String name, Parcelable value):存储实现了 Parcelable 接口的对象。
其中,name 表示数据的键名,value 表示需要存储的数据。存储数据后,可以通过 getIntent() 方法获取传递过来的 Intent 对象,并通过 getExtra() 方法获取存储的数据,例如:
```
Intent intent = getIntent();
String message = intent.getStringExtra("message");
int count = intent.getIntExtra("count", 0);
```
以上代码中,getStringExtra() 方法获取名为 "message" 的字符串类型数据,getIntExtra() 方法获取名为 "count" 的整型数据,默认值为 0。需要注意的是,存储数据时,键名需要与目标界面中获取数据时使用的键名一致。
阅读全文