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 :

Développer une application pour un journal


Sujet :

Android

  1. #1
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut Développer une application pour un journal
    Bonjour,
    Je dois réaliser une application Android pendant un stage de 3 mois.
    Ce sera une application du genre de celle du new York Times par exemple.


    Déjà gràce à developpez.com j'ai pu installer Eclipse, avec JDK et SDK, l'émulateur fonctionne.
    Et là je commence à faire des tests, c'est intéressant comme c'est bien rangé avec colors.xml, dimension.xml, strings.yml, etc...

    Je comprend pas quelque chose avec les LinearLayout, pourquoi je ne peux pas faire un grand LinearLayout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" 
        android:layout_gravity="fill_vertical|fill_horizontal"
        android:orientation="vertical">
    (fill_vertical|fill_horizontal c'est égal à fill)

    Et dans ce LinearLayout je mettrais un LinearLayout android:layout_gravity="top" et un autre android:layout_gravity="bottom".

    Ben ça ne marche pas.
    Bon j'explique mal, mais en gros je voudrais un LinearLayout qui prenne tout le conteneur, un en haut du conteneur et en bas.
    Mais apparemment je dois mal m'y prendre.
    Et dans l'absolu ça sert à rien, je me demandais juste pourquoi ça ne marchait pas.

    Et sinon comment dois-je m'y prendre pour que l'application Androis récupère des informations sur un serveur ?
    Je fais une application serveur qui à accès à une base de donnée et l'application Android est client ?

    Merci.
    Bonne journée.
    Au revoir.
    Keith Flint 1969 - 2019

  2. #2
    Expert confirmé Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 619
    Points : 4 350
    Points
    4 350
    Par défaut
    Tu as pensé à utiliser un flux RSS ?
    http://www.traducteur-sms.com/ On ne sait jamais quand il va servir, donc il faut toujours le garder sous la main

  3. #3
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    Non, je ne sais pas du tout comment faire.
    Mais le plus simple sera le mieux !

    Pour le moment je ne sais rien faire avec Android.
    Je ne sais pas comment depuis une classe Java, ajouter quelque chose dans la vue, par exemple.
    Là j'essaie de faire un boutton qui provoque une action, mais je n'y suis pas encore...

    Je vais me renseigner sur les flux RSS, merci.

    Et sinon, niveau affichage, si je veux faire comme le New York Times, je dois m'y prendre comment ?

    Titre, phrase du début, sur toute la largeur, moins la largeur de l'image qui est à droite.
    Keith Flint 1969 - 2019

  4. #4
    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
    Pour le moment je ne sais rien faire avec Android.
    Je ne sais pas comment depuis une classe Java, ajouter quelque chose dans la vue, par exemple.
    Là j'essaie de faire un boutton qui provoque une action, mais je n'y suis pas encore...
    Donc avant d'aller plus loin, je te conseille plus que fortement de bien prendre en main le SDK, de réaliser l'ensemble des exercices présents sur le site du développeur android (http://d.android.com). Cela te permettra de te familiariser avec la palette des composants, les principes généraux à appliquer sur Android, les différentes notions (activity, services, layout, etc).
    Sans ça, tu vas passer plus de temps à te poser des questions, résoudre des erreurs basiques que si tu avais suivi une autoformation classique (Suivant des compétences existantes (Java, interface, gestion des évènements), en moins d'une semaine tu peux avoir une bonne vision de l'ensemble du développement sur Android).
    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

  5. #5
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    D'accord merci.
    Non parce que dès que ça ressemble à Java, c'est bon je sais faire.
    Mais Android c'est étrange pour moi, pour le moment.

    Je n'ai pas trouvé d'exercices mais ça :
    http://d.android.com/resources/brows...l?tag=tutorial

    Ca commence doucement, ça devrait aller !

    ==================================================
    J'ai juste une précision à avoir, des news sont sur un serveur, ont peut les récupérer gràce à Atom/RSS ?

    Boon je sais que pour l'instant je devrais plus me concentrer sur la base d'Android.
    Je vais faire un truc un peu stupide mais ça me fera avancer, je vais faire une classe Java qui sera composé d'un titre, d'une image et d'un texte, je vais créer plusieurs instances, et les affichers dans l'interface.
    Keith Flint 1969 - 2019

  6. #6
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    Alors là je vois pas du tout !
    Il faut que quelqu'un m'explique ou alors qu'on me donne des liens extremements pertinents.

    J'ai suivi les exemple de ListView, RelativeLayout, même WebView.

    Parce que dans l'absolu c'est quand même pas compliqué :
    On récupère dans une base de données des news.
    On affiche pour chaque news le titre et la vignette.
    Quand on clique sur un titre ou une vignette ou affiche la news.

    Je pense qu'avec ListView je pourais faire un début en fait.
    Mais je ne sais pas sous quel forme je dois mettre les News.

    S'il vous plait, aidez-moi.
    Même un petit conseil des fois ça aide beaucoup.
    Merci.
    Keith Flint 1969 - 2019

  7. #7
    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
    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

  8. #8
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    Merci beaucoup
    J'avais fais des recherches et je n'étais pas tombé dessus.

    Edit :
    Ce lien va vraiment beaucoup m'aider.
    Au lieu d'avoir des Personnes j'aurais des News.
    Je ne vais pas changer de couleur en fonction du sexe, mais afficher le titre, la première phrase, est une petite image.
    Ensuite je met une action, qui change de vue en fonction d'où on appuie.

    Grâce a ce tuto je devrais finir par y arriver.
    Bon pour le moment, le programme ne se lance pas et plante, je reprendrais ça lundi.

    Mais après je n'ai plus qu'a créer la liste de News en la récupérant sur le serveur et j'ai fini en gros.

    Et pis sinon un truc qui n'a rien a voir, mais Web View ça gère bien le flash ?
    Keith Flint 1969 - 2019

  9. #9
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    Bonjour,
    Je suis partie de DVP_List2_event.zip et j'ai modifié pour prendre en compte des News au lieu de Personne.
    Et ça marche !

    Là je suis dans le news_layout.xml et j'aimerais faire :


    Mais je ne sais pas comment faire...
    Je vais essayer de trouver un bon tuto sur les linearlayout mais c'est pas gagné.

    J'ai une idée peut être en créeant un LinearLayout Horizontale, dedans je met un LinearLayout Verticale et un autre LinearLayout.

    Dans le LinearLayout horizontal je met deux textView et dans le dernier je met un imageView.

    =======================
    Ouais donc ça marche bien :


    Par contre j'ai l'impression qu'il m'écoute pas quand je lui dis que le premier LinearLayout : android:layout_width="fill_parent" en plus dans la doc il y a écrit de ne plus utiliser fill_parent mais match_parent, mais Eclipse me met une erreur String type not allowed, enfin bon le problème n'est pas là.

    je n'arrive pas à aligner l'image à droite, j'ai essayé de mettre le LinearLayout contenant l'ImageView : android:gravity="right".

    Si vous avez une idée pour aligner un linearlayout à droite dans un linearlayout qu'a un width qui est sensé prendre toute la largeur vous me dite.

    Merci.

    ======================
    J'ai réussi à aligner à droite, mais ma méthode n'est pas bonne.
    Faudrait que je dise à la linear layout contenant l'image de coller à droite, et d'avoir une largeur définit.
    Keith Flint 1969 - 2019

  10. #10
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    J'ai mis l'image dans une relativelayout et j'ai mis ça à l'image :
    android:layout_alignParentRight="true"
    Ca semble pas trop mal.



    La suite est un peu plus compliqué.
    Dans ma classe NewsAdaptater j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tv_Titre.setText(mListN.get(position).titre);
    tv_Texte.setText(mListN.get(position).texte);
    En fait c'est un copier/coller de l'original, j'ai ma classe News avec en public deux String titre et news.

    Le truc c'est que j'ai aussi une string image.
    Et j'aimerais afficher cette image.

    Je suppose que je dois commencer par ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            TextView tv_Titre = (TextView)layoutItem.findViewById(R.id.TV_Titre);
            TextView tv_Texte = (TextView)layoutItem.findViewById(R.id.TV_Texte);
            ImageView tv_Image = (ImageView)layoutItem.findViewById(R.id.TV_Image);
    Le truc c'est qu'il semblerait qu'au lieu d'une méthode setText qui envoit une String je dois utiliser tv_Image.setImageResource qui envoit un int.
    Et là je suis un peu coincé.
    Keith Flint 1969 - 2019

  11. #11
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    Je peux afficher une image avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ImageView tv_Image = (ImageView)layoutItem.findViewById(R.id.TV_Image);
    tv_Image.setImageResource(R.drawable.icon_doc);
    Mais là je n'arrive pas à lier une news avec une image.
    Et je ne sais pas quelle technique utilisé pour réaliser mon application.
    Mais là je ne pense pas bien m'y prendre.

    Parce que tout sera dans une base de données et je ne visualise pas comment se fait le transfert entre la base de donnée et l'application.
    Mais il doit bien exister des tutoriaux pour ça ?

    Désolé de faire plusieurs posts de suite, mais j'aimerais bien avoir quelques éclairages.
    Merci.
    Au revoir.

    Comme vous me l'avez conseillé je suppose que la meilleure solution est le RSS.
    Je fais des recherches la dessus.

    Apparemment j'ai trouvé quelque chose :
    http://www.ibm.com/developerworks/xm.../x-androidrss/
    http://www.helloandroid.com/tutorial...oid-rss-reader
    Keith Flint 1969 - 2019

  12. #12
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    Sur ce forum j'ai trouvé 2 topics qui peuvent m'aider :
    Lecteur de flux RSS
    [XML] Lire et utiliser un Flux RSS

    Pour le moment je n'ai pas encore saisie la logique de la chose.

    Le flux RSS ça peut juste être un .xml sur un serveur quelconque ?

    Edit :
    J'ai trouvé un tuto sur le parsing avec SAX :
    http://thibault-koprowski.fr/2010/10...-sous-android/
    Keith Flint 1969 - 2019

  13. #13
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    J'ai récupéré les sources de cette page :
    http://enestaylan.com/ideas/2010/06/...er-in-android/

    Et ça fonctionne directement.
    J'ai créer mon fichier rss et je l'ai mis sur un compte Free et ça fonctionne également.
    Je vais essayer de bricoler ça pour mieux comprendre.

    =================================================
    Edit : Je suis sûre que la réponse à la question que je vais poser est simple, si vous plait répondez moi.
    Pour afficher une image il faut que je l'ai dans R.java pour cela il faut qu'elle soit dans un des dossiers drawable.

    Est-ce que si dans chaque item de mon flux RSS je met une image dans un enclosure, je peux télécharger toutes les images et les mettres dans le dossier drawable ?

    Je ne comprend pas comment passer d'un flux RSS à quelque chose comme ça :


    ====================================================
    Comment récupérer l'adresse contenu dans l'url du enclosure :
    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
    <?xml version="1.0" encoding="iso-8859-1"?>
    <rss version="2.0">
        <channel>
            <title></title>
            <description></description>
            <lastBuildDate></lastBuildDate>
            <link></link>
            <item>
                <title></title>
                <description></description>
                <pubDate></pubDate>
                <link></link>
    			<enclosure url="" type="image/jpeg" length=""/>
            </item>
        </channel>
    </rss>
    Sachant que pour récupérer le titre c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Element _titleE = (Element) entry.getElementsByTagName("title").item(0);
    String _title = _titleE.getFirstChild().getNodeValue();
    Bon apparemment c'est du XPath, mais enclosure c'est pas la même balise que title, description ou link...

    Si vous avez juste un indice ce serait vraiment aimable de votre part de m'en faire part, merci.

    ==================================================
    J'ai peut être trouvé comment insérer une image depuis une URL :
    http://stackoverflow.com/questions/2...url-in-android

    ==================================================
    Edit :
    C'est bon je récupère l'URL de l'enclosure.
    Déjà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Element element = document.getDocumentElement();
    NodeList nodeList = element.getElementsByTagName("item");
     
    if (nodeList.getLength() > 0) 
    	{
    	for (int i = 0; i < nodeList.getLength(); i++) 
    	{
    		Element entry = (Element) nodeList.item(i);	
    		Element _titleE = (Element) entry.getElementsByTagName("title").item(0);
    		String _title = _titleE.getFirstChild().getNodeValue();
    	}
    }
    Ca revient au même que :
    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
    Element element = document.getDocumentElement();
    NodeList nodeList = element.getElementsByTagName("item");
     
    if (nodeList.getLength() > 0) 
    	{
    	for (int i = 0; i < nodeList.getLength(); i++) 
    	{
    		Element entry = (Element) nodeList.item(i);	
    		String title;
    		NodeList titleNode = entry.getElementsByTagName("title");
    		if (titleNode == null || titleNode.getLength() < 1)
    			title = "";
    		else
    			title = titleNode.item(0).getFirstChild().getNodeValue();
    	}
    }
    Du coup pour récupérer l'URL de l'enclosure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    String urlImage;
    NodeList urlNode = entry.getElementsByTagName("enclosure");
    if (urlNode == null || urlNode.getLength() < 1)
    	urlImage = "";
    else {
    	Element urlEl = (Element)urlNode.item(0);
    	if(urlEl == null)
    		urlImage = "";
    else
    	urlImage = urlEl.getAttribute("url");
    }
    ==================================
    Bon j'arrive à afficher l'image en récupérant l'URL dans l'enclosure, si vous voulez voir l'application :
    http://iris.jh.free.fr/moi/android/Journal-16-03-11.zip

    Par contre pour le moment l'image je l'affiche avec le texte, mais je voudrais l'afficher dans la liste des news, mais bon list_item c'est un ArrayAdapter donc c'est un peu plus compliqué...
    Keith Flint 1969 - 2019

  14. #14
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    Je parle tout seul depuis un bail, mais avec un peu de chance quelqu'un finira par m'aider et au pire je finirais bien par me débloquer tout seul...

    Maintenant à partir d'un flux RSS j'ai ça :


    Et quand je clique sur un titre :


    Si vous voulez télécharger l'application :
    http://iris.jh.free.fr/moi/android/J...6-03-11(2).zip

    J'ai éssayé de faire comme DVP List :
    http://mickael-lt.developpez.com/tut...iser-listview/

    D'ailleurs dans mon app il y a aussi un ArrayList et il y a également la méthode setAdapter.
    Mais je n'y arrive pas.


    Dans le main.xml j'ai une ListView, exactement comme dans le tutorial de developpez.com.

    A la place de la classe Personne j'ai RssItem :
    private String title;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	private String description;
    	private Date pubDate;
    	private String link;
    	private String image
    ;

    J'ai une méthode qui retourne tout les items d'un flux dans une ArrayList.
    J'ai fais une classe hérité de BaseAdapter pour afficher les item du flux.

    Je suis nul, je suis sûre qu'il ni a pas de tant de modif à faire en plus...

    Edit :
    Je ne sais pas ce que j'ai mais ça ne plante plus.
    Par contre je ne recupere plus rien quand je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList <RssItem> newItems = RssItem.getRssItems(feedUrl);
    Avec feedUrl="http://iris.jh.free.fr/moi/android/flux.rss";
    et :
    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
    70
    71
    72
    73
    74
    75
    public static ArrayList<RssItem> getRssItems(String feedUrl) {
     
    		ArrayList<RssItem> rssItems = new ArrayList<RssItem>();
     
    		try {
    			//open an URL connection make GET to the server and 
    			//take xml RSS data
    			URL url = new URL(feedUrl);
    			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
     
    			if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
    				InputStream is = conn.getInputStream();
     
    				//DocumentBuilderFactory, DocumentBuilder are used for 
    				//xml parsing
    				DocumentBuilderFactory dbf = DocumentBuilderFactory
    						.newInstance();
    				DocumentBuilder db = dbf.newDocumentBuilder();
     
    				//using db (Document Builder) parse xml data and assign
    				//it to Element
    				Document document = db.parse(is);
    				Element element = document.getDocumentElement();
     
    				//take rss nodes to NodeList
    				NodeList nodeList = element.getElementsByTagName("item");
     
    				if (nodeList.getLength() > 0) {
    					for (int i = 0; i < nodeList.getLength(); i++) {
     
    						//take each entry (corresponds to <item></item> tags in 
    						//xml data
     
    						Element entry = (Element) nodeList.item(i);
     
    						Element _titleE = (Element) entry.getElementsByTagName("title").item(0);
     
    						String urlImage;
    						NodeList urlNode = entry.getElementsByTagName("enclosure");
    						if (urlNode == null || urlNode.getLength() < 1)
    							urlImage = "";
    						else {
    						    Element urlEl = (Element)urlNode.item(0);
    						    if(urlEl == null)
    						        urlImage = "";
    						else
    						    urlImage = urlEl.getAttribute("url");
    						}
     
    						Element _descriptionE = (Element) entry.getElementsByTagName("description").item(0);
    						Element _pubDateE = (Element) entry.getElementsByTagName("pubDate").item(0);
    						Element _linkE = (Element) entry.getElementsByTagName("link").item(0);
     
    						String _title = _titleE.getFirstChild().getNodeValue();
    						String _description = _descriptionE.getFirstChild().getNodeValue();
    						Date _pubDate = new Date(_pubDateE.getFirstChild().getNodeValue());
    						String _link = _linkE.getFirstChild().getNodeValue();
     
    						//create RssItemObject and add it to the ArrayList
    						RssItem rssItem = new RssItem(_title, _description,	_pubDate, _link, urlImage);
     
    						rssItems.add(rssItem);
     
     
     
    					}
    				}
     
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
     
    		return rssItems;
    	}
    Keith Flint 1969 - 2019

  15. #15
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    D'ailleurs dans mon app il y a aussi un ArrayList et il y a également la méthode setAdapter.
    Mais je n'y arrive pas.
    Tu n'arrives pas à quoi ?

    Par contre pour le moment l'image je l'affiche avec le texte, mais je voudrais l'afficher dans la liste des news, mais bon list_item c'est un ArrayAdapter donc c'est un peu plus compliqué...
    Il te suffit juste d'implémenter ton layout_item avec une imageview à l'intérieur de celle-ci .
    Garde en mémoire après ta bitmap.
    J'ai une méthode qui retourne tout les items d'un flux dans une ArrayList.
    J'ai fais une classe hérité de BaseAdapter pour afficher les item du flux.
    Pour l'instant t'es dans le bon

    Edit : Je suis sûre que la réponse à la question que je vais poser est simple, si vous plait répondez moi.
    Pour afficher une image il faut que je l'ai dans R.java pour cela il faut qu'elle soit dans un des dossiers drawable.

    Est-ce que si dans chaque item de mon flux RSS je met une image dans un enclosure, je peux télécharger toutes les images et les mettres dans le dossier drawable ?
    non cela tu ne peux pas , il me semble , il faut que tu les gardes en mémoires , ou tu peux toujours les sauvegarder en fichier puis les ré afficher par la suite . Si tu les gardes en mémoire pense bien à les réduire pour que celles-ci ne prennent pas trop de place .
    Autre possibilité , tu les télécharge avant de les afficher et là tu n'as plus de souci de mémoire , il te faudra garder que l'url dans ton array .



    Je peux afficher une image avec ça :
    Code :

    ImageView tv_Image = (ImageView)layoutItem.findViewById(R.id.TV_Image);
    tv_Image.setImageResource(R.drawable.icon_doc);


    Mais là je n'arrive pas à lier une news avec une image.
    Et je ne sais pas quelle technique utilisé pour réaliser mon application.
    Mais là je ne pense pas bien m'y prendre.

    Parce que tout sera dans une base de données et je ne visualise pas comment se fait le transfert entre la base de donnée et l'application.
    Mais il doit bien exister des tutoriaux pour ça ?

    Si ton image provient du net , alors utilise plutôt cette procédure de l'ImageView
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Bitmap bmp = BitmapFactory.decodeFile(url_image);
    ImageView tv_Image = (ImageView)layoutItem.findViewById(R.id.TV_Image);
    tv_Image.setImageBitmap(bmp);
    http://developer.android.com/referen...apFactory.html
    http://developer.android.com/referen...hics.Bitmap%29

    Désolé de faire plusieurs posts de suite, mais j'aimerais bien avoir quelques éclairages.
    Merci.
    Au revoir.
    Je suis nul, je suis sûre qu'il ni a pas de tant de modif à faire en plus...
    Non on te suis , tu as l'air de bien avancé .
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  16. #16
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    Merci beaucoup.
    Ca fait super plaisir d'avoir une réponse.
    Je vais ajuster mon code avec les conseils que vous m'avez donné.

    Non mais je suis vraiment nul, parce que là j'avais un message d'erreur dans le logcat et j'avais même pas vu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WARN/System.err(730): java.net.UnknownHostException: Host is unresolved: iris.jh.free.fr:80
    Pour des tests je fais des System.out.println() et je lis dans le logcat, c'est la bonne façon de faire ?
    Keith Flint 1969 - 2019

  17. #17
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Je ne sais pas ce que j'ai mais ça ne plante plus.
    Par contre je ne recupere plus rien quand je fais ça :
    Essaye de nous montrer le logcat quand tu as des erreurs , et lorsque tu ne comprends pas ce qu'y se passe dans ta procédure n'oublie pas d'utiliser les logs , ou de débugger ton application .

    Pour des tests je fais des System.out.println() et je lis dans le logcat, c'est la bonne façon de faire ?
    Tu peux directement passer par les Log , c'est plus propre. Sinon c'est ça

    http://developer.android.com/referen.../util/Log.html

    N'oublie pas le débugger qui peut être très utile .
    Non mais je suis vraiment nul, parce que là j'avais un message d'erreur dans le logcat et j'avais même pas vu :
    On l'a tous été un moment donné
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  18. #18
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    Merci pour ces précisions.

    Ce matin j'ai allumé le PC, j'ai lancé le projet dans l'émulateur et ça marche.
    Enfin je récupère bien les items, c'est déjà ça.
    En RSS peut-il y avoir plusieurs enclosure dans un item ?

    J'ai enfin compris quelque chose au RelativeLayout :




    Le truc c'est que là j'ai pris des images carré et j'ai mis :
    android:layout_width="70dip"
    android:layout_height="70dip"

    Mais je crois pas que ce soit la bonne solution.

    android:maxHeight="70dip"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    Ce code devrait marcher non ?

    ========================================
    Bon en fait je ne sais pas comment faire pour la vignette.
    Je voudrais qu'elle soit à droite d'une certaine taille et que toute la place qu'il reste soit pour le titre.

    Bon du coup j'ai pas trop retouché aujourd'hui :



    En parallèle j'essaie d'avoir flash sur l'émulateur android 2.2.
    J'ai pu mettre Adobe Air, mais j'ai pas compris l'interet.
    Après j'ai essayé d'installer l'Android Market et j'y suis presque !
    Keith Flint 1969 - 2019

  19. #19
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    Je crois avoir trouvé la solution pour afficher le texte et l'image :


    Pour afficher une image depuis une URL c'est ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            ImageView tv_Image = (ImageView)layoutItem.findViewById(R.id.TV_Image);
     
            try{
                URL ulrn = new URL("http://server.com/images/image.jpeg");
                HttpURLConnection con = (HttpURLConnection)ulrn.openConnection();
                InputStream is = con.getInputStream();
                Bitmap bmp = BitmapFactory.decodeStream(is);
                if (null != bmp)
                    tv_Image.setImageBitmap(bmp);
                else
                    System.out.println("The Bitmap is NULL");
     
                }catch(Exception e){}{
            }
    J'ose pas trop vous montrer le layout.xml qui va avec l'affichage de chaque news, parce que c'est vraiment moche.


    =====================================================
    Vous n'auriez pas une idée pour couper le texte comme ça :


    Ca prend la hauteur de l'image, ça affiche le titre et le max du texte possible et ça ajoute "...", je pense que dans le layout je peux faire quelque chose avec android:layout_height="0dp".
    Keith Flint 1969 - 2019

  20. #20
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,
    Vous n'auriez pas une idée pour couper le texte comme ça :
    Déjà, tu peux définir le nombre de ligne que tu veux afficher

    http://developer.android.com/referen..._android:lines

    Pour les trois points utilise dans ta TextView
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:ellipsize="end"
    Tu aurais au final

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    android:lines="3"
    android:ellipsize="end"
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 1234 DernièreDernière

Discussions similaires

  1. Développer une application pour le web aujourd'hui
    Par krzysiu dans le forum Web & réseau
    Réponses: 22
    Dernier message: 06/08/2013, 14h16
  2. Développer une application pour tablette Surface RT
    Par mulfycrowh dans le forum C++
    Réponses: 0
    Dernier message: 09/12/2012, 23h16
  3. [Jena] Développer une application pour l'alignement d'ontologies
    Par minazed dans le forum Frameworks
    Réponses: 1
    Dernier message: 11/04/2012, 16h05
  4. Développer une application pour iPod Shuffle sous eclipse/ubuntu en Java
    Par Sidharta.1978 dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 13/07/2011, 18h03
  5. Comment développer une application pour CE?
    Par highdata dans le forum VB.NET
    Réponses: 3
    Dernier message: 05/06/2007, 10h47

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