Error: NullPointerAccess: La variable "" sólo puede ser null en esta ubicación

Estoy creando un servicio web que consulta mi base de datos y devuelve una lista del objeto en la base de datos. Tengo el error: NullPointerAccess: La variable "varname" sólo puede ser nulo en esta ubicación. No importa donde pongo la variable, recibo las mismas advertencias. No importa lo que pongo dentro de la variable, devuelve null. A continuación se muestra el método que se produce en:

public List<Contacts> getUsers() { String test = null; String username = "root"; String password = "ticket"; String tablename = "users"; String fieldname = "*"; String query = "SELECT " + fieldname + " FROM " + "android." + tablename + ";"; Contacts cont = new Contacts(); List<Contacts> lstc = null; /* this chnk of code can appear more or less verbatim */ /* in your database apps (including JSPs) */ String url = "jdbc:mysql://"my IP address":3306/android"; try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection(url, username, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(query); while (rs.next()){ if (!(rs.getString("username") == null)){ cont.setUsername(rs.getString("username")); } if (!(rs.getString("location") == null)){ cont.setLocation(rs.getString("location")); } if (!(rs.getString("updated_at") == null)){ cont.setUpdated_at(rs.getDate("updated_at")); } if (!(rs.getString("idUsers") == null)){ cont.setId(rs.getInt("idUsers")); } } rs.close(); stmt.close(); con.close(); }catch(Exception e){ test = e.toString(); } lstc.add(cont); //THIS IS THE VARIABLE THAT IS GIVING THE WARNINGS test = "blahbadslf"; return lstc; } 

La variable que está recibiendo las advertencias es mi variable List lstc. Cuando intento agregar un objeto a la lista consigo los errores. Cualquier ayuda sería muy apreciada. Aquí está la clase por si acaso:

 public class Contacts{ private int id; private String username; private String location; private Date updated_at; public void setId(int id) { this.id = id; } public int getId() { return id; } public void setUsername(String username) { this.username = username; } public String getUsername() { return username; } public void setLocation(String location) { this.location = location; } public String getLocation() { return location; } public void setUpdated_at(Date updated_at) { this.updated_at = updated_at; } public Date getUpdated_at() { return updated_at; } 

}

¡Gracias!

Usted recibe ese mensaje porque tiene:

 List<Contacts> lstc = null; 

Querías decir:

 List<Contacts> lstc = new ArrayList<Contacts>(); 

Por cierto

Tienes un segundo error:

  Contacts cont = new Contacts(); // you only create one of these 

Mejor:

  while (rs.next()){ Contacts cont = new Contacts(); // move to within the loop so one is created for every row in the result set 

Hay esto:

 List<Contacts> lstc = null; 

Y entonces ningún objeto es asignado a lstc . Fallar 🙁

Considere una new ArrayList<Contacts>() algún lugar meaninful (como en la declaración).

No instanciaste la lista. La lista sigue estando nula cuando desea acceder a ella.

Así que debes usar eso:

 List<Contacts> lstc = new List<Contacts>(); 
  • Autenticación de Webservice de iPhone y token de acceso
  • ¿Cómo conectar el teléfono de android a un servicio de la tela funcionado en el servidor local?
  • Conexión a un servicio web desde una aplicación de Android con seguridad
  • Cómo hacer que el servicio Web ASP.NET Web API esté disponible en la red local
  • Excepción "Caracteres ilegales en la consulta en el índice -" en Android
  • La mejor manera de almacenar en caché una respuesta de XML / JSON en mi uso. Archivo de texto completo?
  • API de servidor para aplicaciones móviles
  • Android Fatal señal 11 (SIGSEGV) en 0x00000040 (código = 1) Error
  • Comprobación de la disponibilidad del servicio web en android
  • En caché JSON de webservice en android - patrón?
  • Compartir clases java entre el servicio web y el cliente
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.