2011-08-02 3 views
0

J'essaie de me connecter à une base de données sur un serveur distant.
J'ai le code suivant avec des détails privés masqués:
Android Java Null Pointer Exception


public static void connectToServer() { 
     Log.e(tag,"Inside connectToServer"); 
     String result = ""; 
     ArrayList toDB = new ArrayList(); 

     //Assign namevalue pairs to toDB 
     try { 
      toDB.add(new BasicNameValuePair("A",dta.getA())); 
      toDB.add(new BasicNameValuePair("B",dta.getB())); 
      toDB.add(new BasicNameValuePair("C",dta.getC())); 
      toDB.add(new BasicNameValuePair("D",dta.getD())); 
      toDB.add(new BasicNameValuePair("E",dta.getE())); 
      toDB.add(new BasicNameValuePair("F",dta.getF())); 
     } catch (Exception e) { 
      Log.e(tag,e.toString()); 
     } 

     //http post 
     try{ 
       HttpClient httpclient = new DefaultHttpClient(); 
       HttpPost httppost = new HttpPost("http://mydom.com/myFolder/file.php"); 
       httppost.setEntity(new UrlEncodedFormEntity(toDB)); 
     }catch(Exception e){ 
       Log.e(tag, "Error in http connection "+e.toString()); 
     } 
    } 

Mon fichier manifeste est la suivante:
< uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
< uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
< uses-permission android:name="android.permission.INTERNET" />

Dans logcat je les suivantes:
Inside connectToServer
java.lang.NullPointerException

Pourquoi suis-je obtenir un NullPointerException?
Merci.

+0

ce qui est '' tag' ou dta' et où sont-ils définis – jondavidjohn

+0

S'il vous plaît poster ce que dit votre Logcat, Qu'est-ce que DTA –

+0

sont les objets « DTA » et ".? tag "référence rien? Ce sont les seules choses que je peux voir qui ne sont pas initialisées ici. – DeeV

Répondre

2

Certains objet que vous déréférenciez à l'intérieur de la méthode est null, donc c'est probablement eta.

+0

laissez-moi vérifier et de revenir à vous – Brahadeesh

+0

Merci. Je l'ai. Je n'avais pas appelé le constructeur. Ça marche maintenant. – Brahadeesh

+0

En passant, est-il un moyen de vérifier si j'ai reçu l'information dans le fichier php? – Brahadeesh

2

Vous essayez très probablement d'appeler une méthode d'un objet inexistant que vous n'avez pas réussi à créer.

Sans le gestionnaire d'exception, vous obtiendrez le numéro de ligne où l'erreur se produit dans les journaux.

+0

Merci. J'ai l'erreur. – Brahadeesh

1

Essayez de spécifier réellement le type de ArrayList

par exemple ArrayList<BasicNameValuePair> toDB = new ArrayList<BasicNameValuePair>();

également tag que ou DTA sont effectivement initialisé quelque part (peut-être quand vous les delcare vous pouvez aller de l'avant et de les attribuer à la chaîne vide. par exemple: String tag = ""; ou DTA dta = new DTA(); ou quoi que DTA

+1

Merci. Veuillez vous référer aux commentaires ci-dessus. Ce n'était pas le problème. – Brahadeesh

+0

ok, content que vous l'ayez compris. – BarFoo

Questions connexes