【Android学习】学习笔记(API类)

59 阅读2分钟

在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的步骤:

  1. 在当前活动(Activity)中调用startActivityForResult方法来启动另一个活动,并传递适当的意图(Intent)和请求代码(request code):
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);

上述代码中,SecondActivity是您要启动的目标活动,REQUEST_CODE是一个整数值,用于标识此请求。

  1. 在目标活动(SecondActivity)中,当您完成相关操作并准备返回结果时,可以使用setResult方法设置结果代码和结果数据(可选):
Intent resultIntent = new Intent();
resultIntent.putExtra("key", "value"); // 可选:设置结果数据
setResult(RESULT_CODE, resultIntent);

上述代码中,RESULT_CODE是一个整数值,用于表示结果代码。您还可以使用putExtra方法将结果数据添加到结果意图中。

  1. 返回到调用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) {
            // 处理取消操作
        }
    }
}

在上述代码中,您可以通过检查requestCoderesultCode来确定返回的结果是来自哪个请求和结果代码。您还可以使用data意图来获取结果数据。

请注意,REQUEST_CODERESULT_CODE是您自己定义的整数值,可以根据需要进行更改。

这就是使用startActivityForResult方法的基本步骤。通过这种方式,您可以在活动之间进行交互,并在返回结果时执行适当的操作。