- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个按钮,单击该按钮会调用 checkUserName
方法,该方法会搜索数据库并告知用户名是否可用。 URL_CHECK_USERNAME
响应“用户名可用”或“用户名不可用”。
public void checkUserName(View v){
String username = inputUserName.getText().toString().trim();
new CheckUsername().execute(username);
}
class CheckUsername extends AsyncTask<String, String, String>{
String r = null;
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(RegisterActivity.this);
pDialog.setMessage("Checking Availability of this Username...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}
@Override
protected String doInBackground(String... params) {
//String r = null;
final String username = params[0];
StringRequest strReq = new StringRequest(Method.POST,
AppConfig.URL_CHECK_USERNAME, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
r = response;
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Log.e(TAG, "Error in checking username." + volleyError.getMessage());
Toast.makeText(getApplicationContext(), volleyError.getMessage(), Toast.LENGTH_SHORT).show();
hideDialog();
}
}){
@Override
protected Map<String, String> getParams() {
Map<String, String> param = new HashMap<>();
//param.put("username", params[0]);
param.put("username", username);
return param;
}
};
AppController.getInstance().addToRequestQueue(strReq);
return r;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
pDialog.dismiss();
Toast.makeText(RegisterActivity.this, s, Toast.LENGTH_SHORT).show();
}
}
这个程序每次都显示一个空的 Toast。可能是什么问题?
最佳答案
根据您发布的代码,我想您正在使用 Volley 作为您的网络库。如果是这种情况,您应该意识到不需要您的 Asynctask,因为 Volley 会为您处理线程。
请求将在后台执行,回调将被异步调用。这就是为什么你的 toast 是空的。
在您的 checkUsername(View) 方法中创建您的 StringRequest,并在 onResponse 回调中显示 toast。
关于java - 可以在 doInBackground() 方法中创建 StringRequest 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35661452/
我想使用 Volley StringRequest 将 base64 编码的图像和一些文本上传到我的网络服务器。 当我直接尝试发送 base64 字符串时,我得到“意外响应代码 503”,但是当我压缩
我有一些从谷歌应用程序脚本接收数据的方法,但为所有方法放置相同的代码有点长。 例如,这是我的 checkIn 方法,但我需要创建 checkOut 方法或 UpdateReservation 来从 g
我正在使用 android volley ,我想用 stringRequest 发送发布数据。但参数不发送到服务器。这是我的代码: StringRequest jsonObjReq =
我是 Android 的新手,我希望得到有关 StringRequestVolley 的帮助。在我的项目中,我将调用多个 API。为此,我创建了一个名为 ProcessAPIRequest 的方法。为
我正在尝试使用 Volley 发送请求,但我不知道如何让它工作。 我需要发送一个以 JSON 编码数据作为正文的 POST 请求,但在尝试了数小时不同的方法后,我仍然无法让它工作。 这是我当前的请求代
我对应该使用哪个感到有点困惑。 尽管其响应是 JSON 字符串,但该 API 试图接受常规文本发布参数。 我应该使用哪个? 最佳答案 为此,您可以使用 JSON 对象请求。 关于android - 我
我用过this简单的获取请求代码 final StringBuilder result = new StringBuilder(); RequestQueue queue = Voll
我正在创建一个按钮,单击该按钮会调用 checkUserName 方法,该方法会搜索数据库并告知用户名是否可用。 URL_CHECK_USERNAME 响应“用户名可用”或“用户名不可用”。
我已经放置了这个依赖项使用 volley 并从受尊重的 URl 获取 JSON 数据:- **compile 'me.neavo:volley:2014.12.09'** 放置此后没有得到 Strin
我正在尝试从 Android 发出 POST 请求以在我的 phpmyadmin 中插入一些信息。 我在用什么 Slim 与存储在 phpmyadmin 的数据库建立连接和查询。 XAMPP 模拟本地
我的 Volley 代码曾经像这样正常工作: StringRequest stringRequest = new StringRequest(method, URL, listener, errorL
下面的代码将实现一个简单的在线登录系统。 php 脚本路径在常量 authenticationURL 中定义(MainActivity.java 中的第 34 行)。它已经过 Postman 测试,可
api 调用发送了正确的响应,但是当我从 Volley StringRequest 得到响应时,撇号符号更改为不可读的字符。 我用来进行 api 调用的代码是这样的: private fun make
我已经能够使用 volley 从 url 获取字符串。该字符串现在在 TextView 中显示为一个 block 。但我希望能够在单独的 TextView 中显示这些数据。我怎样才能做到这一点? 也许
我正在使用以下代码在我服务器上的 sql 数据库中注册用户。 package com.cc.envoycc.activity; import android.app.Activity; import
我目前正在 fragment 内处理 ListView 。它工作得很好,但我需要使用用户的用户名过滤 ListView 上的数据。我如何能够使用请求传递“用户名”?任何帮助、建议和提示将不胜感激。预先
我试图通过在 Android 中使用 StringRequest 以及 POST 方法来获取 JSONArray。 php脚本的写法如下: $statement = mysqli_prepare($c
我有以下代码可以调用和接收 xml。 StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
当我在调试器中运行该方法时,数据按预期显示,但是每当我尝试使用它执行任何操作时,parentObject 的值都会返回为 null。 我只是想从服务器获取响应并将其存储为 JSONObject 以便在
我正在使用 Android Volley 进行网络通话。一般我使用JSONRequest接收json数据,然后使用GSON将它们转换成对象。 new Response.Listener() {
我是一名优秀的程序员,十分优秀!