2015-12-13 1 views
0

c'est le codecomment résoudre cette erreur, méthode non statique ne peut pas être référencé à partir d'un contexte statique

protected Void doInBackground(String... params) { 
    String reg_url = "http://10.0.2.2/"; 
    String method = params [0]; 
    if (method.equals("register")){ 
     String first_name = params [1]; 
     String last_name = params [2]; 
     String address = params [3]; 
     String email = params [4]; 
     String password = params [5]; 

     try { 
      URL url = new URL(reg_url); 
      HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection(); 
      HttpURLConnection.setRequestMethod("POST"); 
      HttpURLConnection.setDoOutput(True); 

     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } 
    return null; 
} 

et je reçois l'erreur sur ces deux lignes

HttpURLConnection.setRequestMethod("POST"); 
      HttpURLConnection.setDoOutput(True); 

sur l'ensemble .RequestMethod ("POST") et "setDoOutput (true); error indique que la méthode non statique ne peut pas être référencée à partir d'un contexte statique il doit être une erreur stupide mais je ne peux pas le comprendre alors quelqu'un peut-il m'aider s'il vous plaît ?

+0

Merci à tous les trois membres qui m'ont aidé avec mon problème. vous êtes le meilleur –

+0

À l'avenir s'il vous plaît chercher des questions similaires. Celui-ci est demandé au moins 5 à 10 fois par semaine, et je ne pense pas que le site bénéficiera de l'ajout d'un encore. Par exemple: [recherche simple sur message d'erreur] (http://stackoverflow.com/search?q=%5Bjava%5D+non+static+method+cannot+be+referenced+from+a+static). –

Répondre

1

Utilisez l'instance que vous avez obtenu dans l'appel à openConnection:

 HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection(); 
     httpURLConnection.setRequestMethod("POST"); 
     httpURLConnection.setDoOutput(true); 

Notez que Java est sensible à la casse. HttpURLConnection est le nom de la classe. httpURLConnection est une variable faisant référence à une instance de la classe.

0
HttpURLConnection.setRequestMethod("POST"); 
HttpURLConnection.setDoOutput(True); 

vous accédez à des méthodes non statiques avec la syntaxe de méthode statique

la référence httpURLConnection accès aussi les méthodes

httpURLConnection.setRequestMethod("POST"); 
httpURLConnection.setDoOutput(true); 
0

Vous devez appeler des méthodes setRequestMethod et setDoOutput sur l'instance URLConnection.

protected Void doInBackground(String... params) { 
    String reg_url = "http://10.0.2.2/"; 
    String method = params [0]; 
    if (method.equals("register")){ 
     String first_name = params [1]; 
     String last_name = params [2]; 
     String address = params [3]; 
     String email = params [4]; 
     String password = params [5]; 

     try { 
      URL url = new URL(reg_url); 
      HttpURLConnection con = (HttpURLConnection)url.openConnection(); 
      con.setRequestMethod("POST"); 
      con.setDoOutput(True); 

     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } 
    return null; 
}