Volleyを使用してAndroidにログインを実装するにはどうすればよいですか?

flo

ユーザー名とパスワード用の2つのテキストフィールドとログインボタンを備えたLoginActitvityがあります。ユーザーがボタンを押すと、アプリは非同期タスクを開始します。非同期タスクは私のVolleyHandlerを実装します。ログインパラメータが正しいかどうかをチェックし、いくつかのユーザーデータをフェッチします(volleyとjsonを使用)。これを実行している間、ProgressDialogが表示されます。非同期タスクが終了すると、onPostExecuteメソッドでMainActivityへのインテントが開始されます。

さて、私の質問です。非同期タスクでボレーリクエストを行うのは良い考えですか、それともより良い解決策がありますか?

ありがとう。

Lukᚊálek

asynctaskは使用できません。ボレーはそれを気にします。データとUIを操作するためにコールバックを使用できます。このように見えます:

public class LoginActivity extends SinglePaneActivity implements DownloadCallback {

//...


public void sendRequest(){
  Downloader download = new Download(this);
  downloader.download(userName, password);
  progresbar.show();
}

public void requestFinish(){
 progersbar.dismis();
 //... continue
  }
}

折り返し電話:

public interface DownloadCallback {
    void requestFinish(); 
}

クラスダウンローダーで

private RequestQueue requestQueue;
DownloadCallback mcallback;

public void Downloader(DownloadCallback callback){
   mCallback = callback;
   requestQueue = Volley.newRequestQueue(mContext);
   initVolleyListeners();
}

private void initVolleyListeners() {

    mSuccessListener = new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
           mCallback.requestFinish();
        }
    };

    mErrorListener = new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
             mCallback.requestFinish();
        }
    };

public void download(String user, String pass){
     JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url, createJson(user, pass), mSuccessListener , mErrorListener ) {
        //header for send JSON to server
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            HashMap<String, String> headers = new HashMap<String, String>();
            headers.put("Content-Type", "application/json; charset=utf-8");
            return headers;
        }
    };

   requestQueue.add(jsonObjectRequest );
}

そして1点。jsonでユーザー名を送信しないでください。ヘッダーのparamとして送信します。これapplication/x-www-form-urlencoded使用して、ヘッダーのparamsとしてユーザー名を渡すように設定します。

更新:これで動作します。すみません、急いで書きました。コールバックの仕組みに関する記事

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

React NativeでFirebaseを使用してMicrosoftログインを実装するにはどうすればよいですか?

分類Dev

ASP.NETWebFormsと既存のSQLServerデータベースを使用してログイン機能を実装するにはどうすればよいですか?

分類Dev

react-reduxを使用してログイン認証を実装するにはどうすればよいですか?

分類Dev

Androidでphpsqlを使用してログインするにはどうすればよいですか?

分類Dev

CodeRayなしでRedCarpetを使用してブログにマークダウンを実装するにはどうすればよいですか?

分類Dev

ログイン画面をGWTに実装するにはどうすればよいですか?

分類Dev

Androidダイアログボックスを実装するにはどうすればよいですか?

分類Dev

静的/シングルトンデザインパターンを使用してこれを実装するにはどうすればよいですか?

分類Dev

AndroidでSpinnerを使用して検索を実装するにはどうすればよいですか?

分類Dev

内部でpromiseを使用してレンダリングロジックを実装するにはどうすればよいですか?

分類Dev

DataTriggerの代わりにVisualStateManagerを使用して動的バインディングを実装するにはどうすればよいですか?

分類Dev

Kubernetes1.1でFluentd / Elasticsearch / Ikebanaを使用してロギングを実装するにはどうすればよいですか?

分類Dev

SQLObjectを使用して接続ドロップイベントにコールバックを実装するにはどうすればよいですか?

分類Dev

MySQL を使用してバイナリ検索を実装するにはどうすればよいですか?

分類Dev

futures :: sync :: mpsc :: channelを使用してブロッキングキューメカニズムを実装するにはどうすればよいですか?

分類Dev

EJBを使用して永続的なバックグラウンドプロセスを実装するにはどうすればよいですか?

分類Dev

関数のオーバーロードを使用して双方向マッピング関数を実装するにはどうすればよいですか?

分類Dev

AndroidとiOSの両方でFlutterを使用してバイブレーションを実装するにはどうすればよいですか?

分類Dev

Firebaseを使用してシングルページアプリのsitemap.xmlファイルを実装するにはどうすればよいですか?

分類Dev

2つのドメインでSpring Securityを使用してシングルログインを実行するにはどうすればよいですか?

分類Dev

curlを使用してStackExchangeにログインするにはどうすればよいですか?

分類Dev

git-tfを使用してVisualStudio Onlineにログインするにはどうすればよいですか?

分類Dev

Pythonを使用してランタイムオブジェクト(異なる)実装を実装するにはどうすればよいですか?

分類Dev

Django Rest Frameworkを使用してログインAPIを作成するにはどうすればよいですか?

分類Dev

Flutterを使用してログイン情報を保存するにはどうすればよいですか?

分類Dev

jquery postを使用してログインを確認するにはどうすればよいですか?

分類Dev

基本的な「ロングポーリング」を実装するにはどうすればよいですか?

分類Dev

iOSアプリでグーグルサインインを実装しました。では、ユーザーがログインしているかどうかを確認し、ログインしていない場合は、Swiftでログインページに戻るにはどうすればよいですか?

分類Dev

インターフェイスビルダーを使用していないときにprepareForSegueを実装するにはどうすればよいですか?

Related 関連記事

  1. 1

    React NativeでFirebaseを使用してMicrosoftログインを実装するにはどうすればよいですか?

  2. 2

    ASP.NETWebFormsと既存のSQLServerデータベースを使用してログイン機能を実装するにはどうすればよいですか?

  3. 3

    react-reduxを使用してログイン認証を実装するにはどうすればよいですか?

  4. 4

    Androidでphpsqlを使用してログインするにはどうすればよいですか?

  5. 5

    CodeRayなしでRedCarpetを使用してブログにマークダウンを実装するにはどうすればよいですか?

  6. 6

    ログイン画面をGWTに実装するにはどうすればよいですか?

  7. 7

    Androidダイアログボックスを実装するにはどうすればよいですか?

  8. 8

    静的/シングルトンデザインパターンを使用してこれを実装するにはどうすればよいですか?

  9. 9

    AndroidでSpinnerを使用して検索を実装するにはどうすればよいですか?

  10. 10

    内部でpromiseを使用してレンダリングロジックを実装するにはどうすればよいですか?

  11. 11

    DataTriggerの代わりにVisualStateManagerを使用して動的バインディングを実装するにはどうすればよいですか?

  12. 12

    Kubernetes1.1でFluentd / Elasticsearch / Ikebanaを使用してロギングを実装するにはどうすればよいですか?

  13. 13

    SQLObjectを使用して接続ドロップイベントにコールバックを実装するにはどうすればよいですか?

  14. 14

    MySQL を使用してバイナリ検索を実装するにはどうすればよいですか?

  15. 15

    futures :: sync :: mpsc :: channelを使用してブロッキングキューメカニズムを実装するにはどうすればよいですか?

  16. 16

    EJBを使用して永続的なバックグラウンドプロセスを実装するにはどうすればよいですか?

  17. 17

    関数のオーバーロードを使用して双方向マッピング関数を実装するにはどうすればよいですか?

  18. 18

    AndroidとiOSの両方でFlutterを使用してバイブレーションを実装するにはどうすればよいですか?

  19. 19

    Firebaseを使用してシングルページアプリのsitemap.xmlファイルを実装するにはどうすればよいですか?

  20. 20

    2つのドメインでSpring Securityを使用してシングルログインを実行するにはどうすればよいですか?

  21. 21

    curlを使用してStackExchangeにログインするにはどうすればよいですか?

  22. 22

    git-tfを使用してVisualStudio Onlineにログインするにはどうすればよいですか?

  23. 23

    Pythonを使用してランタイムオブジェクト(異なる)実装を実装するにはどうすればよいですか?

  24. 24

    Django Rest Frameworkを使用してログインAPIを作成するにはどうすればよいですか?

  25. 25

    Flutterを使用してログイン情報を保存するにはどうすればよいですか?

  26. 26

    jquery postを使用してログインを確認するにはどうすればよいですか?

  27. 27

    基本的な「ロングポーリング」を実装するにはどうすればよいですか?

  28. 28

    iOSアプリでグーグルサインインを実装しました。では、ユーザーがログインしているかどうかを確認し、ログインしていない場合は、Swiftでログインページに戻るにはどうすればよいですか?

  29. 29

    インターフェイスビルダーを使用していないときにprepareForSegueを実装するにはどうすればよいですか?

ホットタグ

アーカイブ