Affichage de données provenant d'une base MySQL sous Android
Bonsoir,
J' ai développé ce programme qui permet de gérer une catalogue !
Le programme doit afficher la liste des catégorie des produits
qui sont dans une base de données mysql, via php et mysql et json.
Et lorsque les catégories et leurs images seront affichés, si on clique
sur une catégorie, on verra les détails d une catégorie . Mais
j' ai fini, ça a récupéré les données sur la base des données, mais
ça n affiche rien ! AIDEZ MOI A DÉBOGUER SVP
VOICI LE CODE
Code:
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
|
package km.synapse.catalogue.model;
import java.io.InputStream;
import java.net.URL;
import java.util.List;
import km.synapse.catalogue.MainActivity;
import km.synapse.catalogue.R;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class ListCatModel extends ArrayAdapter<Categorie> {
private List<Categorie> categories;
public ListCatModel(Context context, int textViewResourceId,List<Categorie>cats) {
super(context, textViewResourceId,cats);
this.categories=cats;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater)
getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.cat_item,parent );
TextView textView =(TextView) rowView.findViewById(R.id.textViewCat);
final ImageView imageView =(ImageView) rowView.findViewById(R.id.imageViewCat);
textView.setText(categories.get(position).getNomCategorie());
textView.setText(categories.get(position).getNomCategorie());
new Thread(new Runnable() {
@Override
public void run() {
try{
String nomImage =categories.get(position).getPhotoCat();
InputStream is = new URL(MainActivity.url+"/Catalogue/images"+nomImage).openStream();
Bitmap bitmap = BitmapFactory.decodeStream(is);
imageView.setImageBitmap(bitmap);
}
catch(Exception e){
e.getMessage();
}
}
}).start();
return rowView;
}
} |
--------------------------CLASS CATEGORIE--------------------------------
Code:
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
| package km.synapse.catalogue.model;
import java.io.Serializable;
import com.google.gson.annotations.SerializedName;
public class Categorie implements Serializable{
@SerializedName ("id_cat")
private Long idCategorie;
@SerializedName ("nomCat")
private String nomCategorie;
@SerializedName ("description")
private String descrition;
@SerializedName ("photo")
private String photoCat;
public Categorie(Long idCategorie, String nomCategorie, String descrition,
String photoCat) {
super();
this.idCategorie = idCategorie;
this.nomCategorie = nomCategorie;
this.descrition = descrition;
this.photoCat = photoCat;
}
public Categorie() {
super();
// TODO Auto-generated constructor stub
}
public Long getIdCategorie() {
return idCategorie;
}
public void setIdCategorie(Long idCategorie) {
this.idCategorie = idCategorie;
}
public String getNomCategorie() {
return nomCategorie;
}
public void setNomCategorie(String nomCategorie) {
this.nomCategorie = nomCategorie;
}
public String getDescrition() {
return descrition;
}
public void setDescrition(String descrition) {
this.descrition = descrition;
}
public String getPhotoCat() {
return photoCat;
}
public void setPhotoCat(String photoCat) {
this.photoCat = photoCat;
}
} |
NI LES IMAGES, NI LES CELLULES RIEN NE S'Affiche
Bonsoir,
merci enormement de me repondre ! mais j'arrive a visualiser les donner JSON sur le locat mais rien sur l'application
AFFICHAGE RIEN SUR MYSQL JSON ANDROID
bonsoir, voici un lien dont vous pouvez telecharger mon projet et me l'oserver ou me le corriger svp,
http://www.mediafire.com/file/q1cfcf...j07/projet.rar
Oui j'ai réussi bien à récupérer les informations et à les transformer ensuite en objet exploitable ? (en json )
Mon souci ne se situe qu'au niveau de l'affichage des l'images les cellules il y a rien qui s'affiche sauf l'ecran blan de mon fichier XML ?
Merci
Citation:
Envoyé par
Hizin
Histoire d'être clair : tu réussi bien à récupérer les informations ? Tu réussis bien à les transformer ensuite en objet exploitable ? Ton souci ne se situe qu'au niveau de l'affichage de l'image, c'est bien ça ? Le reste des cellules s'affichent bien sans problème ?
As-tu une quelconque stacktrace dans le LogCat ?
Tout d'abord, remarque d'usage sur les exceptions : mettre du Log.e(TAG, MESSAGE, EXCEPTION) dans les catch, où TAG est un tag permettant de filtrer les logs, MESSAGE est un message d'erreur, EXCEPTION est l'exception générée.
Ensuite, tu es dans un contexte particulier de ListView, c'est à dire que, entre le début du chargement de l'image, et sa fin, la vue en question n'est potentiellement plus à l'écran, d'où un problème d'affichage. Pour éviter celui-ci, il te faudra mettre en place un système de cache en ROM (en RAM si t'as pas excessivement d'images, et que celles-ci ne sont pas lourdes... mais ça fait un bordel de gestion de ressources aussi) pour pouvoir associer ton image à ton objet. Un simple [#]Context#openFileOutput[/#] devrait suffire, je pense. Tu sauves en local sous le nom de l'URL que tu vas topper (ou un nom généré que tu peux retrouver), tu vérifies si le fichier existe en local. Si oui, t'affiches, si non, tu DL et t'affiches.