IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Lier Android MySQL


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Lyceen
    Inscrit en
    Novembre 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lyceen
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2012
    Messages : 40
    Par défaut Lier Android MySQL
    Bonjour,


    Categorie.java
    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
    34
    35
    36
    37
     
    package com.test.projetfinal;
    import android.widget.ImageView;
     
    import java.util.ArrayList;
    import java.util.List;
     
    /**
     * Created by User on +-19/02/2017.
     */
     
    public class Categorie {
        private String nom;
        private int idLogo;
        private ArrayList sousCats;
        // todo Color catégorie
        public Categorie(String nom,int idLogo){
            this.nom = nom;
            this.idLogo = idLogo;
            sousCats = new ArrayList();
        }
     
        public void addCat(Categorie sousCat){sousCats.add(sousCat);
        }
     
        public String getNom() {
            return nom;
        }
     
        public int getIdLogo() {
            return idLogo;
        }
     
        public ArrayList getSousCats() {
            return sousCats;
        }
    }


    CategorieAdapter.java
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    package com.test.projetfinal;
     
     
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.ListView;
    import android.widget.TextView;
    import java.util.ArrayList;
    import java.util.List;
     
    /**
     * Created by User on 18/02/2017.
     */
     
    public class CategorieAdapter extends ArrayAdapter<Categorie> {
        ListView listView;
     
        public CategorieAdapter(Context context, List categories,ListView mListView){
            super(context,0,categories);
            listView = mListView;
     
     
        }
        public View getView(int position,View convertView, ViewGroup parent) {
            if (convertView == null) {
                convertView = LayoutInflater.from(getContext()).inflate(R.layout.row_categorie,parent,false);
            }
     
            CategorieViewHolder viewHolder = (CategorieViewHolder) convertView.getTag();
            if (viewHolder == null) {
                // récupére le nom du Categorie ou de la catégorie
                viewHolder = new CategorieViewHolder();
                viewHolder.categorie = (LinearLayout) convertView.findViewById(R.id.categorie);
                viewHolder.nom = (TextView) convertView.findViewById(R.id.nom);
                viewHolder.logo = (ImageView) convertView.findViewById(R.id.logo);
     
                convertView.setTag(viewHolder);
            }
     
            final Categorie categorie = getItem(position);
     
            viewHolder.nom.setText(categorie.getNom());
            viewHolder.categorie.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    ArrayList<Categorie> sousCats = categorie.getSousCats();
     
                    // afficher dans la vue actuel
                    listView.setAdapter(new CategorieAdapter(getContext(),sousCats,listView));
     
                }
            });
     
            return convertView;
        }
    }

    CategorieViewHolder.java
    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
     
    package com.test.projetfinal;
     
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.TextView;
     
    /**
     * Created by User on 18/02/2017.
     */
     
    public class CategorieViewHolder {
        public LinearLayout categorie;
        public TextView nom;
        public ImageView logo;
     
    }


    MainActivity.java
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
     
    package com.test.projetfinal;
     
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.widget.ListView;
     
    import com.android.volley.Request;
    import com.android.volley.RequestQueue;
    import com.android.volley.Response;
    import com.android.volley.VolleyError;
    import com.android.volley.toolbox.JsonObjectRequest;
    import com.android.volley.toolbox.Volley;
     
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
     
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
     
    public class MainActivity extends AppCompatActivity {
     
        ListView mListView;
        public List categories;
        public CategorieAdapter adapter;
        RequestQueue requestQueue;
        String showUrl = "http://192.168.1.87/Php/showCategorie.php";
        ArrayList T_alimentaire_description = new ArrayList();
        ArrayList T_alimentaire = new ArrayList();
        String T1[] = new String[14];
     
     
     
     
     
     
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mListView = (ListView) findViewById(R.id.listView);
            categories = genererCategorie(null);
            adapter = new CategorieAdapter(MainActivity.this, categories, mListView);
            mListView.setAdapter(adapter);
     
        }
     
        private ArrayList genererCategorie(ArrayList sousCats) {
            if (sousCats != null) {
                return sousCats;
            }
            ArrayList categories = new ArrayList();
     
            Categorie alimentaire = new Categorie("Alimentation"+T1[0],R.mipmap.ic_launcher);
     
     
     
            String T_alimentaire_description[] = {"Alimentation Générale","Boucheries - Charcuteries - Traiteurs","Boulangeries - Patisseries","Cavistes","Chocolateries - Confiseries - Glacier - Torréfaction - Thés","Fromageries","Produits diététiques, biologiques, naturels"};
            String T_alimentaire[] = {"alimgene","boucherie","boulangerie","cavistes","chocolaterie","formagerie","dietetique"};
     
     
            // ALIMENTAIRE
            //----------------------------------------------------------------------------------------------------//
     
            Map<String,Categorie> categories1 = new HashMap<String,Categorie>();
            for (int i =0; i<T_alimentaire.length; i++){
                String key = T_alimentaire[i];
                String desc = T_alimentaire_description[i];//+T1[i];
                Categorie value = new Categorie(desc,R.mipmap.ic_launcher);
                categories1.put(key, value);
                alimentaire.addCat(categories1.get(key));
            }
     
     
            // Animaux Fleuriste Jardin
            Categorie animauxFleu = new Categorie("Animaux - Fleuristes - Jardin",R.mipmap.ic_launcher);
     
            Categorie animaux = new Categorie("Animaux",R.mipmap.ic_launcher);
            Categorie fleuristes = new Categorie("Fleuristes",R.mipmap.ic_launcher);
            Categorie jardin = new Categorie("Jardin",R.mipmap.ic_launcher);
     
            animauxFleu.addCat(animaux);
            animauxFleu.addCat(fleuristes);
            animauxFleu.addCat(jardin);
     
     
            // Batiments Immobilier
            Categorie batimmo = new Categorie("Batiments - Immobilier",R.mipmap.ic_launcher);
     
     
     
            //Beauté - Bien être
            Categorie beautebienetre = new Categorie("Beauté - Bien-être",R.mipmap.ic_launcher);
     
     
     
            //Café Tabac Presse
            Categorie cafetabacpresse = new Categorie("Café - Tabac - Presse",R.mipmap.ic_launcher);
     
     
     
            //Finances
            Categorie finances = new Categorie("Finances",R.mipmap.ic_launcher);
     
     
     
            //Hébergement - Restauration
            Categorie hebergResto = new Categorie("Hébergement - Restauration",R.mipmap.ic_launcher);
     
     
     
            //Loisirs
            Categorie loisirs = new Categorie("Loisirs",R.mipmap.ic_launcher);
     
     
     
            //Maison Bricolage Déco
            Categorie bricodeco = new Categorie("Maison - Bricolage - Déco",R.mipmap.ic_launcher);
     
     
     
            //Mode
            Categorie mode = new Categorie("Mode",R.mipmap.ic_launcher);
     
     
     
            //Multimédia
            Categorie multimédia = new Categorie("Multimédia",R.mipmap.ic_launcher);
     
     
     
            //Santé
            Categorie sante = new Categorie("Santé",R.mipmap.ic_launcher);
     
     
     
            //Transport Vehicule
            Categorie transpovehic = new Categorie("Transports - Véhicules",R.mipmap.ic_launcher);
     
     
     
            //Autres
            Categorie autres = new Categorie("Autres",R.mipmap.ic_launcher);
     
     
     
            //Compilation
            categories.add(alimentaire);
            categories.add(animauxFleu);
            categories.add(batimmo);
            categories.add(beautebienetre);
            categories.add(cafetabacpresse);
            categories.add(finances);
            categories.add(hebergResto);
            categories.add(loisirs);
            categories.add(bricodeco);
            categories.add(mode);
            categories.add(multimédia);
            categories.add(sante);
            categories.add(transpovehic);
            categories.add(autres);
     
            return categories;
        }
    }

    activity_main.xml
    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.test.projetfinal.MainActivity"
        android:background="#346789">
     
        <ListView
            android:id="@+id/listView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:dividerHeight="20dp"
            android:background="#346789"
            >
     
        </ListView>
    </LinearLayout>

    build.gradle
    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
     
    apply plugin: 'com.android.application'
     
    android {
        compileSdkVersion 25
        buildToolsVersion "25.0.2"
        defaultConfig {
            applicationId "com.test.projetfinal"
            minSdkVersion 15
            targetSdkVersion 25
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
     
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
            exclude group: 'com.android.support', module: 'support-annotations'
        })
        compile 'com.android.support:appcompat-v7:25.1.0'
        testCompile 'junit:junit:4.12'
        compile 'com.mcxiaoke.volley:library:1.0.19'
     
    }
    showCategorie.php
    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
     
    <?php
     
    if($_SERVER["REQUEST_METHOD"]=="POST"){
    	include 'connection.php';
    	showStudent();
    }
     
    function showStudent()
    {
    	global $connect;
     
    	$query = " SELECT * FROM categoriessql; ";
     
    	$result = mysqli_query($connect, $query);
    	$number_of_rows = mysqli_num_rows($result);
     
    	$temp_array  = array();
     
    	if($number_of_rows > 0) {
    		while ($row = mysqli_fetch_assoc($result)) {
    			$temp_array[] = $row;
    		}
    	}
     
    	header('Content-Type: application/json');
    	echo json_encode(array("etudiants"=>$temp_array));
    	mysqli_close($connect);
     
    }
    connexion.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
     
    define('hostname', 'localhost');
    define('user', 'root');
    define('password', 'root');
    define('databaseName', 'tutorial');
     
     
    $connect = mysqli_connect(hostname, user, password, databaseName);
     
    ?>

    tutorial.sql
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    -- phpMyAdmin SQL Dump
    -- version 4.5.4.1
    -- http://www.phpmyadmin.net
    --
    -- Client :  localhost
    -- Généré le :  Sam 01 Avril 2017 à 21:11
    -- Version du serveur :  5.7.11
    -- Version de PHP :  5.6.18
     
    SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
    SET time_zone = "+00:00";
     
     
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;
     
    --
    -- Base de données :  `tutorial`
    --
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `categoriessql`
    --
     
    CREATE TABLE `categoriessql` (
      `nom` varchar(50) NOT NULL,
      `description` varchar(50) NOT NULL,
      `id_categorie` int(11) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    --
    -- Contenu de la table `categoriessql`
    --
     
    INSERT INTO `categoriessql` (`nom`, `description`, `id_categorie`) VALUES
    ('alimgene', 'Alimentation Générale', 1),
    ('boucherie', 'Boucheries - Charcuteries - Traiteurs', 2),
    ('boulangerie', 'Boulangeries - Patisseries', 3),
    ('cavistes', 'Cavistes', 4),
    ('chocolaterie', 'Chocolateries - Confiseries - Glacier - Torréfaction - Thés', 5),
    ('formagerie', 'Fromageries', 6),
    ('dietetique', 'Produits diététiques, biologiques, naturels', 7),
     
    -- --------------------------------------------------------
     
    -
    --
    -- Index pour la table `categoriessql`
    --
    ALTER TABLE `categoriessql`
      ADD PRIMARY KEY (`id_categorie`);
     
    --
    -- AUTO_INCREMENT pour la table `categoriessql`
    --
    ALTER TABLE `categoriessql`
      MODIFY `id_categorie` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;


    Je suis en train d'essayer de faire une application qui trierai des commerces par catégories.
    En gros on arrive sur l'appli, on a X catégories, puis chaque catégorie a X catégories, etc jusqu'à arriver à chaque commerce.

    La partie sur les catégories est déjà faite (on est plusieurs à faire l'appli, du coup c'est pas moi qui ai fait cette partie), et maintenant j'aimerai m'occuper de la partie qui concerne le lien entre l'appli et la base de donnée.


    Je me suis aidé d'un tutoriel (que voici :)


    Et j'ai essayé de l'adapter à ce que je dois faire, comme ceci :

    MainActivity.java
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
     
    package com.test.projetfinal;
     
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.widget.ListView;
     
    import com.android.volley.Request;
    import com.android.volley.RequestQueue;
    import com.android.volley.Response;
    import com.android.volley.VolleyError;
    import com.android.volley.toolbox.JsonObjectRequest;
    import com.android.volley.toolbox.Volley;
     
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
     
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
     
    public class MainActivity extends AppCompatActivity {
     
        ListView mListView;
        public List categories;
        public CategorieAdapter adapter;
        RequestQueue requestQueue;
        String showUrl = "http://192.168.1.87/Php/showCategorie.php";
        ArrayList T_alimentaire_description = new ArrayList();
        ArrayList T_alimentaire = new ArrayList();
     
     
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mListView = (ListView) findViewById(R.id.listView);
     
     
            requestQueue = Volley.newRequestQueue(getApplicationContext());
     
            JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST,
                    showUrl, new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
     
                    System.out.println(response.toString());
                    try {
                        JSONArray etudiants = response.getJSONArray("etudiants");
     
                        Map<String, Categorie> categories1 = new HashMap<String, Categorie>();
     
                        for (int i = 0; i < etudiants.length(); i++) {
                            JSONObject categoriessql = etudiants.getJSONObject(i);//i
     
                            String nom = categoriessql.getString("nom");
                            String description = categoriessql.getString("description");
                        }
     
                    } catch (JSONException e) {
                        e.printStackTrace();
     
                    }
     
                    categories = genererCategorie(null);
                    adapter = new CategorieAdapter(MainActivity.this, categories, mListView);
                    mListView.setAdapter(adapter);
     
     
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    System.out.append(error.getMessage());
     
                }
            });
            requestQueue.add(jsonObjectRequest);
     
            categories = genererCategorie(null);
            adapter = new CategorieAdapter(MainActivity.this, categories, mListView);
            mListView.setAdapter(adapter);
     
        }
    //---------------------------------------------------
     
     
     
     
        private ArrayList genererCategorie(ArrayList sousCats) {
            if (sousCats != null) {
                return sousCats;
            }
            ArrayList categories = new ArrayList();
     
            Categorie alimentaire = new Categorie("Alimentation",R.mipmap.ic_launcher);
     
     
            Map<String,Categorie> categories1 = new HashMap<String,Categorie>();
            for (int i =0; i<T_alimentaire.size(); i++){
                String key = (String)T_alimentaire.get(i);
                String desc = (String)T_alimentaire_description.get(i);
                Categorie value = new Categorie(desc,R.mipmap.ic_launcher);
                categories1.put(key, value);
                alimentaire.addCat(categories1.get(key));
            }
     
            //Categorie match = new Categorie("Match",R.mipmap.ic_launcher);
            //categories1.get("alimgene").addCat(match);
     
     
            // Animaux Fleuriste Jardin
            Categorie animauxFleu = new Categorie("Animaux - Fleuristes - Jardin",R.mipmap.ic_launcher);
     
            Categorie animaux = new Categorie("Animaux",R.mipmap.ic_launcher);
            Categorie fleuristes = new Categorie("Fleuristes",R.mipmap.ic_launcher);
            Categorie jardin = new Categorie("Jardin",R.mipmap.ic_launcher);
     
            animauxFleu.addCat(animaux);
            animauxFleu.addCat(fleuristes);
            animauxFleu.addCat(jardin);
     
     
            // Batiments Immobilier
            Categorie batimmo = new Categorie("Batiments - Immobilier",R.mipmap.ic_launcher);
     
     
     
            //Beauté - Bien être
            Categorie beautebienetre = new Categorie("Beauté - Bien-être",R.mipmap.ic_launcher);
     
     
     
            //Café Tabac Presse
            Categorie cafetabacpresse = new Categorie("Café - Tabac - Presse",R.mipmap.ic_launcher);
     
     
     
            //Finances
            Categorie finances = new Categorie("Finances",R.mipmap.ic_launcher);
     
     
     
            //Hébergement - Restauration
            Categorie hebergResto = new Categorie("Hébergement - Restauration",R.mipmap.ic_launcher);
     
     
     
            //Loisirs
            Categorie loisirs = new Categorie("Loisirs",R.mipmap.ic_launcher);
     
     
     
            //Maison Bricolage Déco
            Categorie bricodeco = new Categorie("Maison - Bricolage - Déco",R.mipmap.ic_launcher);
     
     
     
            //Mode
            Categorie mode = new Categorie("Mode",R.mipmap.ic_launcher);
     
     
     
            //Multimédia
            Categorie multimédia = new Categorie("Multimédia",R.mipmap.ic_launcher);
     
     
     
            //Santé
            Categorie sante = new Categorie("Santé",R.mipmap.ic_launcher);
     
     
     
            //Transport Vehicule
            Categorie transpovehic = new Categorie("Transports - Véhicules",R.mipmap.ic_launcher);
     
     
     
            //Autres
            Categorie autres = new Categorie("Autres",R.mipmap.ic_launcher);
     
     
     
            //Compilation
            categories.add(alimentaire);
            categories.add(animauxFleu);
            categories.add(batimmo);
            categories.add(beautebienetre);
            categories.add(cafetabacpresse);
            categories.add(finances);
            categories.add(hebergResto);
            categories.add(loisirs);
            categories.add(bricodeco);
            categories.add(mode);
            categories.add(multimédia);
            categories.add(sante);
            categories.add(transpovehic);
            categories.add(autres);
     
            return categories;
        }
     
    }


    Mais pas moyen,cela ne fonctionne pas.

    J'ai cherché d'autres méthodes mais il y a tellement de choses différentes sur internet concernant le lien android/MySQL, que c'est plutôt compliqué (surtout que je suis plutôt débutant en java)

    Je me doute bien que cela va être compliqué de m'aider, parce qu'il y a pas mal de code, et ma question pas très précise, mais j'essaye quand même ^^

    Merci de votre aide,
    Bonne soirée,
    Bromy

    (Si jamais je met le lien github du projet : https://github.com/Bromy74/Projet.git)

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 49
    Par défaut
    Bonjour,

    Si cela peut t'aider. J'utilise Sqlite dans mes programmes et tout marche bien.
    C'est un exemple que j'ai trouvé sur le net. Bien sur, çà traite d'un base "Contacts" mais facile à adapter.

    Je n'y suis jamais arrivé avec Mysql, mais çà doit être possible

    Bernard

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    package com.survey.trike.myapplication;
     
     
    import java.util.ArrayList;
    import java.util.List;
     
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.os.Environment;
    import android.widget.Toast;
     
    public class DatabaseHandler extends SQLiteOpenHelper {
     
    	// All Static variables
    	// Database Version
    	private static final int DATABASE_VERSION = 1;
     
    	// Database Name
    	private static final String DATABASE_NAME = "ListeAppli";
    	//private static final String DB_PATH = "/storage/extSdCard/Documents/";
    	private static String DB_PATH = Environment.getExternalStorageDirectory().toString()+"/Documents/";
    	// Contacts table name
    	private static final String TABLE_CONTACTS = "contacts";
     
    	// Contacts Table Columns names
    	private static final String KEY_ID = "id";
    	private static final String KEY_NAME = "name";
    	private static final String KEY_PH_NO = "phone_number";
     
    	public DatabaseHandler(Context context) {
    		super(context, DATABASE_NAME, null, DATABASE_VERSION);
    	}
     
    	// Creating Tables
    	@Override
    	public void onCreate(SQLiteDatabase db) {
    		String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
    				+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
    				+ KEY_PH_NO + " TEXT" + ")";
    		db.execSQL(CREATE_CONTACTS_TABLE);
    	}
     
    	// Upgrading database
    	@Override
    	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    		// Drop older table if existed
    		db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);
     
    		// Create tables again
    		onCreate(db);
    	}
     
    	/**
             * All CRUD(Create, Read, Update, Delete) Operations
             */
     
    	// Adding new contact
    	void addContact(Contact contact) {
    		SQLiteDatabase db = this.getWritableDatabase();
     
    		ContentValues values = new ContentValues();
    		values.put(KEY_NAME, contact.getName()); // Contact Name
    		values.put(KEY_PH_NO, contact.getPhoneNumber()); // Contact Phone
     
    		// Inserting Row
    		db.insert(TABLE_CONTACTS, null, values);
    		db.close(); // Closing database connection
    	}
     
    	// Getting single contact
    	Contact getContact(int id) {
    		SQLiteDatabase db = this.getReadableDatabase();
     
    		Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
    				KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
    				new String[] { String.valueOf(id) }, null, null, null, null);
    		if (cursor != null)
    			cursor.moveToFirst();
     
    		Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
    				cursor.getString(1), cursor.getString(2));
    		// return contact
    		return contact;
    	}
     
    	// Getting All Contacts
    	public List<Contact> getAllContacts() {
    		List<Contact> contactList = new ArrayList<Contact>();
    		// Select All Query
    		String selectQuery = "SELECT  * FROM " + TABLE_CONTACTS;
     
    		SQLiteDatabase db = this.getWritableDatabase();
    		Cursor cursor = db.rawQuery(selectQuery, null);
     
    		// looping through all rows and adding to list
    		if (cursor.moveToFirst()) {
    			do {
    				Contact contact = new Contact();
    				contact.setID(Integer.parseInt(cursor.getString(0)));
    				contact.setName(cursor.getString(1));
    				contact.setPhoneNumber(cursor.getString(2));
    				// Adding contact to list
    				contactList.add(contact);
    			} while (cursor.moveToNext());
    		}
     
    		// return contact list
    		return contactList;
    	}
     
    	// Updating single contact
    	public int updateContact(Contact contact) {
    		SQLiteDatabase db = this.getWritableDatabase();
     
    		ContentValues values = new ContentValues();
    		values.put(KEY_NAME, contact.getName());
    		values.put(KEY_PH_NO, contact.getPhoneNumber());
     
    		// updating row
    		return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",
    				new String[] { String.valueOf(contact.getID()) });
    	}
     
    	// Deleting single contact
    	public void deleteContact() {
    		SQLiteDatabase db = this.getWritableDatabase();
    		//db.delete(TABLE_CONTACTS, KEY_ID + " = ?",
    		//		new String[] { String.valueOf(contact.getID()) });
    		db.execSQL("delete from "+ TABLE_CONTACTS);
    		db.close();
    	}
     
    	// Getting contacts Count
    	public int getContactsCount() {
    		String countQuery = "SELECT  * FROM " + TABLE_CONTACTS;
    		SQLiteDatabase db = this.getReadableDatabase();
    		Cursor cursor = db.rawQuery(countQuery, null);
    		cursor.close();
     
    		// return count
    		return cursor.getCount();
    	}
     
    }

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    package com.survey.trike.myapplication;
     
     
    public class Contact {
     
    	//private variables
    	int _id;
    	String _name;
    	String _phone_number;
     
    	// Empty constructor
    	public Contact(){
     
    	}
    	// constructor
    	public Contact(int id, String name, String _phone_number){
    		this._id = id;
    		this._name = name;
    		this._phone_number = _phone_number;
    	}
     
    	// constructor
    	public Contact(String name, String _phone_number){
    		this._name = name;
    		this._phone_number = _phone_number;
    	}
    	// getting ID
    	public int getID(){
    		return this._id;
    	}
     
    	// setting id
    	public void setID(int id){
    		this._id = id;
    	}
     
    	// getting name
    	public String getName(){
    		return this._name;
    	}
     
    	// setting name
    	public void setName(String name){
    		this._name = name;
    	}
     
    	// getting phone number
    	public String getPhoneNumber(){
    		return this._phone_number;
    	}
     
    	// setting phone number
    	public void setPhoneNumber(String phone_number){
    		this._phone_number = phone_number;
    	}
    }
    Et pour l’exécution (petit exemple)
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    Contact contact = new Contact();
    String databasePath = getDatabasePath("ListeAppli").getPath();
    ArrayList<String> maListe = new ArrayList<String>();
     
    package com.survey.trike.myapplication;
     
    import android.content.Intent;
    import android.content.pm.ApplicationInfo;
    import android.content.pm.PackageManager;
    import android.os.Bundle;
    import android.os.Environment;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ListView;
    import android.widget.TextView;
    import android.widget.Toast;
     
    import org.apache.commons.io.IOUtils;
     
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.ArrayList;
    import java.util.List;
     
    //import java.lang.*;
     
     
    public class MainActivity extends AppCompatActivity {
     
        public String strall;
        public String ListeAppli = "";
        ListView listView;
        TextView tv1;
        private ArrayList<String> values;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
     
     
            List<Contact> contacts = db.getAllContacts();
            for (
                    Contact cn : contacts) {
                String log = "Id: " + cn.getID() + " ,Name: " + cn.getName() + " ,Phone: " + cn.getPhoneNumber();
                // Writing Contacts to log
                strall = cn.getName();
                EditText tonEdit = (EditText) findViewById(R.id.listeappli);
                tonEdit.getText().toString();
                tonEdit.setText(strall);
                //Toast.makeText(getApplicationContext(), "ApèsLectureDB:"+log,Toast.LENGTH_LONG).show();;
            }
    }
    Et les permissions dans AndroidManifest.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
         <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
        <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"></uses-permission>
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
        <uses-permission android:name="android.permission.READ_INTERNAL_STORAGE"></uses-permission>

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 49
    Par défaut
    Comme la base de données est créée en local (on ne peut pas donner un autre emplacement, j'utilise ce code pour faire une sauvegarde :

    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
            File inputfile = new File(databasePath);
            File outputfile = new File(Environment.getExternalStorageDirectory() + File.separator +"Documents/contactsManager.sqlite");
     
     
     
     
        public void copyFile(File src, File dst) {
            //Toast.makeText(getApplicationContext(), "src:" + src, Toast.LENGTH_LONG).show();
            //Toast.makeText(getApplicationContext(), "dst:" + dst, Toast.LENGTH_LONG).show();
            InputStream in = null;
            OutputStream out = null;
            try {
                in = new FileInputStream(src);
                out = new FileOutputStream(dst);
                IOUtils.copy(in, out);
            } catch (IOException ioe) {
                Toast.makeText(getApplicationContext(), "ERREUR:" + ioe, Toast.LENGTH_LONG).show();
            } finally {
                IOUtils.closeQuietly(out);
                IOUtils.closeQuietly(in);
            }
        }

  4. #4
    Membre averti
    Homme Profil pro
    Lyceen
    Inscrit en
    Novembre 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lyceen
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2012
    Messages : 40
    Par défaut
    Ok je vais regarder merci !
    Si quelqu'un a une solution pour MySQL je suis quand même preneur

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 49
    Par défaut
    Pour Mysql, tu peux aussi regarder du coté de MariaDB. C'est un serveur Mysql qui fonctionne sous Android auquel tu peux soumettre tes requêtes.
    C'est un serveur gratuit et qui contient une Api pour communiquer.
    Pour le télécharger, il faut aller sur leur site. Pour avoir l'Api, il faut télécharger le source du serveur et dans le source, il y a des exemples d'utilisation.
    Bon courage,
    Bernard

  6. #6
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 970
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 970
    Par défaut
    Attention de ne pas donner le login/password en clair dans le code.

Discussions similaires

  1. [MySQL] lien récupération Mysql et passage de paramètres
    Par No3l_tek dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/05/2008, 10h51
  2. Lien ODBC Mysql-Arcmap 9.1
    Par sscouby dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 22/02/2008, 12h27
  3. [MySQL] reconnaitre un lien php mysql
    Par tondeuz dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 14/06/2007, 17h14
  4. affichage de liens avec MySQL
    Par Jasmine80 dans le forum SGBD
    Réponses: 8
    Dernier message: 08/11/2006, 16h15
  5. créer un lien dans mysql
    Par veulemans dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 10/04/2006, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo