我正在努力为我的Android应用程序添加用户登录,以提高安全性并识别用户。我有一个登录屏幕,用户首先从下拉列表中选择他们的名字。然后将它们的选择存储在名为userName
的变量中。
然后我有6个框,用户输入其唯一的引脚,该引脚保存到名为userPin
的变量。
我有一个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);
}
}
}
答案 0 :(得分:0)
你的问题不清楚,你应该包括
要调用任何 REST 请求(GET,POST,PUT,DELETE),您可以使用Android库,这将使您的工作变得非常简单和高效。一些主要使用的带有示例的库如下所示: -
1。Retrofit
我不是那么熟悉改造,所以这里有你可以遵循的链接
Tutorial For Retrofit
2。Volley
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);
有关排球的更多信息,您可以关注This链接。