我正在开发一个有搜索选项的应用程序。在那个搜索框中,如果我输入“a”,我想要所有以 a 开头的朋友的名字,我将从网络服务器获取。但为此,我必须在输入每个字母的同时提出请求。但是当我用谷歌搜索时,我得到了不同的反应。有人说 Ajax 调用在 Android 中是不可能的。基本上Android是基于java的。那为什么不能执行 AJAX 调用。如果可能的话,任何人都可以指导我找到与 Android 中的 AJAX 调用相关的良好链接吗?
问问题
35954 次
4 回答
4
您可以使用droidQuery,它是jQuery 的 Android 端口,包含 jQuery的大部分功能和语法,包括Ajax。例如:
$.ajax(new AjaxOptions().url("http://www.example.com").type("GET").dataType("json").success(new Function() {
@Override
public void invoke($ d, Object... args) {
JSONObject json = (JSONObject) args[0];
//TODO handle json. If expecting a JSONArray, just cast args[0] to JSONArray.
}
}).error(new Function() {
@Override
public void invoke($ d, Object... args) {
AjaxError error = (AjaxError) args[0];
Toast.makeText(MyActivity.this, "Error (" + error.status + "): " + error.reason, Toast.LENGTH_LONG).show();
}
}));
于 2013-12-16T22:06:31.797 回答
3
是的,这是可能的,但有一些条件和限制。
查看这些资源以获取更多信息:
Android:使用 AsyncTask 进行重复 Ajax 调用的含义
https://developer.android.com/guide/topics/search/search-dialog.html
http://www.grokkingandroid.com/android-tutorial-adding-search-to-your-apps/
于 2012-10-09T06:03:17.410 回答
1
使用 asynctask 在加载屏幕时从服务器获取名称。然后您可以使用 AutoCompleteTextView 或 MultiAutoCompleteTextView 来满足您的需求。
您在适配器中指定已获取的名称。在AutoCompleteTextView上查看更多信息
于 2012-10-09T06:20:59.393 回答
1
我知道的最接近的是使用 AutoCompleteTextView。您将需要为其创建一个自定义适配器,以便在用户键入任何内容时调用 Web 服务器并基于此返回过滤器结果。
于 2012-10-09T06:03:18.003 回答