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 LouisLacoste
      Bonjour,
       
      Cela vas faire maintenant plus de 1semaine que j'essaye de régler un assez gros problème sur mon Honor 5c Nem-l51 version européenne, le Bluetooth et le NFC de marchent plus (j'ai tout testé), la nouvelle version du recovery de Huwei s'est mal installé, ce qui fait un boot Loop dont je dois attendre le déchargement complet de mon telephone pour revenir sur la normale..
       
      je ne peux donc plus formater mon telephone, puisque quand il redémarre pour télécharger la ROM, il utilise le recovery, dans les options Développeurs je ne peux plus activer l'autorisation de déverrouillage OEM, (case a coché grisé.. et c'est mon plus gros problème si vous avez une solution a ça ce serais du génie..) mon téléphone se décharge en un rien de temps et il est très ralentie..
       
      Je suis a la recherche d'une ROM Officielle de Huawei pour mon honor (Honor 5c NEM-L51 european), j'en avais déjà trouvé plusieurs et fait la méthode de l'installation forcée avec le dossier "dload" dans la carte SD mais il y a une erreur "version demandé n'est pas compatible avec la version actuelle" et je ne trouve pas de ROM sur le site officiel de Honor, comme par hasard il manque les ROMs seulement pour Honor 5c '-' .
       
      RESUME :
       
      -impossible de flasher un recovery custom comme le nouveau TWRP 3.1.1.0
      -impossible de réinitialiser
      -impossible de mettre a jour car pas les roms nécessaires..
       
      Bref c'est bien le bazar.. et si une personne me trouve la solution je lui offre un grec..
    • By PG27
      Bonsoir à tous,
      Petit nouveau sur ce forum.
      En itinérance j'ai essayé de chargé sur Honor 5C , l'EMUI 5.0  en Wifi (NEM-L51C432B350). Coupure du Wifi après 7%.
      Depuis en me reconnectant chez moi en Wifi IMPOSSIBILITE de reprendre le chargement (après extinction et réallumage du smartphone, joué plusieurs fois sur suspendre/reprendre) Rien n'y fait je reste bloqué à 7% 😁
      Que faut il que je fasse pour continuer ou recommencer le chargement? , car la notification "1 mise à jour" est toujours apparente
      Merci de votre aide
    • By jumo95
      bonjour à tous, 
       
      voila j'ai un p9 lite (bouygues) je n'est pas eu de mise à jour. 
       
      donc j'ai voulu avoir la dernier version en android 7.0 et emui 5.0  
      voila les manipulation que j'ai effectué  
      j'ai fait tout avec sdktool
      donc je lest bootloader, twrp, rooter, et changer le eominfo 
      j'ai installer super us avec twrp 
       
      et maintenant je suis bloqué je n'est plus acces a twrp ou au system
       
      j'ai essayé plusieurs rom et tous softaire failed  incompatible 
       
      quelqu'un aurai une solution  
       
      merci d'avance
       
    • By mimikardash78
      Bonjour,
       
      Voilà j'ai un problème sur un smartphone LG K8 qui s'est retrouvé bloqué après une mise à jour Android récente. Le téléphone reste bloqué sur l'étape 1/2 du téléchargement de la mise à jour et redémarre sans cesse sans que la mise à jour ait pu avancer. Ce problème avait déjà été évoqué par un autre internaute auquel vous lui avez répondu qu'il n'a pas publié le post dans la bonne catégorie du forum. Je ne sais pas trop quoi faire, le téléphone "n'a que" six mois et le téléphone ne peut même pas être envoyé pour réparation, je suis obligée d'aller voir des centres techniques "indépendants" qui sont agréés par LG. J'ai bien peur de payer même si je suis encore sous garantie. Toute aide serait bienvenue, merci d'avoir lu ce message. Bon dimanche et bien à vous.
    • By Roboid
      Bonjour à tous
      Ayant voulu faire tardivement les mises à jour du OPO, je me suis en fait rendu compte que la société Cyanogen Inc avait fait faillite fin 2016 ... Et j'étais encore sur la version d'Android 5.0.2, donc loin des dernières mises à jour qui avaient été développées sur le smartphone. J'ai finalement décidé de faire toutes les mises à jour, mais ... pas de mises à jours trouvées alors que je savais qu'il y en avait, étant informé du problème, j'ai cherché à installer les mises à jour officielles manuellement. Tout s'est bien passé au début, je suis passé de la version 5.0.2 à 5.1.1 par le recovery, par contre, en effectuant les mises à jours suivantes (supérieures à 5.1.1), un problème me dérangeant énormément est apparu : le partage de connexion 3G/3G+... ne fonctionne plus. J'ai donc continué d'installer les mises à jour, actuellement, je suis à la version 6.0.1 d'Android, mais rien ne change, je ne retrouve toujours pas le partage de connexion, donc je pense que le problème doit être lié aux mises à jour. 
      Comment résoudre ce problème ? J'ai vraiment besoin de ce partage en plus  (en mode sans fil)
       
      Voici les tests que j'ai effectué :

      J'ai donc fait plusieurs tests, il est donc impossible que le problème vienne de mon opérateur sinon le partage de connexion 3G en USB n'aurait pas fonctionné (de plus, ayant épuisé mon Internet, j'ai racheté une recharge Internet, qui a fonctionné ... jusqu'à que je fasse les mises à jour, ce qui vient encore confirmer que le problème a été créé par une mise à jour  et non pas par l'opérateur puisque le partage de connexion fonctionnait juste avant la mise à jour);
      Je ne sais plus quoi faire, j'ai rallumé/redémarré mon portable, j'ai supprimé le cache de toutes les applications, j'ai essayé de changer le type d'APN de "default,supl" à "default,supl,hipri,mms,dun", à "default,dun", à " ", à "dun", à "default", j'ai mis le DNS 8.8.8.8 en primaire et 8.8.8.4 en secondaire, j'ai essayé d'installer FoxFi pour faire le partage de connexion WiFi ou Bluetooth, mais rien n'a fonctionné.
      Je vous remercie en avance pour l'aide que vous m'apporterez, parce-que je n'ai vraiment pas envie de faire un "factory reset" :x et je ne trouve personne qui a un problème similaire au mien.
       
      PS : en complément, je rajoute que lorsque j'essaie d'utiliser le partage de connexion sur mon PC, et que je vais sur Internet, ça me met d'abord "DNS_PROBE_STARTED" puis "Pas de connexion Internet - DNS_PROBE_FINISHED_NO_INTERNET"
      Quand je diagnostique le partage de connexion, ça me met : "Votre serveur DNS est peut-être indisponible" (même après le changement au DNS 8.8.8.8).