Le forum a été mis à jour! (lire la suite...)
Eristoff72

Problème lors de la compilation sur Android Studio

2 posts in this topic

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.

 

Share this post


Link to post
Share on other sites

Fil déplacé dans la section "développement", plus appropriée pour ce type de question que "Android en général" 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Similar Content

    • By Flagolet
      Bonjour,

      J'ai acheté un Wileyfox Swift où j'ai installé une ROM custom dessus (lineageos). Cependant suite à une mise à jour foireuse j'ai essayé de le restaurer mais il s'est bloqué.
      A l'allumage, le logo s'affiche 2s puis s'éteint. J'ai quand même accès au bootloader mais je ne peux pas faire grand chose (boot sur TWRP me renvoie l'erreur : FAILED (remote: bootimage: incomplete or not signed)).

      Merci d'avance.

    • By ren1330
      Bonjour,
       
      J'ai effectué la mise à jour Android 7 sur mon HTC 10 et depuis l'appareil photo (application d'origine) et la lampe torche refusent de se lancer.
       
      Je précise que le téléphone a fait un très bref séjour dans l'eau il y a quelques semaines mais tout fonctionnait jusqu'à présent.
      Cela peut être du à cette plongée inappropriée mais j'ai des doutes vu que ça ne bugge que depuis la mise à jour.
       
      Quelqu'un a rencontré ce problème ?
      Je n'entrevois pas de solution immédiate, sachant que j'ai déjà fait une réinitialisation du téléphone mais sans succès.
       
      Merci d'avance pour toute réponse, c'est la galère sans appareil photo... !
    • By lildjey
      Bonjour à tous !
       
      J'ai acheté le HM9 le 31 janvier dernier et j'en suis très satisfait sauf pour la partie téléphonie. 
       
       Le téléphone raccroche régulièrement tout seul parfois au bout de 3 secondes et d'autres fois cela peut durer jusqu'à 30 minutes etc.. Le temps de communication est vraiment variable.
       
      Est-ce quelqu'un aurai une solution ou aurai déjà eu le problème parce que c'est vraiment embêtant.
       
      Merci d'avance pour vos réponses.
    • By romumuz69
      Bonjour, je suis nouveau et j'aimerais résoudre mon problème.
      Cette après-midi j'avais décider d'installer Lineage OS sur ce téléphone. J'ai ensuite vu qu'il fallait faire pleins de choses. Puis il a fallut installer TWRP, mais ça ne marchais pas. J'ai essayer plusieurs versions puis une seul marchais mais impossible de monter l'espace disponible depuis TWRP. J'ai alors décider de reset  mon OP3T puis de recommencer. Toujours la même erreur. Puis je le redémarre et la il me dit "saisissez votre mot de passe pour lancer Android" sauf que je n'ai jamais mit de mot de passe et j'ai tout essayer impossible.
    • By fabi
      KBjr a tous j'ai reçu mon redmi note 4 il y a quelques jours j'en suis content tout marche bien mais j'ai remarqué quelques truc qui me semble bizarre:
      1 j'ai le haut parleur gauche qui marche pas à moins qu il marche que dans certains cas dites moi. 
      2 acheté sur Ali Room officiel international comment savoir ? 
      3 débloquer ou pas j ai essayé sur le site miui de débloquer mais c mon pseudo qui fait buger pourtant sur le compte du tel il y a bien écris fabius83 mais y veut pas j ai essayer le numéro  spécial le *#numero*#...  Rien ne se passe. 
      J'ai essayé de voir si c'était pas une contre façon sur le site miui avec mon imei rien ne se marque adresse livraison rien et l'autre façon avec le code de sécurité à gratter je ne l'ai pas sur la boîte.  C une contre façon ou quoi merci de m'éclairer.