Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur de session

Sujet résolu
    15 septembre 2017 à 1:52:36

    Salut ,

    j'ai un problème dans cette classe ,quand je lance l'application il s’arrête dans la partie des session :

    session = new SessionManager(getApplicationContext());
            Toast.makeText(getApplicationContext(),
                    "User Login Status: " + session.isLoggedIn(), Toast.LENGTH_LONG)
                    .show();
    
            session.checkLogin();
            HashMap<String, String> user = session.getUserDetails();
            txtUsername = user.get(SessionManager.KEY_NAME);
            // id = user.get(SessionManager.KEY_ID);
    
            TextView status = (TextView) findViewById(R.id.status);
            status.setText(Html.fromHtml("Welcome,<b>" +txtUsername + "</b>  "));
    
            logout = (Button) findViewById(R.id.logout);
    
            logout.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    session.logoutUser();
                    finish();
                }
            });

    voila le code complète:

    
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.design.widget.FloatingActionButton;
    import android.support.design.widget.Snackbar;
    import android.text.Html;
    import android.view.View;
    import android.support.design.widget.NavigationView;
    import android.support.v4.view.GravityCompat;
    import android.support.v4.widget.DrawerLayout;
    import android.support.v7.app.ActionBarDrawerToggle;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.Toolbar;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import org.json.JSONArray;
    
    import java.util.HashMap;
    
    public class Nav_Prop_Profil extends AppCompatActivity
            implements NavigationView.OnNavigationItemSelectedListener {
    
    
        Button logout;
        SessionManager session;
        TextView status;
        JSONArray contacts = null;
        String txtUsername, txtPassword, id;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_nav__prop__profil);
            Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);
            FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
            fab.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
    
                    Intent intent =new Intent(getApplicationContext(),Ann_Prop.class);
                    startActivity(intent);
    
                }
            });
            DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
            ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                    this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
            drawer.setDrawerListener(toggle);
            toggle.syncState();
            NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
            navigationView.setNavigationItemSelectedListener(this);
    
    
            session = new SessionManager(getApplicationContext());
            Toast.makeText(getApplicationContext(),
                    "User Login Status: " + session.isLoggedIn(), Toast.LENGTH_LONG)
                    .show();
    
            session.checkLogin();
            HashMap<String, String> user = session.getUserDetails();
            txtUsername = user.get(SessionManager.KEY_NAME);
            // id = user.get(SessionManager.KEY_ID);
    
            TextView status = (TextView) findViewById(R.id.status);
            status.setText(Html.fromHtml("Welcome,<b>" +txtUsername + "</b>  "));
    
            logout = (Button) findViewById(R.id.logout);
    
            logout.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    session.logoutUser();
                    finish();
                }
            });
    
        }
    
    
        @Override
        public void onBackPressed() {
            DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
            if (drawer.isDrawerOpen(GravityCompat.START)) {
                drawer.closeDrawer(GravityCompat.START);
            } else {
                super.onBackPressed();
            }
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.nav__prop__profil, menu);
            return true;
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();
    
            //noinspection SimplifiableIfStatement
            if (id == R.id.action_settings) {
                return true;
            }
    
            return super.onOptionsItemSelected(item);
        }
    
        @SuppressWarnings("StatementWithEmptyBody")
        @Override
        public boolean onNavigationItemSelected(MenuItem item) {
            // Handle navigation view item clicks here.
            int id = item.getItemId();
    
            if (id == R.id.nav_camera) {
                // Handle the camera action
            } else if (id == R.id.nav_gallery) {
    
            } else if (id == R.id.nav_slideshow) {
    
            } else if (id == R.id.nav_manage) {
    
            } else if (id == R.id.nav_share) {
    
            } else if (id == R.id.nav_send) {
    
            }
    
            DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
            drawer.closeDrawer(GravityCompat.START);
            return true;
        }
    
    
    }
    
     




    • Partager sur Facebook
    • Partager sur Twitter
      15 septembre 2017 à 8:47:51

      Salut,

      Ton application crash ? Si oui, tu dois avoir une stacktrace dans ton logcat. Peux-tu la poster ici ?

      • Partager sur Facebook
      • Partager sur Twitter
        15 septembre 2017 à 13:45:12

        oui ,voila erreur qui s'affiche dans logcat :

        09-15 11:36:09.980 1145-1145/com.kosalgeek.android.androidphpmysql E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                             java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kosalgeek.android.androidphpmysql/com.kosalgeek.android.androidphpmysql.Nav_Prop_Profil}: java.lang.NullPointerException
                                                                                                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
                                                                                                 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
                                                                                                 at android.app.ActivityThread.access$600(ActivityThread.java:130)
                                                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
                                                                                                 at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                 at android.os.Looper.loop(Looper.java:137)
                                                                                                 at android.app.ActivityThread.main(ActivityThread.java:4745)
                                                                                                 at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                                 at java.lang.reflect.Method.invoke(Method.java:511)
                                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
                                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
                                                                                                 at dalvik.system.NativeStart.main(Native Method)
                                                                                              Caused by: java.lang.NullPointerException
                                                                                                 at com.kosalgeek.android.androidphpmysql.Nav_Prop_Profil.onCreate(Nav_Prop_Profil.java:70)
                                                                                                 at android.app.Activity.performCreate(Activity.java:5008)
                                                                                                 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
                                                                                                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
                                                                                                 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
                                                                                                 at android.app.ActivityThread.access$600(ActivityThread.java:130) 
                                                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
                                                                                                 at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                                 at android.os.Looper.loop(Looper.java:137) 
                                                                                                 at android.app.ActivityThread.main(ActivityThread.java:4745) 
                                                                                                 at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                                 at java.lang.reflect.Method.invoke(Method.java:511) 
                                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
                                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
                                                                                                 at dalvik.system.NativeStart.main(Native Method) 
        09-15 11:36:09.980 349-360/system_process W/ActivityManager:   Force finishing activity com.kosalgeek.android.androidphpmysql/.Nav_Prop_Profil
        09-15 11:36:09.984 349-360/system_process W/ActivityManager:   Force finishing activity com.kosalgeek.android.androidphpmysql/.LoginProp
                                                                     
        
        
        
        



        • Partager sur Facebook
        • Partager sur Twitter
          15 septembre 2017 à 14:10:21

          A la ligne 70 de ton fichier Nav_Prop_Profil.java tu manipules une variable null visiblement. Quelle est cette ligne ?

          • Partager sur Facebook
          • Partager sur Twitter
            15 septembre 2017 à 14:26:37

            la ligne 70 :

            status.setText(Html.fromHtml("Welcome,<b>" +txtUsername + "</b>  "));

            j'ai enlevé  le code ci dessus  app  marche bien mais je ne sais pas c'est quoi le problème exactement :(  :

                    status.setText(Html.fromHtml("Welcome,<b>" +txtUsername + "</b>  "));
                    logout = (Button) findViewById(R.id.logout);
                    logout.setOnClickListener(new View.OnClickListener() {
            
                        @Override
                        public void onClick(View arg0) {
                            // TODO Auto-generated method stub
                            session.logoutUser();
                            finish();
                        }
                    });





            • Partager sur Facebook
            • Partager sur Twitter
              15 septembre 2017 à 14:50:15

              Ta variable status est probablement null.

              Peux-tu nous montrer le contenu de ton fichier activity_nav__prop__profil.xml ?

              • Partager sur Facebook
              • Partager sur Twitter
                15 septembre 2017 à 15:08:51

                ok le problème résolu  merci bcp :)

                -
                Edité par hafsafati 15 septembre 2017 à 15:42:46

                • Partager sur Facebook
                • Partager sur Twitter

                Erreur de session

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown