我创建了一个接收和读取 SMS 消息的 android 应用程序。
目前,应用程序读取 SMS 并将其转换为 8 个字符的数组,因为它只会接收 8 个字符的消息。例如,消息可能是“AbCdEfGh”,它将被转换为 [A][b][C][d][E][f][G][h]。
if (array[0] == 'a'){
this.abortBroadcast();
Toast.makeText(context, "a", Toast.LENGTH_LONG).show();
context.sendBroadcast(in);
}
else if (array[0] == 'A'){
//this.abortBroadcast();
//Toast.makeText(context, "A", Toast.LENGTH_LONG).show();
//context.sendBroadcast(in);
}
else if (array[1] == 'b'){
this.abortBroadcast();
Toast.makeText(context, "b", Toast.LENGTH_LONG).show();
context.sendBroadcast(in);
}
else if (array[1] == 'B'){
this.abortBroadcast();
Toast.makeText(context, "B", Toast.LENGTH_LONG).show();
context.sendBroadcast(in);
}
我希望应用程序做的是读取这些字符中的每一个,并根据字符是大写还是小写来做一些事情。例如,如果 [0] 等于 'a' 则执行某项操作,否则如果 [0] 等于 [A] 则执行某项操作,然后继续检查下一个元素。
我希望它遍历数组的每个元素并为消息中的每个字符做一些事情,目前该应用程序将完美地显示“a”代表“a”和“A”代表“A”,问题是如果你输入“ab”它仍然只会显示“a”而不是“ab”。如果您将第一个字母输入为空白,它将仅显示第二个字母,例如“b”将返回“b”。
我应该如何安排我的代码,以便它选择并显示数组的组合?当然,我不必只对可能涉及的 8 个字符的每个可能组合进行编码?switch 语句可以成为解决方案吗?是否有可能实现某种循环,这样一旦它查看了第一个数组元素,它就会循环并查看下一个元素?抱歉,如果我没有很清楚地解释这一点!希望比我有更多经验的人能够解决这个问题。谢谢你的帮助