我正在尝试在Android中编写后端服务,该服务读取远程数据库并对其执行查询,并将结果返回到ResultSet对象中。这是我从Java调用返回的Java Bean的代码(称为SQLResult):
package com.gradai.rushhour.backend;
import java.sql.ResultSet;
public class SQLResult
{
ResultSet result;
public SQLResult()
{
}
public ResultSet getResult()
{
return result;
}
public void setResult(ResultSet rs)
{
result = rs;
}
}
现在我尝试在实际应用程序的AsyncTask中使用此API(称为sqlBackend)。在onPostExecute函数中,我收到一个错误:
error: incompatible types: com.gradai.rushhour.backend.sqlBackend.model.ResultSet cannot be converted to java.sql.ResultSet
这是上述功能的代码:
protected void onPostExecute(SQLResult result)
{
ResultSet rs = result.getResult();
Toast toast = Toast.makeText(context, rs.toString(), Toast.LENGTH_LONG);
toast.show();
}
我不明白为什么在后端模型中创建ResultSet类。请帮助我理解发生了什么。如果需要调试,我很乐意提供更多代码。
编辑:这些是AsyncTask程序中使用的import语句:
import android.content.Context;
import android.os.AsyncTask;
import android.widget.Toast;
import com.google.api.client.extensions.android.http.AndroidHttp;
import com.google.api.client.json.gson.GsonFactory;
import com.gradai.rushhour.backend.sqlBackend.SqlBackend;
import com.gradai.rushhour.backend.sqlBackend.model.SQLResult;
import java.io.IOException;
import java.sql.ResultSet;
另外,请注意:我尝试将API函数中的ResultSet转换为ArrayList,并将SQLResult类更改为包含相同的值。现在,当我尝试在同一个函数中访问ArrayList时,我得到的错误是期望List而不是ArrayList。这有用吗?