我是移动开发的新手,所以我决定使用Phonegap来开发我的应用程序。在我的应用程序中,我使用的是SQLite插件,因为WebSQL没有参与我的必需品。当我尝试在项目中放置使用插件所需的文件之一时,Eclipse会在以下函数中返回错误:
public void processResults(Cursor cur, String query_id, String tx_id) {
String result = "[]";
// If query result has rows
if (cur.moveToFirst()) {
JSONArray fullresult = new JSONArray();
String key = "";
int colCount = cur.getColumnCount();
// Build up JSON result object for each row
do {
JSONObject row = new JSONObject();
try {
for (int i = 0; i < colCount; ++i) {
key = cur.getColumnName(i);
// for old Android SDK remove lines from HERE:
if(android.os.Build.VERSION.SDK_INT >= 11)
{
switch(cur.getType (i))
{
case Cursor.FIELD_TYPE_NULL:
row.put(key, null);
break;
case Cursor.FIELD_TYPE_INTEGER:
row.put(key, cur.getInt(i));
break;
case Cursor.FIELD_TYPE_FLOAT:
row.put(key, cur.getFloat(i));
break;
case Cursor.FIELD_TYPE_STRING:
row.put(key, cur.getString(i));
break;
case Cursor.FIELD_TYPE_BLOB:
row.put(key, cur.getBlob(i));
break;
}
}
else // to HERE.
{
row.put(key, cur.getString(i));
}
}
fullresult.put(row);
} catch (JSONException e) {
e.printStackTrace();
}
} while (cur.moveToNext());
result = fullresult.toString();
}
if(query_id.length() > 0)
this.sendJavascript(" SQLitePluginTransaction.queryCompleteCallback('" + tx_id + "','" + query_id + "', " + result + ");");
}
在第20行(当我们有“switch(cur.getType(i))”)时,Eclipse返回以下错误:
The method getType(int) is undefined for the type Cursor
当我看到这个时,我尝试使用Google搜索,并在Android的文档中说getType是Cursor的方法。
以下是此文件导入的内容:
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.phonegap.api.Plugin;
import com.phonegap.api.PluginResult;
import android.database.Cursor;
import android.database.sqlite.*;
import android.util.Log;
由于不懂Java,我无法解决这个问题,而且我的搜索没有找到任何内容,但我可能会遗漏一些东西。我希望有人可以帮助我,谢谢
答案 0 :(得分:3)
您定位的是哪个版本的Android? getType method was added in API 11(蜂窝)。
您可以在标题的右侧看到这个('自:API级别11'),您可能会发现参考页面顶部的“按API级别过滤”框非常有用。