Java 基于用户名获取请求
我正在为我的android应用程序添加一个用户登录,以提高安全性并识别用户。我有一个登录屏幕,用户首先从下拉列表中选择自己的名字。然后,它们的选择存储在名为Java 基于用户名获取请求,java,android,rest,login,get,Java,Android,Rest,Login,Get,我正在为我的android应用程序添加一个用户登录,以提高安全性并识别用户。我有一个登录屏幕,用户首先从下拉列表中选择自己的名字。然后,它们的选择存储在名为userName的变量中 然后,我有6个框,用户在其中输入其唯一pin,该pin保存到名为userPin的变量中 我有一个oracle数据库表,其中有每个员工的用户名和pin,目前有一个REST服务,我正在使用它将数据从我的应用程序发送到同一架构中的不同表 我的问题是。。。首先,如何执行GET请求以从oracle数据库中获取与用户选择的用户名
userName
的变量中
然后,我有6个框,用户在其中输入其唯一pin,该pin保存到名为userPin
的变量中
我有一个oracle数据库表,其中有每个员工的用户名和pin,目前有一个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);
}
}
私有类AsyncTaskRunner扩展了AsyncTask{
@凌驾
受保护的字符串doInBackground(字符串…参数){
试一试{
字符串url=”http://xxx.xx.xxx.xx:xxxx/engAppApi/webservices/userTable/Employee_Name=“+雇员;
URL对象=新URL(URL);
HttpURLConnection con=(HttpURLConnection)对象。openConnection();
con.设置输出(真);
con.setDoInput(真);
con.setRequestProperty(“内容类型”、“应用程序/json”);
con.setRequestProperty(“接受”、“应用程序/json”);
con.setRequestMethod(“GET”);
if(con.getResponseCode()==HttpsURLConnection.HTTP\u确定){
弦线;
BufferedReader br=新的BufferedReader(新的InputStreamReader(con.getInputStream());
而((line=br.readLine())!=null){
userPinRetrieved+=行;
}
}
}捕获(例外e){
Log.v(“ErrorAPP”,例如toString());
}
返回“”;
}
@凌驾
受保护的void onPostExecute(字符串s){
super.onPostExecute(s);
}
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
}
@凌驾
受保护的void onProgressUpdate(字符串…值){
super.onProgressUpdate(值);
}
}
}你的问题不是很清楚,你应该包括
我不太熟悉改装,所以这里有一个链接,你可以按照
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);
stringurl=”http://xxx.xx.xxx.xx:xxxx/engAppApi/webservices/userTable/Employee_Name=“+雇员;
//创建字符串请求以将请求发送到URL
StringRequest StringRequest=新的StringRequest(Request.Method.GET,JSON_URL,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
//打印您对LOGCAT的响应
Log.d(“截击反应”,“反应:-”+反应);
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
//将错误响应打印到LOGCAT
Log.e(“截击响应”,“错误响应:-“+Error.getMessage());
}
});
//创建请求队列
RequestQueue RequestQueue=Volley.newRequestQueue(this);
//将字符串请求添加到请求队列
添加(stringRequest);
有关截击的更多信息,请点击链接。分享您的代码,并解释您卡在哪里以及您遇到的错误getting@Thunder代码补充我感谢你的评论,我会更新我试图达到的目标,我正在尝试获取与从下拉菜单中选择的任何员工姓名关联的pin?请尝试上面编辑的代码,确保替换URL并添加依赖项和INTERNET权限@AndroidBeginner2018这能找回pin吗?你最好试试看,并检查日志以获得响应