Je viens de commencer le cours, et je me retrouve bloqué sur le premier exercice, avec le lancer de dés. Dans la correction, on voit que le layout utilisé est un LinearLayout. Or, je ne trouve aucun moyen de changer le layout créé automatiquement par Android Studio de Relative en Linear.
Le cours explique bien comment créer un nouveau Linear Layout, mais pas comment faire pour que le layout de l'activité main soit en linear...
Inspire toi déjà des Mock des deux cours d'Android sur Openclassrooms, tu as des TP realizes, ça te donne une idée, des applications que tu peux faire avec Android. C'est une bonne base pour débuter.
Je rencontre un problème sur le TP Afficher une liste Recyclerview dans la PARTIE 2.Le soucis avec cette liste RecyclerView, c’est que chaque item tiens sur une page.
Le résultat que je devrais obtenir est le suivant :
--Et moi j’obtiens ce résultat
Voici le code de mon layout recyclerview
Voici le code de ma vue item
Voici quand je récupère l’objet recyclerview dans la classe MainActivity
Je peux vous donner le code de ma classe MyAdaptater et MyViewHolder ci besoin (j'ai du les retirer, pour enregistré ma discussion sur le forum)
J’ai pourtant fait il me semble la même chose que le formateur et pourtant j’ai cette grande différence de style et de thème ainsi que son gros espacement entre les items, impossible de le réduire
J’aurai besoin de votre aide, pour comprendre et régler ce problème d’affichage.Je vous remercie déjà pour l’aide comme vous avez peum’apporté dans ces différentes discussions que j’ai ouvert sur ce forum.
J'avais une petite question technique. D'abord merci pour ce cours sur Android Studio, il m'a beaucoup aidé pour me lancer à faire ma propre appli :)
Sur un de mes layouts, j'ai fait un calendrier avec initializeCalendar();, ça marche très bien, seulement j'aimerais bien pouvoir ouvrir un nouveau layout lorsque je clique sur un des jours du calendrier et enregistrer des informations dessus, que je pourrais voir en cliquant sur le jour. J'ai beau rélféchir, je ne sais pas comment faire parce qu'il n'y a pas de limite de layouts à créer puisqu'il y en a autant que de jours. Et de plus, je ne sais pas comment ouvrir un layout avec autre chose qu'un bouton, comment pourrait-on associé un bouton à un jour du calendrier, sachant qu'un jour se déplace sur l'interface ?
J'espère être claire! Merci d'avance pour votre aide !!
Mon processeur n'est pas compatible avec la virtualisation, en conséquence je ne peux pas utiliser l'émulateur.
Rien de grave, je devrais normalement pourvoir utiliser mon smartphone comme moniteur, mais ça ne marche pas non plus.
Une erreur s'affiche dans Android Studio.
Pourtant, je suis bien en mode debug et tout semble correct dans les paramètres.
Je click sur Run, la fenêtre 'select deployement target' s'ouvre avec le message 'nothing to show' puis 'no device selected' quand je click sur ok.
et ensuite, tout reste figé, rien ne se passe.
Quelqu'un a t'il une solution ?
Cordialement,
Joël
Commences par activer le mode développeur sur ton téléphone (Tapes 7 fois sur le numéro de build (ou de version) de ton téléphone dans paramètres -> a propos. Ensuite une l'option développement sera disponible dans la liste des paramètres, tu y vas et coches débogage usb...
Est ce que ton téléphone s'affiche, dans la fenêtre Select deploiement target, si ce n'est pas le cas et que ton téléphone est connecté à ton pc, tu dois avoir un problème au niveau de ton driver, regarde ça et installe ce pilote, normalement ça devrait résoudre ton problème.
Driver usb pour android (adb : Android Debug Bridge)
Je rencontre un petit problème avec l’utilisation d’une liste Recyclerview. En effet j’ai un gros espacement entre les items. Le soucis est que le layout des items,je ne peux pas modifier la propriété layout_height du linearlayout qui par défaut est match_parent, parce que l’utilise un WebView du linearlayout. Android studio m’affiche cette erreur :
Placing a WebView in a parent element, that uses a wrap_content layout_height can lead to subtile bugs uses match_parent instead (here wrap_content may not work,well with the Webview bellow) The webview implemantation has certain performance optimisations which will not work if the view parent is using the wrap_content rather than match_content. That load to subtile UI bugs.
Je rencontre un problème d’espacement anormal entre les items avec une liste recyclerview.
Ce problème est seulement avec la version 4.3 Android Jelly Bean, quand je test avec mon Samsung Galaxy S3. Quand j’essaie avec ma tablette Galaxy tab3 (Android 4.4 Kitkat) ou un émulateur ça fonctionne bien.
Le problème survient lorsque dans dans le layout item, j’inclut un WebView. J’ai changé la propriété layout_height à wrap_content. Pour que je puisse changer cette propriété, j’ai mis mon WebView dans un LinearLayout. Ca donne ça :
j'ai un soucis !! je veux faire jouer deux image d'une led éteinte et d'une autre led allumer, pour donner l'impression qu'une led clignote chaque seconde , je l'ai superposé grace a
RelativeLayout
j'ai essayé de les mettre comme deux boutons mais j'arrive pas a avoir la combinaison souhaité , quelqu'un peut m'aider svp , sachant que je suis débutant , merci d'avance
Bonne et heureuse année 2017 à toute la communauté !
Mon prénom est André. Je suis développeur d'application android. j'ai un gros problème. j'ai généré mon application avec adobe flash professionnel cc 2015. J'ai essayé de l'héberger sous google playstore mais l’application a été refusée car selon eux, la version d'open ssl du lecteur adobe air incluse dans l'application est obsolète
alors quelle version d'adobe flash devrais je utiliser pour générér mon application ou simplement que devrais je faire?
Bonne année, à toute la communauté Openclassroom..
Je suis actuellement sur l’activité de la partie 3 du Mooc Android.. Je rencontre un problème avec DOM. Je récupère d’abord, trois flux RSS que je convertis chacun en document xml de type org.w3c.dom.Document, pas de problème jusqu’ici. Ensuite je souhaite récupérer les nœuds Item des deux autres Document xml et les copier dans le premier Document xml, mais quand j’essaie de le faire avec la méthode appendChild, j’obtiens une exception de type DomException, avec le seul message Null.
Voici un extrait de mon code
for(int i=0;i<params.length;i++) { //Instancier une URL avec son adresse URL url = new URL(params[i]);
//Constuire la connection HTTP HttpURLConnection connection = (HttpURLConnection) url.openConnection();
NodeList list2 = documentsXml[1].getElementsByTagName("item"); NodeList list3 = documentsXml[2].getElementsByTagName("item"); NodeList racine = documentsXml[0].getElementsByTagName("channel"); channel = (Element) racine.item(0); try { for (int i = 0; i < list2.getLength(); i++) { Element element = (Element) list2.item(i); if (element.getNodeType() == Node.ELEMENT_NODE) { channel.appendChild(element); } } }catch(DOMException e){ Log.i("Element-xml", "Nb fils :" + channel.getChildNodes().getLength()); e.getStackTrace(); }
Les flux sont passés en paramètres à la méthode doInBackground()
Les documents sont stockés dans un tableau de type Document. Quand je fais du pas à pas enmode débogage, l’erreur survient, lorsque que la méthode appendChild est invoquée dans la boucle. L’objet list2 contient bien les nœuds item et le premier document xml documentXml[0] dans le nœud « channel » contient bien des nœuds enfants.
Est-ce que c’est un problème, si les nœuds que je souhaite ajouter porte les mêmes noms, que certains nœuds enfants du nœud « channel ».En effet dans le nœud « channel », il y a déjà plusieurs nœud item, et les nœuds que j’essaie d’ajouter ont le nom item.
Pourriez-vous m’aider, car je coince sur ce problème, je ne comprends pas l’exception DomException qui indique seulement null. Pourant channel n’est pas null, et les nœuds que j’ajoute au channel non plus.
Comptant me lancer dans la programmation Android, j'ai lu l'introduction du mooc et je me demandais si les 2 premières parties de Java suffisaient entièrement pour ce cours ?
Bonjour à tous. Ayant besoin, pour un TP de cours android partie 3 que je réalise, j'utilise des thread pour communiquer avec le site distant (Flux RSS). Actuellement, le site existe et la page s'ouvre sur chrom mais malheureusement qund je ping sur l'adresse je recois ce message
"ping http://www.lemonde.fr/sport/rss_full.xml
La requête Ping n’a pas pu trouver l’hôte http://www.lemonde.fr/sport/rss_full.xml. Vérifiez le nom et essayez à nouveau."
Néanmoins il m'est actuellement impossible de metre une conexion et recevoir le flus RSS de la page sur android studio. Une exception est envoyée avec le message d'erreur : java.net.UnknownHostException: Unable to resolve host " http://www.lemonde.fr/sport/rss_full.xml": No address associated with hostname
Comptant me lancer dans la programmation Android, j'ai lu l'introduction du mooc et je me demandais si les 2 premières parties de Java suffisaient entièrement pour ce cours ?
D'autres bases sont-elles à avoir ?
Merci :)
Bonjour et désolé pour la réponse tardive. Mais effectivement les 2 premières parties sont plus que suffisantes pour apprendre Androïd.
Quels sont les noms des 3 couleurs principales que doit définir un designer utilisant le code “Material Design” pour son application ?"
Alors que dans la partie du cours traitant du Material design il est nullement cité qu'il y en a trois explicitement mais 2: ColorPrimary et colorAccent. On peut deviner colorPrimaryDark seulement par déduction/élimination.
Je sais pas trop où poster ça, mais j'ai un probleme sur android studio. Quand j'essaye de lancer un émulateur android afin de tester mon application j'ai mon PC qui plante, écran bleu disant que le PC redémarre, et ça me le fait à chaque fois ! La virtualisation dans le BIOS est activée ! Quelqu'un aurait-il déjà eut le même problème (et encore mieux quelqu'un qui l'aurait déjà résolu ^^) ? Mon pc est un Dell Inspiron ( les nouveaux ) avec windows 10 installé dessus !
Je suis à au TP du chapitre 3 et j'ai un petit soucis car je n'arrive pas à résoudre à la première étape:
l'application plantelorsque j'essaye d'exécuter ma tâche (HNQueryTask). avec la ligne :
task.execute();
Je pensais donc qu'il s'agissait d'une erreur de compatibilité dans la librarire mais je n'ai pas l'impression que ce soit ça. Je fournis le code la classe "MainActivity", et de l'adapter du RecyclerView.
MainActivity.java:
package io.capsulo.hacketnewsreader;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import com.oc.hnapp.android.HNQueryTask;
public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView; // recyclerView de notre interface
private HNQueryTask task; // Tâche qui s'exécute en arrière-plan pour téléchargez la liste d'articles
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Configuration of the recyclerView
recyclerView = (RecyclerView) this.findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext()));
HNArticlesAdapter articlesAdapter = new HNArticlesAdapter();
recyclerView.setAdapter(articlesAdapter);
// Creation et starting of the task
task = new HNQueryTask(articlesAdapter, 80, 1);
task.execute();
}
@Override
protected void onDestroy() {
super.onDestroy();
task.cancel(true);;
}
}
HNArticlesAdapter:
package io.capsulo.hacketnewsreader;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.oc.hnapp.android.HNArticle;
import com.oc.hnapp.android.HNQueryCallback;
import java.util.ArrayList;
import java.util.List;
/**
* Author : -
* Description: Classe qui s'occupera de gérer les cellules de notre recyclerView
*/
public class HNArticlesAdapter extends RecyclerView.Adapter<HNArticlesAdapter.HNViewHolder> implements HNQueryCallback {
List<HNArticle> articleList = new ArrayList<HNArticle>();
@Override
public int getItemCount() {
return articleList.size();
}
@Override
public void onArticlesReceived(List<HNArticle> article, boolean hasMore) {
this.articleList.addAll(article);
super.notifyDataSetChanged();
}
@Override
public HNViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View view = layoutInflater.inflate(R.layout.list_item, parent, false);
return new HNViewHolder(view);
}
@Override
public void onBindViewHolder(HNViewHolder holder, int position) {
holder.display(articleList.get(position));
}
public class HNViewHolder extends RecyclerView.ViewHolder {
private final TextView textView;
public HNViewHolder(View view) {
super(view);
textView = (TextView) view.findViewById(R.id.title);
}
// Bind the data to the item view
public void display(HNArticle article) {
textView.setText(article.title);
}
}
}
Remarque: J'ai oubilié de votre donner les erreurs qui sont générés.
E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.monkeyPatchExistingResources
E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.pruneResourceCache
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Null.
Null.
Mon site - Mon livre sur le XML - Mon blog
Null.