我有一张表,我想要检索数据。我设法检索这些数据。扭曲是我想连接这些数据(这是字符串)来创建一个160个字符的字符串。我设法通过在Stackoverflow中由一个人回答这个代码来实现这一点。
代码是这样的:
List<Pending> pending = db.getAllPending();
String a = "";
for (Pending pn : pending) {
if (a.length() + pn.getPm_str().length() <= 160) {
a += pn.getPm_str();
}
else
break;
}
代码连接数据,直到形成160长度的字符串。它将忽略碰巧超过限制的其他数据。
我的问题是:我如何对列表中剩余的数据做同样的事情(第一批160长度字符串中没有包含这些数据)?我还希望将这些数据连接起来以创建相同的数据。
该程序的概念与SMS发送有关。数据被连接起来,并被分组为一个要发送的短信。
需要帮助。
答案 0 :(得分:1)
您需要创建结果字符串列表,并在连接字符串达到限制时添加它:
List<Pending> pending = db.getAllPending();
List<String> resultingStrings = new ArrayList<String>();
String a = "";
for (Pending pn : pending) {
if (a.length() + pn.getPm_str().length() <= 160) {
a += pn.getPm_str();
}
else {
resultingStrings.add(a);
a = pn.getPm_str();
}
}
resultingStrings.add(a);
答案 1 :(得分:1)
试试这个,
ArrayList<String> messageList=new ArrayList<>();
for (Pending pn : pending) {
if (a.length() + pn.getPm_str().length() <= 160) {
a += pn.getPm_str();
}
else{
messageList.add(a);
a="";
a += pn.getPm_str();
}
}
messageList.add(a);