在Android开发中有很多的常用技能,比如单列、回调等等,因为和iOS部分有一些区别,再次记录下来,方便查找。
1.回调
最近碰到了一种情况,需要在数组中遍历拿到某个状态,来决定是否要进行一下步骤的操作。
a.定义回调接口
public interface BackJudgeResult {
void judgeAction(boolean isPass); // true 需要往下走,false不需要下一步
}
定义好需要调用的方法、和所需要的入参
b.声明变量、调用回调方法
private BackJudgeResult backJudgeResult;
private void handleBackAction(BackJudgeResult result) {
backJudgeResult = result;
for (ElectPickBandedBoxListResponse.OutboundContainerVoDTO outboundContainerVoDTO: boxList) {
if (outboundContainerVoDTO.status == 1) {
result.judgeAction(true);
break;
}else {
result.judgeAction(false);
}
}
}
c.实现回调方法
// 这一步是操作触发的一部,上面的b步骤是定义好调用的方法
handleBackAction(new BackJudgeResult() {
@Override
public void judgeAction(boolean isPass) {
// 下一步操作
}
});
2.截取字符串
//截取前两个字符 A0
String NumOne = "A01013".substring(0,2);
//截取第一个字符之后的所有字符 01013
String LastData = "A01013".substring(1);
//根据某个字符截取字符串 HelloWorld
String sb = "HelloWorld@qq.com";
String str = sb.substring(0, sb.indexOf("@"));
3.修改包名和修改id,相同的多个app共存
4.startActivityForResult
使用【回传中使用比较多】
在Android开发中,startActivityForResult
方法用于启动一个活动(Activity)并等待结果返回。以下是使用startActivityForResult
的步骤:
- 在当前活动(Activity)中调用
startActivityForResult
方法来启动另一个活动,并传递适当的意图(Intent)和请求代码(request code):
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
上述代码中,SecondActivity
是您要启动的目标活动,REQUEST_CODE
是一个整数值,用于标识此请求。
- 在目标活动(SecondActivity)中,当您完成相关操作并准备返回结果时,可以使用
setResult
方法设置结果代码和结果数据(可选):
Intent resultIntent = new Intent();
resultIntent.putExtra("key", "value"); // 可选:设置结果数据
setResult(RESULT_CODE, resultIntent);
上述代码中,RESULT_CODE
是一个整数值,用于表示结果代码。您还可以使用putExtra
方法将结果数据添加到结果意图中。
- 返回到调用
startActivityForResult
的活动时,会调用onActivityResult
方法,您可以在该方法中处理结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE) {
if (resultCode == RESULT_CODE) {
// 处理结果数据
String result = data.getStringExtra("key");
// 根据需要执行操作
} else if (resultCode == RESULT_CANCELED) {
// 处理取消操作
}
}
}
在上述代码中,您可以通过检查requestCode
和resultCode
来确定返回的结果是来自哪个请求和结果代码。您还可以使用data
意图来获取结果数据。
请注意,REQUEST_CODE
和RESULT_CODE
是您自己定义的整数值,可以根据需要进行更改。
这就是使用startActivityForResult
方法的基本步骤。通过这种方式,您可以在活动之间进行交互,并在返回结果时执行适当的操作。