Bonsoir
Mon problème est que mon application fonctionne sur émulateur mais pas sur mon Samsung
Merci
Bonsoir
Mon problème est que mon application fonctionne sur émulateur mais pas sur mon Samsung
Merci
J'apprends la programmation pour le plaisir
Bonjour,
les boules de cristal étant hors service ces derniers jours , sans plus d'information (message d'erreur par exemple) impossible de t'aider ...
Bonsoir
Je ne crois pas aux boules de cristal
Je n'ai aucun message d'erreur (ou peut être je ne le vois pas)
J'ai juste "Grossesse s'est arrêté" sur mon Samsung ("Grossesse" est le nom de mon application)
Merci
J'apprends la programmation pour le plaisir
Donc si tu as un crash, cela implique que tu as un log d'erreur dans le LogCat.
Tu verras une grosse stacktrace (si tu as gardé le schéma de couleurs de base, ce sera un gros paquet de lignes en rouge). Sans les informations contenues dans le LogCat, personne ne peut rien faire
C'est Android, PAS Androïd, ou Androïde didiou !
Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.
Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.
N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android
Bonsoir et merci de votre réponse
Voulez vous dire Event log, voilà ce que j'ai dedans:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 30/01/18 23:20 Gradle sync started 23:20 Project setup started 23:20 Gradle sync finished in 1s 549ms (from cached state) 23:20 Executing tasks: [:app:assembleDebug] 23:20 Gradle build finished in 8s 400ms 23:26 Executing tasks: [:app:assembleDebug] 23:27 Gradle build finished in 6s 192ms 23:27 Instant Run performed a full build and install since the installation on the device does not match the local build on disk. (Don't show again)
J'apprends la programmation pour le plaisir
Non, lorsque je parle de LogCat, je parle de LogCat, pas de Event log
Ceci : https://developer.android.com/studio...am-logcat.html
C'est Android, PAS Androïd, ou Androïde didiou !
Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.
Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.
N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android
Bonsoir
Logcat, c'est un coin que je viens de découvrir
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 01-31 23:32:59.273 28618-28618/? E/Zygote: v2 01-31 23:32:59.273 28618-28618/? I/libpersona: KNOX_SDCARD checking this for 10219 01-31 23:32:59.273 28618-28618/? I/libpersona: KNOX_SDCARD not a persona 01-31 23:32:59.274 28618-28618/? E/Zygote: accessInfo : 0 01-31 23:32:59.275 28618-28618/? W/SELinux: SELinux selinux_android_compute_policy_index : Policy Index[2], Con:u:r:zygote:s0 RAM:SEPF_SECMOBILE_7.0_0009, [-1 -1 -1 -1 0 1] 01-31 23:32:59.277 28618-28618/? I/SELinux: SELinux: seapp_context_lookup: seinfo=untrusted, level=s0:c512,c768, pkgname=com.example.jonass.grossesse 01-31 23:32:59.282 28618-28618/? I/art: Late-enabling -Xcheck:jni 01-31 23:32:59.601 28618-28618/com.example.jonass.grossesse I/InstantRun: starting instant run server: is main process 01-31 23:32:59.707 28618-28618/com.example.jonass.grossesse W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 01-31 23:32:59.825 28618-28618/com.example.jonass.grossesse D/TextView: setTypeface with style : 0 01-31 23:32:59.826 28618-28618/com.example.jonass.grossesse D/TextView: setTypeface with style : 0 01-31 23:32:59.842 28618-28618/com.example.jonass.grossesse D/TextView: setTypeface with style : 0 01-31 23:32:59.844 28618-28618/com.example.jonass.grossesse D/TextView: setTypeface with style : 0 01-31 23:32:59.897 28618-28618/com.example.jonass.grossesse D/TextView: setTypeface with style : 0 01-31 23:32:59.900 28618-28618/com.example.jonass.grossesse D/TextView: setTypeface with style : 0 01-31 23:32:59.923 28618-28618/com.example.jonass.grossesse D/Choreographer: init sf_choreo_doframe debug_Level : 0x4f4cdebug_game_running : false 01-31 23:32:59.931 28618-28618/com.example.jonass.grossesse D/ViewRootImpl@59cfbfd[MainActivity]: ThreadedRenderer.create() translucent=false 01-31 23:32:59.935 28618-28618/com.example.jonass.grossesse D/InputTransport: Input channel constructed: fd=72 01-31 23:32:59.935 28618-28618/com.example.jonass.grossesse D/ViewRootImpl@59cfbfd[MainActivity]: setView = DecorView@b4c90f2[MainActivity] touchMode=true 01-31 23:32:59.951 28618-28618/com.example.jonass.grossesse D/ViewRootImpl@59cfbfd[MainActivity]: dispatchAttachedToWindow 01-31 23:32:59.970 28618-28618/com.example.jonass.grossesse D/TextView: setTypeface with style : 0 01-31 23:32:59.970 28618-28618/com.example.jonass.grossesse D/TextView: setTypeface with style : 0 01-31 23:33:00.001 28618-28618/com.example.jonass.grossesse D/ViewRootImpl@59cfbfd[MainActivity]: Relayout returned: oldFrame=[0,0][0,0] newFrame=[0,0][1080,1920] result=0x27 surface={isValid=true -648615936} surfaceGenerationChanged=true 01-31 23:33:00.001 28618-28618/com.example.jonass.grossesse D/ViewRootImpl@59cfbfd[MainActivity]: mHardwareRenderer.initialize() mSurface={isValid=true -648615936} hwInitialized=true 01-31 23:33:00.008 28618-28636/com.example.jonass.grossesse I/OpenGLRenderer: Initialized EGL, version 1.4 01-31 23:33:00.008 28618-28636/com.example.jonass.grossesse D/OpenGLRenderer: Swap behavior 1 01-31 23:33:00.014 28618-28636/com.example.jonass.grossesse D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000, [1080x1920]-format:1 01-31 23:33:00.042 28618-28618/com.example.jonass.grossesse W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView 01-31 23:33:00.092 28618-28618/com.example.jonass.grossesse D/ViewRootImpl@59cfbfd[MainActivity]: MSG_RESIZED_REPORT: frame=Rect(0, 0 - 1080, 1920) ci=Rect(0, 72 - 0, 0) vi=Rect(0, 72 - 0, 0) or=1 01-31 23:33:00.092 28618-28618/com.example.jonass.grossesse D/ViewRootImpl@59cfbfd[MainActivity]: MSG_WINDOW_FOCUS_CHANGED 1 01-31 23:33:00.093 28618-28618/com.example.jonass.grossesse D/ViewRootImpl@59cfbfd[MainActivity]: mHardwareRenderer.initializeIfNeeded()#2 mSurface={isValid=true -648615936} 01-31 23:33:00.094 28618-28618/com.example.jonass.grossesse I/InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus 01-31 23:33:00.105 28618-28630/com.example.jonass.grossesse D/InputTransport: Input channel constructed: fd=84
J'apprends la programmation pour le plaisir
Il n'ya pas d'erreur dans le log que tu nous donnes. Juste des informations de debug.
Le LogCat contient des informations fournies par ton application (et plus généralement Android) "en temps réel".
Donc, lance ton application sur ton terminal. Fais planter ton application. Regarde le LogCat à ce moment-là.
Envoyé par Moi-même
C'est Android, PAS Androïd, ou Androïde didiou !
Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.
Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.
N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android
Bonsoir
Est-ce que c'est bon cette fois?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 02-01 22:50:11.718 16832-16832/? E/Zygote: v2 02-01 22:50:11.720 16832-16832/? E/Zygote: accessInfo : 0 02-01 22:50:21.051 16832-16832/com.example.jonass.grossesse E/BoostFramework: BoostFramework() : Exception_1 = java.lang.ClassNotFoundException: Didn't find class "com.qualcomm.qti.Performance" on path: DexPathList[[],nativeLibraryDirectories=[/system/lib, /vendor/lib]] 02-01 22:50:24.512 16832-16832/com.example.jonass.grossesse E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.jonass.grossesse, PID: 16832 java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/LocalDate; at com.example.jonass.grossesse.MainActivity$onCreate$1.onClick(MainActivity.kt:40) at android.view.View.performClick(View.java:6261) at android.widget.TextView.performClick(TextView.java:11185) at android.view.View$PerformClick.run(View.java:23752) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6776) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1518) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408) Caused by: java.lang.ClassNotFoundException: Didn't find class "java.time.LocalDate" on path: DexPathList[[zip file "/data/app/com.example.jonass.grossesse-1/base.apk", zip file "/data/app/com.example.jonass.grossesse-1/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.jonass.grossesse-1/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.jonass.grossesse-1/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.jonass.grossesse-1/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.jonass.grossesse-1/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.jonass.grossesse-1/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.jonass.grossesse-1/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.jonass.grossesse-1/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.jonass.grossesse-1/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.jonass.grossesse-1/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.jonass.grossesse-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.jonass.grossesse-1/lib/arm, /system/lib, /vendor/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at com.example.jonass.grossesse.MainActivity$onCreate$1.onClick(MainActivity.kt:40)* at android.view.View.performClick(View.java:6261)* at android.widget.TextView.performClick(TextView.java:11185)* at android.view.View$PerformClick.run(View.java:23752)* at android.os.Handler.handleCallback(Handler.java:751)* at android.os.Handler.dispatchMessage(Handler.java:95)* at android.os.Looper.loop(Looper.java:154)* at android.app.ActivityThread.main(ActivityThread.java:6776)* at java.lang.reflect.Method.invoke(Native Method)* at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1518)* at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)*
Please supportez moi car je suis "infra-novice"
Merci
J'apprends la programmation pour le plaisir
Oui c'est bon
Ton erreur se trouve ligne 40 de ta mainActivity :
De mémoire la partie date de java8 (dont vient LocalDate) n'est pas prise en charge par android.java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/LocalDate;
at com.example.jonass.grossesse.MainActivity$onCreate$1.onClick(MainActivity.kt:40)
Bonsoir
Merci grunk pour votre réponse. Effectivement le problème vient de LocalDate; pour essai, j'ai créé une petite application sans LocalDate, elle fonctionne aussi bien sur l'émulateur que sur mon Samsung; dès que je rentre LocalDate dans le code, le bug réapparaît.
Je croyais toujours que l'émulateur est une copie parfaite du Smartphone et que toute application qui marche sur l'un, marchera sur l'autre !
Dans ce cas si j'ai besoin de manipuler des dates sur mon Smartphone que dois-je utiliser ?
Merci
J'apprends la programmation pour le plaisir
Date (https://developer.android.com/refere...util/Date.html)
et pour bien gérer l'affichage : SimpleDateFormat (https://developer.android.com/refere...ateFormat.html)
Bonsoir
depuis 5 ans (presque 3 h/semaine) que j'apprends la programmation pour le plaisir; J'ai fait un peu de tout mais sans réelle approfondissement,C,C++, VB, Initiation à Java, poo, mysql, javascript et andoid studio. Pour moi le pire de tous est la manipulation des dates en java, un véritable casse-tête, je me retrouve perdu entre les différentes bibliothèques, c'était tellement facile, les dates en VB.
revenant à mon sujet, j'ai visité les liens proposés par Turvy, mais sans y trouver mon bonheur, je n'y ai pas trouvé des exemples simples pour les débutants, en plus je travaille dans android studio avec Kotlin et non java;
Je crois pouvoir avancer si on me répond à 2 ou 3 questions. La première:
comment donner la valeur '1982-09-25' à la variable date_Examen qui est une date, sans utiliser LocalDate et en sachant que j'utilise kotlin
grunkMerciDe mémoire la partie date de java8 (dont vient LocalDate) n'est pas prise en charge par android.
J'apprends la programmation pour le plaisir
Je n'avais pas bien lu tout ton problème, if faut passer par un Calendar
Exemple :Date(int year, int month, int date)
This constructor was deprecated in API level 1. As of JDK version 1.1, replaced by Calendar.set(year + 1900, month, date) or GregorianCalendar(year + 1900, month, date).
C'est du java. Je ne connais pas bien kotlin mais ca doit etre assez proche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Calendar c1 = GregorianCalendar.getInstance(); c1.set(1982, Calendar.SEPTEMBER, 25); date_Examen = c1.getTime();
Utilisé Kotlin sans maitrisé java , je suis pas certains que ce soit la meilleur des idées.sachant que j'utilise kotlin
De plus kotlin est supporté par jetbrain et c'est tout , si demain jetbrain décide d'arreter Kotlin ... c'est moins le cas avec java.
Ceci étant dit le code de turvy va fonctionner pareil en kotlin :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 val c1 = GregorianCalendar.getInstance() c1.set(1982, Calendar.SEPTEMBER, 25) date_Examen = c1.getTime()
Il a besoin de connaître les librairies Java, mais le langage, pas vraiment: Kotlin n'impose pas de connaître Java, même si c'est pratique pour comprendre le code qui existe déjà, et encore, puisqu'on dispose du copié/collé "traducteur traducteur automatique". Je pense que démarrer un nouveau projet en Kotlin c'est un bon plan.Utilisé Kotlin sans maitrisé java , je suis pas certains que ce soit la meilleur des idées.
Kotlin est devenu un langage officiel Android supporté par Google, open-source en plus, avec Android-Studio qui repose sur une base écrite en Kotlin, et donc on a quand même Google derrière, c'est un gros morceau concernant Android, LOL.De plus kotlin est supporté par jetbrain et c'est tout , si demain jetbrain décide d'arreter Kotlin ... c'est moins le cas avec java.
C'est Java, langage un peu "primitif" à notre époque, qui risque bien de finir à la trappe, surtout si on se met à compiler du code natif pour Android via Kotlin, sans passer par la JVM, et surtout si on se met à produire des applications qu'on peut compiler pour Apple.
Selon les prédictions de Google (qui valent ce qu'elles valent, évidemment), fin 2018 plus de la moitié des nouvelles applications Android seront écrites en Kotlin, sans compter les applications serveurs etc.
En ce qui me concerne, j'ai "pleuré" en venant du C# sous Windows pour arriver à Java sous Android: En voyant arriver Kotlin, j'ai tout de suite compris que c'était le "C# Android", on retrouve les mêmes mécanismes et la même puissance de langage (avec même un avantage pour Kotlin concernant les infixes)
Bonsoir et merci à vous tous
Je suis arrivé à convertir le code jave en kotlin (un exploit)
J'ai fait un peut de java
Avant de poser ma 2ème question je dois d'abord essayer tout seul
Salut
J'apprends la programmation pour le plaisir
J'ai essayé le code sur Samsung et c'est bon, pas de bug
il donne à l'affichage:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 monBouton.setOnClickListener { var c1 = GregorianCalendar.getInstance() c1.set(1982, Calendar.SEPTEMBER, 25) var date_Examen = c1.time monTextView.text=date_Examen.toString() }
J'ai donc créé cette fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sat Sep 25 23:11:45 GMT+00:00 1982
le code devient:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 fun affich (maDate:Date):String{ var ecrire:String="" ecrire=maDate.date.toString()+"/"+ (maDate.month+1).toString()+"/"+maDate.year return ecrire }
il donne à l'affichage:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 monBouton.setOnClickListener { var c1 = GregorianCalendar.getInstance() c1.set(1982, Calendar.SEPTEMBER, 25) var date_Examen = c1.time monTextView.text=affich(date_Examen) }
SVP j'ai essayé de résoudre un problème mais sans succès:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 25/9/82
Comment avoir avec le dernier code l'affichage suivant: 25/September/1982
Merci
J'apprends la programmation pour le plaisir
[hs]
Si tu parles de ce rapport , c'était une analyse fait par Jetbrains pour Jetbrains , bref une pub pour Kotlin dissimuléeSelon les prédictions de Google (qui valent ce qu'elles valent, évidemment), fin 2018 plus de la moitié des nouvelles applications Android seront écrites en Kotlin,
Google supporte Kotlin , mais ne le développe pas (encore). Jetbrains reste le seul maître à bord.
Après je dis pas que Kotlin n'est pas excellent , je suis juste méfiant sur les nouveautés qui peuvent disparaître aussi vite qu'elle sont arrivées.
Des Kotlin-like on en à vu passer quelque un (groovy, scala, clojure ...) combien on atteint le succès escompté ?
[/hs]
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager