我无法解释以下问题。
我正在开发Android应用。 MainActivity有一个调用Web服务来检索数据的方法。
我正在检查数据并且有一些非常奇怪的事情。
这就是我获取数据的方式:
private void getData() {
// SqLite database handler
db = new SQLiteHandler(this.getApplicationContext());
// session manager
session = new SessionManager(this.getApplicationContext());
if (!session.isLoggedIn()) {
logoutUser();
}
// Fetching user details from sqlite
HashMap<String, String> user = db.getUserDetails();
String name = user.get("name");
String email = user.get("email");
String imagen = user.get("imagen");
String user_id = user.get("uid");
String nivel_usuario = user.get("nivel_usuario");
Log.d("HOLA PERFIL", "UID LOGEADO en sqlite: " + nivel_usuario);
String id = user_id;
loading = ProgressDialog.show(this,"Please wait...","Loading data...",false,false);
String url = ConfigPerfil.DATA_URL+id;
StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
loading.dismiss();
showJSON(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// Toast.makeText(this,error.getMessage().toString(),Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String response){
Log.d("HOLA PERFIL", "RESPONSE: " + response);
String name="";
String email="";
String imagen = "";
String nivel_usuario = "";
String cel_verificado = "";
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(ConfigPerfil.JSON_ARRAY);
JSONObject collegeData = result.getJSONObject(0);
name = collegeData.getString(ConfigPerfil.KEY_NAME);
email = collegeData.getString(ConfigPerfil.KEY_EMAIL);
imagen = collegeData.getString(ConfigPerfil.KEY_IMAGEN);
nivel_usuario = collegeData.getString(ConfigPerfil.KEY_NIVEL_USUARIO );
cel_verificado = collegeData.getString(ConfigPerfil.KEY_CEL_VERIFICADO );
if (cel_verificado.equals("0")){
Toast.makeText(getApplicationContext(),
"CEL NUMBER NOT VERIFIED", Toast.LENGTH_LONG).show();
//Get_Cel();
Intent intent = new Intent(MainActivity.this,
VerificarCelActivity.class);
startActivity(intent);
}
else
{
Toast.makeText(getApplicationContext(),
"CEL NUMBER VERIFIED", Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
Log.d("HOLA PERFIL", "NIVEL USUARIO EN MAIN: " + nivel_usuario);
Log.d("HOLA PERFIL", "NIVEL USUARIO EN MAIN CEL VERIFICADO: " + cel_verificado);
txtNameU.setText(name);
txtWebsite.setText(email);
String cliente = "CLIENT";
String driver = "DRIVER";
if (nivel_usuario.equals("1")) {
txtTipo.setText(cliente);
}
if (nivel_usuario.equals("2")) {
txtTipo.setText(driver);
}
Glide.with(this).load(urlProfileImg+imagen)
.crossFade()
.thumbnail(0.5f)
.bitmapTransform(new CircleTransform(this))
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imgProfile);
}
此日志显示以下内容:
JSONObject jsonObject = new JSONObject(response);
10-25 23:29:43.639 7117-7117/com.juarezserver.sdocks D/HOLA PERFIL: RESPONSE: {"result":[{"name":"yo","id":"141","email":"modestovasco@gmail.com","imagen":"blue-user-icon.png","nombre":"FName","apellidos":"LName","nivel_usuario":"1","cel_verificado":"0","celular":"+526566742909"}]}
请查看cel_verificado = 0
的值如果我直接从浏览器执行PHP,则回显的结果为:
{"result":[{"name":"yo","id":"141","email":"modestovasco@gmail.com","imagen":"blue-user-icon.png","nombre":"FName","apellidos":"LName","nivel_usuario":"1","cel_verificado":"1","celular":"+526566742909"}]}
数据库中的真正价值是:
我正在努力找到问题的来源超过3个小时,但没有成功。 任何有关如何检测问题的线索都非常受欢迎
EDITED
我想这与某种缓存有关...