2012-10-09 10 views
8

私は検索オプションを持っているアプリケーションを開発しています。その検索ボックスで、「a」と入力すると、すべての友人の名前がaで始まります。これはWebサーバーから取得します。しかし、私はそれぞれの手紙を打ち込むと同時に要求をしなければなりません。しかし私がグーグルで調べると、私は混合反応を起こしました。一部の人々は、AndroidではAjaxコールが不可能だと言っています。基本的にAndroidはJavaに基づいています。なぜAJAX呼び出しを実行できないのですか?可能であれば、誰かがAndroidでAJAXコールに関連する良いリンクに私を導くことができますか?Androidでajaxコールを行うことはできますか?

答えて

1

は、より多くの情報のため、これらのリソースをチェックしてください。ユーザが何かを入力し、それに基づいてフィルタ結果を返すたびに、Webサーバを呼び出すカスタムアダプタを作成する必要があります。

Here's an example

+0

ユーザーの種類が手紙の場合は、頻繁にヒットするのは良い考えではありません。それは時間がかかります。すべてのデータを初期に読み込んで、後でアダプタで使用するのは良いことです。 –

+0

はい、はい。私の場合は、すべてのデータを一度に読み込むことができない場合、私の提案は良いことです。 – mattboy

+0

何千ものデータがある場合、loadmore listviewにリストする –

1

asynctaskを使用して、画面のロード時にサーバーから名前を取得します。 次に、AutoCompleteTextViewまたはMultiAutoCompleteTextViewを使用して、ニーズを満たすことができます。

アダプタですでにフェッチされた名前を指定します。もっと上のAutoCompleteTextView

MultiAutoCompleteTextView

4

あなたはjQueryののAndroidのポートであり、アヤックス含め、jQueryののほとんどの機能と構文が含まdroidQueryを、使用することができます参照してください。例:

$.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(); 
    } 
})); 
関連する問題