Aller au contenu

Connecter android la base de donnée MySQL


abdallah123

Recommended Posts

  • 2 months later...
  • 2 years later...

Bonsoir , 

J'ai un problème dans l’activité main, pour la phase d'authentification  d'authentification , dans cette même page  je veux lancer un thread , qui permet de faire de notification quand une machine est  "DOWN" dans la méthode onCreate(), je veux que la notification est en exécution meme l'application n'est pas lancé, j'essaye de le mettre dans OnCreate() 

s'il vous plait j'ai besoin de vos aides et merci d'avance.

 
 
public class MainActivity extends Activity implements OnClickListener{
final int NOTIF_ID = 1234;
private EditText user, pass;
private Button mSubmit,mRegister;
public static final int ID_NOTIFICATION = 1988;
// Progress Dialog
    private ProgressDialog pDialog;
    // JSON parser class
    JSONParser jsonParser = new JSONParser();
    private static final String LOGIN_URL = "http://192.168.1.101/login.php";
   //JSON element ids from repsonse of php script:
    private static final String TAG_SUCCESS = "success";
    private static final String TAG_MESSAGE = "message";
    private static final String TAG_SUCC = "succ";
private static String url_all_products = "http://192.168.6.101/cgi-bin/myname.php";
 
// JSON Node names
//private static final String TAG_SUCCESS = "success";
private static final String TAG_HOSTS = "Hosts";
private static final String TAG_ID = "id";
private static final String TAG_ST = "state";
JSONArray Hosts = null;
JSONParser jParser = new JSONParser();
String out;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//setup input fields
user = (EditText)findViewById(R.id.username);
pass = (EditText)findViewById(R.id.password);
//setup buttons
mSubmit = (Button)findViewById(R.id.login);
        mRegister = (Button)findViewById(R.id.register);
        
// je veux mettre le code ici pour recuper le name et status de la machine et il vérifier  sans meme authentifier 
List<NameValuePair> paramss = new ArrayList<NameValuePair>();
        // getting JSON string from URL
        JSONObject jsonn = jParser.makeHttpRequest(url_all_products, "GET", paramss);
        try {
            // Checking for SUCCESS TAG
            int succ = jsonn.getInt(TAG_SUCC);
            if (succ == 1) { 
                    // products found
                  // Getting Array of Products
         Hosts = jsonn.getJSONArray(TAG_HOSTS);
               // looping through All Products
  for (int i = 0; i < Hosts.length(); i++) {
         JSONObject c = Hosts.getJSONObject(i);
     // Storing each json item in variable
         String host_name = c.getString(TAG_ID);
         String host_service = c.getString(TAG_ST);
   // creating new HashMap
         HashMap<String, String> map = new HashMap<String, String>();
 // adding each child node to HashMap key => value
                    map.put(TAG_ID, host_name);
                    map.put(TAG_ST, host_service);
                    out = c.getString(TAG_ST);
                    if(out.contains("OK"))
                    { }
                    else
                    { //on lance la méthode createNotify (qui comme son nom l'indique créera la notification)
                        createNotify();}
                    //Méthode qui créer la notification
                    }}}
                    catch (JSONException e) {
            e.printStackTrace();
        } 
//
 
//register listeners
mSubmit.setOnClickListener(this); 
mRegister.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
       case R.id.login:
               new AttemptLogin().execute();
           break;
       case R.id.register:
       Toast.makeText(MainActivity.this, "Log Out NAGANDRO ", Toast.LENGTH_LONG).show();
           break;
       default:
           break;
}}
class AttemptLogin extends AsyncTask<String, String, String> {
/**
         * Before starting background thread Show Progress Dialog
         * */
boolean failure = false;
        @@override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(MainActivity.this);
            pDialog.setMessage("Attempting login...");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(true);
            pDialog.show();
        }
protected String doInBackground(String... args) {
// TODO Auto-generated method stub
// Check for success tag
 
 
            
     int success;
            String username = user.getText().toString();
            String password = pass.getText().toString();
            try {
                // Building Parameters
                List<NameValuePair> params = new ArrayList<NameValuePair>();
                params.add(new BasicNameValuePair("username", username));
                params.add(new BasicNameValuePair("password", password));
 
                Log.d("request!", "starting");
                // getting product details by making HTTP request
                JSONObject json = jsonParser.makeHttpRequest(
                       LOGIN_URL, "POST", params);
 
                // check your log for json response
                Log.d("Login attempt", json.toString());
 
                // json success tag
                success = json.getInt(TAG_SUCCESS);
                if (success == 1) {
                Log.d("Login Successful!", json.toString());
                Intent i = new Intent(MainActivity.this, accueilc.class);
                finish();
    startActivity(i);
                return json.getString(TAG_MESSAGE);
                }else{
                Log.d("Login Failure!", json.getString(TAG_MESSAGE));
               
                return json.getString(TAG_MESSAGE);
 
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
            return null;
}
/**
         * After completing background task Dismiss the progress dialog
         * **/
        protected void onPostExecute(String file_url) {
            // dismiss the dialog once product deleted
            pDialog.dismiss();
            if (file_url != null){
            Toast.makeText(MainActivity.this, file_url, Toast.LENGTH_LONG).show();
            }}}
    private void createNotify(){
        //On créer un "gestionnaire de notification"
        NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);        
     //  @SuppressWarnings("deprecation")
Notification notification = new Notification(R.drawable.ninja, "New Notification for NAGANDRO", System.currentTimeMillis());  
        PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, new Intent(MainActivity.this, NotificationReceiver.class), 0);
        String titreNotification = "Notification";       
        String texteNotification = "You have an Alarm ...";         
      notification.setLatestEventInfo(MainActivity.this, titreNotification, texteNotification, pendingIntent);
        notification.vibrate = new long[] {0,300,100,300,100,300};
        notificationManager.notify(ID_NOTIFICATION, notification);
    }
Modifié par sondes001
Lien vers le commentaire
Partager sur d’autres sites

Merci :

 - de ne pas poster un message dans un post existant si cela n'a aucun rapport avec le post initial. Il est préférable de créer un nouveau post pour une  nouvelle question

 - d'utiliser les balises [ code ] pour les extraits de code dans un message, afin de rendre plus lisible ton message.

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...