java - Android login app not logging user in -
i trying develop chat application login , registration. app working without errors, when register adds right information in sqlite when log in details app says "logging in" nothing happens. know wrong code?
loginactivity.java
public class loginactivity extends activity { // logcat tag private static final string tag = registeractivity.class.getsimplename(); private button btnlogin; private button btnlinktoregister; private edittext inputemail; private edittext inputpassword; private progressdialog pdialog; private sessionmanager session; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_login); inputemail = (edittext) findviewbyid(r.id.email); inputpassword = (edittext) findviewbyid(r.id.password); btnlogin = (button) findviewbyid(r.id.btnlogin); btnlinktoregister = (button) findviewbyid(r.id.btnlinktoregisterscreen); // progress dialog pdialog = new progressdialog(this); pdialog.setcancelable(false); // session manager session = new sessionmanager(getapplicationcontext()); // check if user logged in or not if (session.isloggedin()) { // user logged in. take him main activity intent intent = new intent(loginactivity.this, mainactivity.class); startactivity(intent); finish(); } // login button click event btnlogin.setonclicklistener(new view.onclicklistener() { public void onclick(view view) { string email = inputemail.gettext().tostring(); string password = inputpassword.gettext().tostring(); // check empty data in form if (email.trim().length() > 0 && password.trim().length() > 0) { // login user checklogin(email, password); } else { // prompt user enter credentials toast.maketext(getapplicationcontext(), "please enter credentials!", toast.length_long) .show(); } } }); // link register screen btnlinktoregister.setonclicklistener(new view.onclicklistener() { public void onclick(view view) { intent = new intent(getapplicationcontext(), registeractivity.class); startactivity(i); finish(); } }); } /** * function verify login details in mysql db * */ private void checklogin(final string email, final string password) { // tag used cancel request string tag_string_req = "req_login"; pdialog.setmessage("logging in ..."); showdialog(); stringrequest strreq = new stringrequest(method.post, appconfig.url_register, new response.listener<string>() { @override public void onresponse(string response) { log.d(tag, "login response: " + response.tostring()); hidedialog(); try { jsonobject jobj = new jsonobject(response); boolean error = jobj.getboolean("error"); // check error node in json if (!error) { // user logged in // create login session session.setlogin(true); // launch main activity intent intent = new intent(loginactivity.this, mainactivity.class); startactivity(intent); finish(); } else { // error in login. error message string errormsg = jobj.getstring("error_msg"); toast.maketext(getapplicationcontext(), errormsg, toast.length_long).show(); } } catch (jsonexception e) { // json error e.printstacktrace(); } } }, new response.errorlistener() { @override public void onerrorresponse(volleyerror error) { log.e(tag, "login error: " + error.getmessage()); toast.maketext(getapplicationcontext(), error.getmessage(), toast.length_long).show(); hidedialog(); } }) { @override protected map<string, string> getparams() { // posting parameters login url map<string, string> params = new hashmap<string, string>(); params.put("tag", "login"); params.put("email", email); params.put("password", password); return params; } }; // adding request request queue appcontroller.getinstance().addtorequestqueue(strreq, tag_string_req); } private void showdialog() { if (!pdialog.isshowing()) pdialog.show(); } private void hidedialog() { if (pdialog.isshowing()) pdialog.dismiss(); } } mainactivity.java
public class mainactivity extends activity { private textview txtname; private textview txtemail; private button btnlogout; private sqlitehandler db; private sessionmanager session; public socket sender; public bufferedreader br; public printstream bw; class socketlistener implements runnable { string str; public void run() { try { sender = new socket("127.0.0.1", 1234); br = new bufferedreader (new inputstreamreader(sender.getinputstream())); bw = new printstream (sender.getoutputstream()); bw.println("connected"); while (true) { final textview t = (textview)findviewbyid(r.id.textview); string s = br.readline (); charsequence cs = t.gettext (); str = cs + "\r\n" + s; log.i("chat-str:", str); t.post(new runnable() { public void run() { t.settext(str); } } ); } } catch (ioexception e) { log.e(getclass().getname(), e.getmessage()); } } } @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); txtname = (textview) findviewbyid(r.id.name); txtemail = (textview) findviewbyid(r.id.email); btnlogout = (button) findviewbyid(r.id.btnlogout); // sqlite database handler db = new sqlitehandler(getapplicationcontext()); // session manager session = new sessionmanager(getapplicationcontext()); if (!session.isloggedin()) { logoutuser(); } // fetching user details sqlite hashmap<string, string> user = db.getuserdetails(); string name = user.get("name"); string email = user.get("email"); // displaying user details on screen txtname.settext(name); txtemail.settext(email); // logout button click event btnlogout.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { logoutuser(); } }); textview tv = (textview)findviewbyid(r.id.textview); tv.setmovementmethod(new scrollingmovementmethod()); button send1 = (button)findviewbyid(r.id.button); send1.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { final edittext et = (edittext)findviewbyid(r.id.edittext); editable e = et.gettext(); final string s = e.tostring(); new thread () { public void run () { bw.println (s); } }.start(); } }); thread t = new thread (new socketlistener ()); t.start(); } /** * logging out user. set isloggedin flag false in shared * preferences clears user data sqlite users table * */ private void logoutuser() { session.setlogin(false); db.deleteusers(); // launching login activity intent intent = new intent(mainactivity.this, loginactivity.class); startactivity(intent); finish(); } }
it doesnt ever log them in. here
btnlogin.setonclicklistener(new view.onclicklistener() { public void onclick(view view) { string email = inputemail.gettext().tostring(); string password = inputpassword.gettext().tostring(); // check empty data in form if (email.trim().length() > 0 && password.trim().length() > 0) { // login user checklogin(email, password); } else { // prompt user enter credentials toast.maketext(getapplicationcontext(), "please enter credentials!", toast.length_long) .show(); } } }); what checklogin(email, password); , if returning boolean should saying
if(checklogin){
//log them in
}
can post checklogin code?
Comments
Post a Comment