bugfix> java > 投稿

セキュリティを強化し、ユーザーを識別するために、Androidアプリケーションにユーザーログインを追加する作業を行っています。ユーザーが最初にドロップダウンリストから名前を選択するログイン画面があります。その後、それらの選択は userName という変数に格納されます 。

次に、ユーザーが一意のピンに入力する6つのボックスがあり、これは userPin という変数に保存されます 。

私は、各従業員のユーザー名とPINを含むoracleデータベーステーブルを持ち、現在、アプリから同じスキーマ内の別のテーブルにデータを送信するために使用しているRESTサービスを持っています。

私の質問は...最初にGETリクエストを実行して、ユーザーが選択したユーザー名に関連付けられているOracleデータベースからuserPinを取得するにはどうすればよいですか?

助けていただければ幸いです!

コード試行:

 private class AsyncTaskRunner extends AsyncTask<String, String, String> {
    @Override
    protected String doInBackground(String... params) {
        try {
            String url = "http://xxx.xx.xxx.xx:xxxx/engAppApi/webservices/userTable/Employee_Name=" + employee;
            URL object = new URL(url);
            HttpURLConnection con = (HttpURLConnection) object.openConnection();
            con.setDoOutput(true);
            con.setDoInput(true);
            con.setRequestProperty("Content-Type", "application/json");
            con.setRequestProperty("Accept", "application/json");
            con.setRequestMethod("GET");
            if (con.getResponseCode() == HttpsURLConnection.HTTP_OK) {
                String line;
                BufferedReader br=new BufferedReader(new InputStreamReader(con.getInputStream()));
                while ((line=br.readLine()) != null) {
                    userPinRetrieved+=line;
                }
            }
        } catch (Exception e) {
            Log.v("ErrorAPP", e.toString());
        }
        return "";
    }
    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
    }
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }
    @Override
    protected void onProgressUpdate(String... values) {
        super.onProgressUpdate(values);
    }
}

}

回答 1 件
  • あなたの質問はそれほど明確ではありません、あなたは含める必要があります

    RESTリクエストの呼び出し方法。

    これを達成するために行った努力。

    取得しているエラーは何ですか。

    そして、任意を呼び出すために残り リクエスト(GET、POST、PUT、DELETE)を使用すると、作業を非常に簡単かつ効率的にするAndroidライブラリを使用できます。いくつかの主に使用されるライブラリと例を以下に示します。

    1.後付け  
    私はレトロフィットにそれほど慣れていないので、ここにあなたがフォローできるリンクがあります  
    レトロフィットのチュートリアル

    2.ボレー
    VolleyはGoogleによって開発され、Androidアプリケーションを開発するためにプログラマーによって広く使用されています。

    GETリクエストを呼び出す例:-

    dependencies {
        ...
        compile 'com.android.volley:volley:1.1.0'
    }
    
    

    上記のコードは、プロジェクトにライブラリを追加するためのものです。

    String url = "http://xxx.xx.xxx.xx:xxxx/engAppApi/webservices/userTable/Employee_Name=" + employee;
     //creating a string request to send the request to the URL
        StringRequest stringRequest = new StringRequest(Request.Method.GET, JSON_URL,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                    //Printing Your Response To LOGCAT
                     Log.d("VolleyResponse","Response:- "+response);    
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                     //Printing Your Error Response To LOGCAT
                     Log.e("VolleyResponse","Error Response:- "+error.getMessage());
                    }
                });
        //creating a request queue
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        //adding the string request to request queue
        requestQueue.add(stringRequest);
    
    

    ボレーの詳細については、このリンクをたどることができます。

あなたの答え