Java 安卓:用什么代替光标
在我的应用程序中,我使用游标从SQLite数据库获取信息,如下所示:Java 安卓:用什么代替光标,java,android,foreach,Java,Android,Foreach,在我的应用程序中,我使用游标从SQLite数据库获取信息,如下所示: Cursor contacts = dataBase.select("SELECT _idContact FROM Contacts"); if (contacts.getCount() > 0) { if (IMLayout.getVisibility() == View.VISIBLE) { int k = contacts.getCount(); for (int j = 0; j
Cursor contacts = dataBase.select("SELECT _idContact FROM Contacts");
if (contacts.getCount() > 0) {
if (IMLayout.getVisibility() == View.VISIBLE) {
int k = contacts.getCount();
for (int j = 0; j < k; j++) {
if (j == 0) {
contacts.moveToFirst();
} else {
contacts.moveToNext();
}
Cursor contacts=dataBase.select(“select _idcontactfrom contacts”);
如果(contacts.getCount()>0){
if(IMLayout.getVisibility()==View.VISIBLE){
int k=contacts.getCount();
对于(int j=0;j
我想要的是优化“for”使用增强型for循环。为此,我必须使用数组或其他,但不能使用游标,因为游标不适用于增强型for循环。如何将游标转换为arrayList?增强型for循环仅适用于集合、iterables和数组,而
游标
不适用于这些内容
您只需使用提供的方法,就像您目前所做的那样。或者,您必须将光标的内容吸收到一个集合中,然后您只需为自己做更多的工作。您可以大大简化此逻辑,如下所示:
Cursor contacts = dataBase.select("SELECT _idContact FROM Contacts");
while (contacts.moveToNext()) {
// do stuff with this database entry
}
好的,非常感谢。我想这可能是一个优化的可能性。好的,我来试试;)谢谢