Eric-A-

Membre

Dernière activité il y a 9 mois

  1. il y a 12 mois
    D j M Y G:i:s T
    Eric-A- a posté dans Android webview.

    C'est Celui par défaut

  2. l'an dernier
    D j M Y G:i:s T

    Okay merci ca sera tres cool.

  3. D j M Y G:i:s T
    Eric-A- a commancé la conversation Impossible de charger les données provenant de firebase.

    Mon code source (ecrit en kotlin) ressemble a celui ci, et la partie qui est charger récupérer les informations dans firebase se trouve dans la methode onCreateView du FragmentChambre
    package org.pbreakers.fragment import android.content.Intent import android.os.Bundle import android.support.v4.app.Fragment import android.support.v4.app.FragmentActivity import android.support.v7.widget.GridLayoutManager import android.support.v7.widget.RecyclerView import android.view.View import android.view.ViewGroup import android.view.LayoutInflater import android.widget.ImageView import android.widget.TextView import android.widget.Toast import com.squareup.picasso.Picasso import org.pbreakers.R import org.pbreakers.model.Chambre import com.google.firebase.database.* import org.pbreakers.ActivityDetail /** * Created by Eric Ampire on 24/01/2018. */ class FragmentChambre : Fragment() { private lateinit var rvChambre: RecyclerView private lateinit var databaseReference: DatabaseReference private lateinit var listChambre: MutableList<Chambre> override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { listChambre = arrayListOf() databaseReference = FirebaseDatabase.getInstance().getReference("chambre") databaseReference.addValueEventListener(object : ValueEventListener { override fun onCancelled(p0: DatabaseError?) { Toast.makeText(activity.baseContext, "Je ne sais pas ce qui se passe demande a Eric", Toast.LENGTH_SHORT).show() } override fun onDataChange(dataSnapshot: DataSnapshot) { if (dataSnapshot.exists()) { for (item in dataSnapshot.children) { val chambre = item.getValue(Chambre::class.java) listChambre.add(chambre) } } } }) /** * Initialisation [RecyclerView] */ initRecyclerView() return rvChambre } private fun initRecyclerView() { rvChambre = RecyclerView(context).apply { layoutManager = GridLayoutManager(context, 2) /** * chargement des donnees [FirebaseDatabase] */ adapter = ChambreAdapter(listChambre, activity) } } /** * Controller permettant de gerer la liste des chambres */ class ChambreAdapter( private val listeChambre: List<Chambre>, private val activity: FragmentActivity) : RecyclerView.Adapter<ChambreAdapter.ViewHolder>() { override fun getItemCount(): Int = listeChambre.size override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val view = LayoutInflater.from(parent.context).inflate(R.layout.layout_chambre, parent, false) return ViewHolder(view, listeChambre, activity) } override fun onBindViewHolder(holder: ViewHolder, position: Int) { holder.nomChambre.text = listeChambre[position].nom holder.prixChambre.text = listeChambre[position].prix holder.typeChambre.text = listeChambre[position].type /** * Chargment des images avec [Picasso] */ Picasso.with(holder.imageChambre.context) .load(listeChambre[position].image) .error(R.drawable.default_chambre) .resize(400, 400) .into(holder.imageChambre) } /** classe representant un item de la liste des */ class ViewHolder( val view: View, val data: List<Chambre>, private val activity: FragmentActivity) : RecyclerView.ViewHolder(view), View.OnClickListener { override fun onClick(v: View?) { val position = adapterPosition val chambre = data[position] val intent = Intent(activity.baseContext, ActivityDetail::class.java) /** insertion des informtions dans l'intent avant le lancement de l'activiter */ intent.putExtra("imageDetail", chambre.image) intent.putExtra("toolBarTitle", "Chambre") intent.putExtra("buttonText", "Reserver") intent.putExtra("nomDetail", chambre.nom) intent.putExtra("prixDetail", chambre.prix) intent.putExtra("descripDetail", chambre.description) intent.putExtra("typeDetail", chambre.type) activity.startActivity(intent) } init { view.setOnClickListener(this) } val nomChambre = view.findViewById<TextView>(R.id.nomChambre)!! val prixChambre = view.findViewById<TextView>(R.id.prixChambre)!! val typeChambre = view.findViewById<TextView>(R.id.typeChambre)!! val imageChambre = view.findViewById<ImageView>(R.id.imageChambre)!! } } }

    Mes informations dans firebase sont structurée de la maniere suivante ca aurai pu etre plus claire avec une image mais on fait avec ce qu'on a

    {
      "chambre" : {
        "c1" : {
          "description" : "It's now possible to iterate through the list of rooms by downloading only a",
          "image" : "http://www.auchateauclement.com/week-end-sejour-charme-ardeche/uploads/2017/03/chateau-hotel-junior-suite-ardeche-400x400.jpg",
          "nom" : "Chambre Lux",
          "prix" : "120$"
        },
        "c2" : {
          "description" : "It's now possible to iterate through the list of rooms by downloading only a few bytes per conversation",
          "image" : "http://www.auchateauclement.com/week-end-sejour-charme-ardeche/uploads/2017/03/literie-suite-anis-luxe-hotel-vals-ardeche-400x400.jpg",
          "nom" : "La Chambre Louise",
          "prix" : "80$"
        },
        "c3" : {
          "description" : "It's now possible to iterate through the list of rooms by downloading only a few bytes per conversation",
          "image" : "http://www.auchateauclement.com/week-end-sejour-charme-ardeche/uploads/2017/03/chambre-gite-duplex-design-hotel-vals-aubenas-ardeche-2-400x400.jpg",
          "nom" : "Le gîte duplex Cristal",
          "prix" : "150$"
        }
    }

    et ma classe model ressembre a celle ci

    package org.pbreakersmodel
    
    /**
     * Created by Eric Ampire on 24/01/2018.
     */
    class Chambre(var image: String, var nom: String, var prix: String, var description: String,var type: String) {
    
    	/** firebase a besoin d'un constructeur par defaut pour bien fonctionner */
        constructor() : this("", "", "", "", "")
    }

    Le problème ce que j'ai essayer plusieurs fois mais sans succès je n'arrive récupérer les info stocker dans firebase.

  4. D j M Y G:i:s T
    Eric-A- a commancé la conversation Ajouter un fichier a partir de son disque dur.

    Salut a tous, aujourd’hui j'ai rencontre un petit problème en essayant d'afficher les informations venant de firebase dans une applications androïde, mais j'ai pu trouver le moyen de partager mes captures d’écrans dans la mesure ça se trouver sur mon disque dur, est-ce qu'une technique pour palier a ça, si c'est pas le cas, sera-t-il possible d'ajouter cette fonctionnalité dans une version future du forum ?

  5. D j M Y G:i:s T
    Eric-A- a posté dans Firebase, le real time database.

    C'est dans le cas ou l'application gère les informations de plusieurs utilisateurs que l'on stock dans la Real time data-base comment faire pour que les utilisateurs puisse avoir leurs propres informations dans la même base des données mis a part les informations partagée, faudra-t-il crée un nœud pour chaque utilisateur ou il existe une autre technique qui gère ça de façon efficace.

  6. D j M Y G:i:s T
    Eric-A- a posté dans Framework 7 e.

    C'est vraiment intéressant

  7. D j M Y G:i:s T
    Eric-A- a commancé la conversation Bio.

    Salut ça sera pas possible d'ajoute une fonctionnalité permettant aux utilisateur d'ajouter le bio ou un truc du même genre?

  8. D j M Y G:i:s T
    Eric-A- a posté dans Firebase, le real time database.

    C'est bien bon Firebase mais comment peut-on gerer la session d'utilisateur dans une application Android?

  9. D j M Y G:i:s T
    Eric-A- a commancé la conversation Enfin une alternative moderne de java, KOTLIN.

    Kotlin est un langage à la fois orienté objet, fonctionnelle et multi plateforme développer par jetbrains qui s'exécute sur la machine virtuelle Java, en natif, et on peut même le compiler pour JavaScript, voyant un avenir en or dans le langage​, Google à fait de Kotlin le deuxième langage reconnue officiellement pour le développement Android , et si ça vous tente vous pouvez le tester en ligne ici , et vous m'en direz des nouvelles, si vous voulez allez plus loin, Kotlin est intégré par défaut dans Intellij Idea.
    Vous vous posez certainement la question de savoir qu'est ce qu'on peux faire avec Kotlin? au fait Kotlin fait tout ce que Java peux faire, mais avec plusieurs lignes des codes en moins et une sécurité en acier, pour faire court Kotlin c'est le Jquery de java.-image--image-

  10. D j M Y G:i:s T

    Salut, j'appuie aussi l'idée de travailler sur système qui ne pas propriétaire (Linux), non seulement ton champ de bidouillage sera vaste, tu sera détendeur des compétences que certains Windowsiens ne possède pas (à cause de suivant, suivant, suivre terminer) en plus presque la totalité des IDE s que tu as cité sont aussi disponibles sur Linux.

Voir plus