Jump to content
abdallah123

Connecter android la base de donnée MySQL

Recommended Posts

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);
    }
Edited by sondes001

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.






×
×
  • Create New...