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

Composants graphiques Android Discussion :

Mise en page d'un activity avec images et insertion de données du web dans un textview


Sujet :

Composants graphiques Android

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2010
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 154
    Points : 130
    Points
    130
    Par défaut Mise en page d'un activity avec images et insertion de données du web dans un textview
    Bonjour à tou-te-s,

    Je souhaite réaliser une activity dans laquelle il y ait une image et un textview contenant des données récupérées texte sur le web.
    Pour faire cela j'ai crée un fichier txt que j'ai mis en ligne sur un serveur web et j'appelle et lis le texte de ce fichier dans un textview.
    Mon soucis est que je n'arrive à afficher _que_ le texte du fichier txt.

    Voici le code de l'activity

    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
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
     
    		/* We will show the data we read in a TextView. */
    		TextView tv = new TextView(this);
     
    		/* Will be filled and displayed later. */
    		String myString = null;
    		try {
    			/* Define the URL we want to load data from. */
    			URL myURL = new URL("http://urldusite/patati.txt");
    			/* Open a connection to that URL. */
    			URLConnection ucon = myURL.openConnection();
     
    			/* Define InputStreams to read 
    			 * from the URLConnection. */
    			InputStream is = ucon.getInputStream();
    			BufferedInputStream bis = new BufferedInputStream(is);
     
    			/* Read bytes to the Buffer until 
    			 * there is nothing more to read(-1). */
    			ByteArrayBuffer baf = new ByteArrayBuffer(50);
    			int current = 0;
    			while((current = bis.read()) != -1){
    				baf.append((byte)current);
    			}
     
    			/* Convert the Bytes read to a String. */
    			myString = new String(baf.toByteArray());
    		} catch (Exception e) {
    			/* On any Error we want to display it. */
    			myString = e.getMessage();
    		}
    		/* Show the String on the GUI. */
    		tv.setText(myString);
    		this.setContentView(tv);
    	}
    Le texte s'affiche mais ne prend pas en compte mon fichier main.xml dont voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    	android:orientation="vertical" android:layout_width="fill_parent"
    	android:layout_height="fill_parent"  android:background="#EAEAEA">
     
    	<ImageView android:src="@drawable/icon" android:layout_width="wrap_content" android:layout_height="wrap_content"  />
     
    	<TextView android:id="@+id/tv"
    android:layout_width="wrap_content" android:layout_height="wrap_content" />
     
    </LinearLayout>
    J'ai testé pas mal de choses en vain. Merci d'avance pour votre aide.

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Salut,

    Enlève cette ligne là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.setContentView(tv);
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  3. #3
    Membre habitué
    Inscrit en
    Novembre 2010
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 154
    Points : 130
    Points
    130
    Par défaut
    Merci pour ton aide @MrDuChnok

    Je viens de tester ton idée/conseil.
    Effectivement le xml s'affiche mais seule l'image s'affiche, pas le texte (du textview).
    Ma balise TextView dans le xml n'est pas prise en compte.
    L'erreur peut-elle venir du fait que je nomme mal (l'id?) mon TextView ?

  4. #4
    Membre averti Avatar de _Xavier_
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2009
    Messages : 311
    Points : 390
    Points
    390
    Par défaut
    Citation Envoyé par clege Voir le message
    L'erreur peut-elle venir du fait que je nomme mal (l'id?) mon TextView ?
    Le problème est que tu crées un autre TextView différent de celui que tu as dans ton main.xml en faisant ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextView tv = new TextView(this);
    Tu devrais faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextView tv =  (TextView) findViewById(R.id.tv)

  5. #5
    Membre habitué
    Inscrit en
    Novembre 2010
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 154
    Points : 130
    Points
    130
    Par défaut
    @_Xavier_ super merci.
    Ça fonctionne. J'ai désormais l'image et un texte.
    Mais pas tout à fait le texte que je souhaitais car je vois dans l'émulateur
    host is unresolved : urldusite:80

  6. #6
    Membre averti Avatar de _Xavier_
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2009
    Messages : 311
    Points : 390
    Points
    390
    Par défaut
    L'adresse du site web est mal définie. C'est pourtant bien précisé.

  7. #7
    Membre habitué
    Inscrit en
    Novembre 2010
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 154
    Points : 130
    Points
    130
    Par défaut
    Je n'ai touché à rien et cela fonctionne ! Le site sur lequel je récupérais le fichier txt devait avoir un petit soucis.
    En tout cas, ça fonctionne

    Merci @_Xavier_ & @MrDuChnok

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/06/2013, 08h26
  2. Mise en page texte autour d'une image
    Par lisa.a dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 11/01/2010, 22h55
  3. Mise en page PDF vers html avec tableaux et images
    Par guyoms dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 28/03/2007, 00h14

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