java - ANDROID: el ID del correo electrónico del receptor del cliente de correo electrónico está vacío en análisis de Android
email parsing (1)
si jsonObject no es nulo, verifique si la base de datos de análisis de la que extrae sus datos tiene la etiqueta "email"
Estoy usando el servidor de análisis de Android en la aplicación. a continuación se muestra la captura de pantalla db parse de la columna de correo electrónico. la columna de correo electrónico está detrás de la columna de contraseña oculta en la base de datos.
Mi problema es
cuando recupero identificadores de correo electrónico para el cliente de correo electrónico, el correo electrónico es nulo incluso si la columna de correo electrónico tiene correos electrónicos.
nota: en la aplicación en otro lugar (otra tabla), estoy sacando identificadores de correo electrónico al cliente de correo electrónico de la misma manera, pero el correo se muestra bien ... solo aquí se produce el problema.
Si alguien sabe por favor ayude ?
esta es la columna de correo electrónico en la base de datos de análisis
try{
JSONObject jsonObject = parseObjectToJson(object);
Log.d("Object", jsonObject.toString());
Log.d("Email", "+" + object.get("email"));
personNumber = jsonObject.getString("telephone");
personEmail = jsonObject.getString("email");
}catch (JSONException je){
}catch (ParseException pe){
}
este es el botón de correo electrónico
emailPerson = (Button)findViewById(R.id.individualEmail);
emailPerson.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_SEND);
i.setData(Uri.parse("mailto:"));
i.setType("plain/text");
i.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {personEmail});
startActivity(i);
}
});
if(personEmail==null || personEmail.equals("") || personEmail.equals(" ")){
emailPerson.setClickable(false);
emailPerson.setEnabled(false);
emailPerson.setVisibility(View.GONE);
}
else{
emailPerson.setEnabled(true);
emailPerson.setClickable(true);
emailPerson.setVisibility(View.VISIBLE);
}
aquí está funcionando bien, pero esta es una tabla diferente en la misma base de datos. > en esta tabla no hay un campo de contraseña oculto
try{
corporateEmail = jsonObject.getString("email");
if(corporateEmail == null || corporateEmail.equals("")){
emailCorporate.setVisibility(View.GONE);
emailCorporate.setEnabled(false);
emailCorporate.setClickable(false);
}
emailCorporate = (Button) findViewById(R.id.corporateEmail);
emailCorporate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_SEND);
i.setData(Uri.parse("mailto:"));
i.setType("plain/text");
i.putExtra(Intent.EXTRA_EMAIL, new String[] {corporateEmail});
startActivity(i);
}
});
private JSONObject parseObjectToJson(ParseObject parseObject) throws ParseException, JSONException, com.parse.ParseException {
JSONObject jsonObject = new JSONObject();
parseObject.fetchIfNeeded();
Set<String> keys = parseObject.keySet();
for (String key : keys) {
Object objectValue = parseObject.get(key);
if (objectValue instanceof ParseObject) {
jsonObject.put(key, parseObjectToJson(parseObject.getParseObject(key)));
} else if (objectValue instanceof ParseRelation) {
} else {
jsonObject.put(key, objectValue.toString());
}
}
return jsonObject;
}