IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Cannot make a static reference to the non-static method toString() from the type URLS


Sujet :

Android

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Points : 17
    Points
    17
    Par défaut Cannot make a static reference to the non-static method toString() from the type URLS
    Bonsoir,

    J'ai essayé de stocker les URL dans une classe URLS, ou j'ai défini mes URL et les stocker dans un retour string grâce à la methode toString :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    package com.toi;
    import java.net.MalformedURLException;
    import java.net.URL;
     
    public class URLS  {
     
    	public String s;
     
    	   URL u1;
    	   URL u2;
     
    		public   String toString() 
    		{
     
    			   try 
    			   {
    				   u1 = new URL("http://www.ballouchi.com/xml/cat1/data.xml.php");
    				   u2 = new URL("http://www.ballouchi.com/xml/cat/data.xml.php");
     
    			   s= u1.toString();
    		} 
    			   catch (MalformedURLException e1) {
    					e1.printStackTrace();
    				}
     
     
    			return s;
    	}
    	}
    et je fait l'appelle de ses résultats dans une 2eme classe pour préparer le parse XML, ou je dois ajouter mon URL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    package com.toi;
    
    import java.io.IOException;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.ArrayList;
    
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.DefaultHandler;
    
    import android.content.Context;
    
    public class ContainerData {	
    	
    	static public Context context;
    	
    	public ContainerData() {
    
    	}
    
    	
    	public static ArrayList<Entry> getEntries(){
    		
    		SAXParserFactory fabrique = SAXParserFactory.newInstance();
    		SAXParser parseur = null;
    		ArrayList<Entry> entries = null;
    		
    		try {
    			
    			parseur = fabrique.newSAXParser();
    		} catch (ParserConfigurationException e) {
    			e.printStackTrace();
    		} catch (SAXException e) {
    			e.printStackTrace();
    		}
    		
    		
    		
    		URL url = null;
    		try {
    			
    			url = new URL(URLS.toString()); **ERRONE**
    			
    		} catch (MalformedURLException e1) {
    			e1.printStackTrace();
    		}
    		
    		
    		DefaultHandler handler = new ParserXMLHandler();
    		try {
    			
    			parseur.parse(url.openConnection().getInputStream(), handler);
    			
    			entries = ((ParserXMLHandler) handler).getData();
    		} catch (SAXException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		
    		// On la retourne l'array list
    		return entries;
    	}
    
    }
    mais j'arrive pas a lire l'URL ==> une erreur qui s'affiche
    Cannot make a static reference to the non-static method toString() from the type URLS test_forms/src/com/toi ContainerData.java line 46

    pouvez vous m'aider afin d'adapter mon code?
    merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Points : 432
    Points
    432
    Par défaut
    Ne le prend pas mal , mais ce que tu écris n'a aucun sens, il faudrait que tu lises un cours sur la programmation objet afin de pouvoir appréhender certains concepts sinon tu n'y arriveras pas.

    Tu peux seulement appeler une méthode statique (de classe) de cette manière:

    URLS.maMethodeDeClasse();

    La tu appels une méthode non statique, tu dois donc l'appeler sur un objet instancié. C'est à dire comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    URLS myObject = new URLS();
    myObject.toString();
    Et la méthode toString() ne sert pas à ça elle permet d'afficher des informations sur une instance d'une classe. Par exemple , une classe Voiture, la méthode toString pourra afficher la marque de la voiture, le nombre de chevaux , ect... . Pour connaitre les caractéristiques de l'objet Voiture qui a été instancié.

    Bref arrête le XML , et lis un cours sur la programmation orientée objet !

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/01/2012, 14h53
  2. Erreur "static reference to the non-static field"
    Par NetLandGim dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 04/04/2011, 00h55
  3. Cannot make a static reference to the non-static method readValues
    Par delta07 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 30/06/2010, 15h14
  4. Réponses: 5
    Dernier message: 18/05/2007, 12h30
  5. Cannot make a static reference to the non-static method
    Par semaj_james dans le forum Langage
    Réponses: 5
    Dernier message: 11/05/2006, 23h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo