Pages

Subscribe:

Qui êtes-vous ?

Recent Posts

Download

mercredi 4 décembre 2013

Enregistrer Préférence Utilisateur en Android

Il arrive de fois on a besoin de faire un ecran d'authentification du genre Skype. Ca veut dire, on n'est pas obligé à chaque fois de retaper le login et le mot de passe. Voici un peu à quoi ressemble notre ecran de connexion:




Voici le layourt de l'interface: 
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp" 
    android:background="@drawable/ima_home"
    >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="38dp"
        android:ems="10"
        android:hint="@string/userlog"
        android:imeOptions="actionNext"
        android:inputType="textNoSuggestions" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/editText2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText1"
        android:layout_below="@+id/editText1"
        android:layout_marginLeft="23dp"
        android:layout_marginTop="25dp"
        android:ems="10"
        android:hint="@string/password"
        android:inputType="textPassword" />

    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText2"
        android:layout_below="@+id/editText2"
        android:layout_marginTop="20dp"
        android:text="@string/chbSave" />

    <Button
        android:id="@+id/btnlogin"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/checkBox1"
        android:layout_alignParentRight="true"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:text="@string/btnLogin" 
        android:layout_marginTop="40dp"/>


</RelativeLayout>


Les codes sources de l'Activité qui gere la préférence utilisateur:


import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class Login extends Activity implements OnClickListener{
private String username, password;
private Button ok;
private EditText editTextUsername, editTextPassword;
private CheckBox saveLoginCheckBox;
private SharedPreferences loginPreferences;
private SharedPreferences.Editor loginPrefsEditor;
private Boolean saveLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);

 ok = (Button) findViewById(R.id.btnlogin);
 ok.setOnClickListener((OnClickListener) this);
 editTextUsername = (EditText) findViewById(R.id.editText1);
 editTextPassword = (EditText) findViewById(R.id.editText2);
 saveLoginCheckBox = (CheckBox) findViewById(R.id.checkBox1);
 loginPreferences = getSharedPreferences("loginPrefs", MODE_PRIVATE);
 loginPrefsEditor = loginPreferences.edit();

 saveLogin = loginPreferences.getBoolean("saveLogin", false);
 if (saveLogin == true) {
  editTextUsername .setText(loginPreferences.getString("username", ""));
  editTextPassword.setText(loginPreferences.getString("password", ""));
  saveLoginCheckBox.setChecked(true);
 }

}



@Override
public void onClick(View view) {
// TODO Auto-generated method stub
 if (view== ok) {
  InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
  imm.hideSoftInputFromWindow(editTextUsername.getWindowToken(), 0);

  username = editTextUsername.getText().toString();
  password = editTextPassword.getText().toString();

  if (saveLoginCheckBox.isChecked()) {
   loginPrefsEditor.putBoolean("saveLogin", true);
   loginPrefsEditor.putString("username", username);
   loginPrefsEditor.putString("password", password);
   loginPrefsEditor.commit();
  } else {
   loginPrefsEditor.clear();
   loginPrefsEditor.commit();
  }

  doAction();
 }
}

public void doAction() {
startActivity(new Intent(Login.this, ActivityDrawer.class));
Login.this.finish();

}
}


jeudi 24 octobre 2013

Connexion Java-MySQL

Ce tuto parle de Java pour la base de données MySQL. Il couvre les bases de la programmation MySQL avec Java. On va utiliser MySQL connector, le pilote officiel JDBC pour MySQL. Le projet qui illustre cette manupilation est créé avec Netbeans.

JDBC=Java Data Base Connectivity

C'est un ensemble d’interfaces et de classes.  c'est une API qui définit un standard d’accès aux bases de données en langage Java. Elle fournit des méthodes pour interroger et mettre à jour les données dans une base de données. JDBC est orientée vers les bases de données relationnelles.  Pour utiliser JDBC avec une base de données particulière, on a besoin d'un pilote JDBC pour cette base de données.

MySQL

MySQL est un système de gestion de base de données open source. Il est actuellement est détenu par Oracle.  MySQL est tres populaire sur le web.

Pour bien suivre cet article, vous devez avoir MySQL, JDK et Netbeans installés !!

Voici la structure et le script SQL de notre table:


     Script SQL: 

CREATE  TABLE `db_tuto`.`person` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `nom` VARCHAR(45) NULL ,
  `prenom` VARCHAR(45) NULL ,
  PRIMARY KEY (`id`) );

Par la suite la base de données qu'on va utiliser s'appellera "db_tuto"

!!! Mais vous avez dit avec API JDBC on doit avoir MySQL connector, où est-il???

Bonne question!!  On a decidé d'utiliser un EDI tres puissant( Netbeans)...il est tellement bon que dans ses versions superieures, il vient avec certains pilotes...déjà à partir de la version 6.8 si j'ai bonne memoire...dans ce tuto, on utilise la version 7.3.1

Je suis desolé je ne rappellerai pas comment creer un projet dans Netbeans...je vais juste montrer comment ajouter MySQL connector dans un projet.

A l'interieur du projet, cliquez droit sur le noeud librairies > Add Librairy
Dans la liste des options, sélectionnez MySQL JDBC Driver.

!! Ceux qui n'ont pas Netbeans ou ceux qui ont une version anterieure de Netbeans peuvent telecharger et ajouter MySQL connector dans leur projet sur le lien: http://www.mysql.com/products/connector/ 

Tout est prêt pour décoller...Serrez bien vos ceintures...let's go !!

On va utilisation API JDBC en 3 grandes etapes: -Chargement du pilote
                                                                           -Connexion base de donnees
                                                                           -Les requetes en JDBC et fermeture

1. Chargement du pilote:
2. Connexion:

3. Requete d'insertion:

Apres execution, voici la table person:
Voici les codes sources complets:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class JDBCMain {

    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
         
            /*Parametres de connexion a la Base de donnees*/
            String url="jdbc:mysql://localhost:3306/db_tuto";
            String user="root";
            String pwd="lenovo";
            Connection conn =DriverManager.getConnection(url, user,pwd);
         
            /*Requetes SQL en JDBC*/
            Statement stat=conn.createStatement();
            int rep=stat.executeUpdate("INSERT INTO person VALUES(1,'NDOMA','Riddy')");
            stat.close();
            conn.close();
        } catch (Exception e) {
        }
    }
}

Telechargez le projet complet ici

jeudi 17 octobre 2013

Utiliser un fihier .properties java

Par defintion un fichier  .properties est une extension de fichier essentiellement utilisée en Java et qui permet aux technologies compatibles de stocker les paramètres de configuration d'un logiciel. Ils sont également utilisés afin de stocker les chaînes de caractères standardisées ; ils sont connus comme des Property Resource Bundles (ensemble de ressources propriétaires).
Chaque paramètre est stocké comme une paire composée d'un pointeur de référence ('key') donnant le nom du paramètre, suivi de la valeur désirée de ce paramètre.(source : wikipedia)

La figure suivante montre la structure de notre projet, le fichier propreties qu'on utilise ici se trouve dans le package: com.sample.config
Le fichier Config.properties contient les informations suivantes:
On a notre classe Main qui va recuperer les informatons dans le fichier Config.properties. Dans cette classe on a les codes suivants:
Apres execution...voici ce que donne ce petit bout de code:



vendredi 30 août 2013

Installer Git plugin dans Eclipse

Git est un système de gestion de version des codes sources. Il est conçu pour être efficace tant avec les petits projets, que les plus importants. Il a une grande communauté et  créé par Linus Torvalds, le créateur du noyau Linux. on y trouve beaucoup de projets entre autres : Kernel  de Linux , Debian, Android,  m-domitique et jcertif-android de JCertif community.


Il est bon de l'inclure dans votre IDE. Pour Eclipse il y a un projet appelé EGIT qui développe un plugin. Ce petit tutoriel va vous aider à inclure EGIT dans Eclipse.



Voici les étapes a suivre :



1. Aller sur le menu: Help -> Install New Software

Cliquer sur Add et ajouter le lien : http://download.eclipse.org/egit/updates


Après avoir ajouté le référentiel du logiciel, vous avez besoin de choisir les paquets nécessaires pour Egit



Cliquer sur Next. L'installateur tire dépendances nécessaires automatiquement pour vous.

Accepter la licence puis cliquer sur Finish


Une fois l'installation terminée, il est recommandé de redémarrer votre Eclipse puis vous verrez un nouveau point intitulé "Git" si vous essayez d'importer un projet.