Eristoff72 Posté(e) 27 décembre 2016 Share Posté(e) 27 décembre 2016 je développe une petite appli qui récupère une liste de musée depuis une API JSON. J'ai commencé le développement de tout ça. Mais Android Studio me met une erreur lors de la compilation : E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example....listemusee, PID: 8325 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example....listemusee/com.example.....listemusee.MainActivity}: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example....listemusee/com.example....listemusee.Musee}; have you declared this activity in your AndroidManifest.xml? ... ... ... ... etc.. Je cherche tant bien que mal, mais je ne trouve pas d'où peut provenir cette erreur. L'application se lance et se coupe directement dans l'émulateur. Voilà mon code: Mon Main Activity: public class MainActivity extends AppCompatActivity { ListView List; //ArrayAdapter<Musee> museeListe = new ArrayAdapter<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //List = (ListView) findViewById(R.id.listeMusee); //List.setAdapter(Musee.afficherText()); //this.startActivity(List); //List = (ListView) findViewById(R.id.listeMusee); setContentView(R.layout.activity_main); Intent intent = new Intent(this, Musee.class); //intent.putExtra(Musee.afficherText(), R.id.listeMusee); intent.putExtra(Musee.afficherText(), R.id.textMusee); this.startActivity(intent); } } Ma classe qui gère ma liste de musée: public class Musee extends Activity { //@Test EditText message_text; public ArrayList<Musee> musees = new ArrayList<Musee>(); private String datasetid; private String recordid; private String fields; private String periode_ouverture; private String nom_du_musee; //On appel le constructeur de notre class dans le main pour afficher la liste des musées? public Musee() { this.datasetid = "datasetid"; this.recordid = "recordid"; this.fields = "fields"; this.periode_ouverture = "periode_ouverture"; this.nom_du_musee = "nom_du_musee"; } //On appel la methode getMusee() pour récupérer les musées que nous renvoie l'api JSON public String getDataSetid() { return datasetid; } public String getRecordid() { return recordid; } public String getfields() { return fields; } public String getPeriode_ouverture() { return periode_ouverture; } public String getNom_du_musee() { return nom_du_musee; } public void setDataSetid(String datasetid) { this.datasetid = datasetid; } public void setRecordid(String recordid) { this.recordid = recordid; } public void setFields(String fields) { this.fields = fields; } public void setPeriode_ouverture(String periode_ouverture) { this.periode_ouverture = periode_ouverture; } public void setNom_du_musee(String nom_du_musee) { this.nom_du_musee = nom_du_musee; } public void add(ArrayList<Musee> musees) { //Ajouter tout ces attributs dans mon ArrayList } //test pour deboger public static String afficherText() { String texte; texte = ("toto"); return texte; } /**public static listeDesMusees (ArrayList<Musee>) { String texte; texte = System.out.println("test"); return ArrayList<Musee> musee; }*/ } La classe ou je récupère les données de mon API: public class ApiListeMusee { public static ArrayList<Musee> getMusees() { ArrayList<Musee> musees = new ArrayList<Musee>(); try { String myurl= "Mon Api JSON"; URL url = new URL(myurl); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.connect(); InputStream inputStream = connection.getInputStream(); /* * InputStreamOperations est une classe complémentaire: * Elle contient une méthode InputStreamToString. */ String result = InputStreamOperations.InputStreamToString(inputStream); // On récupère le JSON complet JSONObject jsonObject = new JSONObject(result); // On récupère le tableau d'objets qui nous concernent JSONArray array = new JSONArray(jsonObject.getString("musées")); // Pour tous les objets on récupère les infos for (int i = 0; i < array.length(); i++) { // On récupère un objet JSON du tableau JSONObject obj = new JSONObject(array.getString(i)); // On fait le lien sur les musées - Objet JSON Musee musee = new Musee(); musee.setDataSetid(obj.getString("datasetid")); musee.setRecordid(obj.getString("recordid")); musee.setFields(obj.getString("fields")); musee.setPeriode_ouverture(obj.getString("periode_ouverture")); musee.setNom_du_musee(obj.getString("nom_du_musee")); // On ajoute le musée à la liste musee.add(musees); } } catch (Exception e) { e.printStackTrace(); } // On retourne la liste des musées return musees; } } Mon Manifest.xml: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example....listemusee"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <uses-permission android:name="android.permission."/> <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> J'ai vraiment besoin de résoudre ce problème lors de la compilation, je ne comprend pas, tout semble correct dans mon code. En espérant que l'on puisse m'aider. Merci d'avance pour ceux qui pourront m'aider. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) 27 décembre 2016 Share Posté(e) 27 décembre 2016 Fil déplacé dans la section "développement", plus appropriée pour ce type de question que "Android en général" Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.