i'm trying connect mobile application database on server throw url ,
at first code working emulator url , when replace server url contains database shows error , (i update php files database user name , password ) , please 1 me :
here error:
05-06 07:04:08.069: e/androidruntime(3350): fatal exception: main 05-06 07:04:08.069: e/androidruntime(3350): java.lang.nullpointerexception 05-06 07:04:08.069: e/androidruntime(3350): @ com.example.weddingplanner.login$login$1.run(login.java:178) 05-06 07:04:08.069: e/androidruntime(3350): @ android.os.handler.handlecallback(handler.java:725) 05-06 07:04:08.069: e/androidruntime(3350): @ android.os.handler.dispatchmessage(handler.java:92) 05-06 07:04:08.069: e/androidruntime(3350): @ android.os.looper.loop(looper.java:137) 05-06 07:04:08.069: e/androidruntime(3350): @ android.app.activitythread.main(activitythread.java:5041) 05-06 07:04:08.069: e/androidruntime(3350): @ java.lang.reflect.method.invokenative(native method) 05-06 07:04:08.069: e/androidruntime(3350): @ java.lang.reflect.method.invoke(method.java:511) 05-06 07:04:08.069: e/androidruntime(3350): @ com.android.internal.os.zygoteinit$methodandargscaller.run`(zygoteinit.java:793)` 05-06 07:04:08.069: e/androidruntime(3350): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:560) 05-06 07:04:08.069: e/androidruntime(3350): @ dalvik.system.nativestart.main(native method)
and used code :
package com.example.weddingplanner; import java.util.arraylist; import java.util.list; import org.apache.http.namevaluepair; import org.apache.http.message.basicnamevaluepair; import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject; import android.os.asynctask; import android.os.bundle; import android.app.activity; import android.app.alertdialog; import android.app.progressdialog; import android.content.dialoginterface; import android.content.intent; import android.util.log; import android.view.menu; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.edittext; public class login extends activity { private static final jsonparser jsonparser = new jsonparser(); private static final string url_login ="http://weddingplannerg7/android_connect/login.php"; // json node names private static final string tag_success = "success"; private static final string tag_user = "user"; private static final string tag_type = "type"; static string fpwemail; private string email; private string password; private string type ; private int success ; private progressdialog pdialog; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.login); final button b1 = (button) findviewbyid(r.id.jbutton1);//forget password final button b2 = (button) findviewbyid(r.id.jbutton2);//log in final button b3 = (button) findviewbyid(r.id.jbutton3); // new user final edittext t1 = (edittext) findviewbyid(r.id.jedittext1);//user email final edittext t2 = (edittext) findviewbyid(r.id.jedittext2);//pw //forget password b1.setonclicklistener(new onclicklistener() { public void onclick(view v) { fpwemail = t1.gettext().tostring(); if (!fpwemail.equals("")) { intent myintent = new intent(login.this, forgetpw1.class); login.this.startactivity(myintent); }else { erremapw("sorry try again!!"); } } }); //login b2.setonclicklistener(new onclicklistener() { public void onclick(view v) { email = t1.gettext().tostring(); password = t2.gettext().tostring(); // search if email exist in db or not , save in boolean if( email.equals("") || password.equals("")) { //errormessage erremapw("sorry try again!!"); }else { new login().execute(); } } }); //new user b3.setonclicklistener(new onclicklistener() { public void onclick(view v) { intent myintent = new intent(login.this, newuser.class); login.this.startactivity(myintent); } }); } @suppresslint("newapi") @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.login, menu); getactionbar().setdisplayshowtitleenabled(false); getactionbar().setdisplayuselogoenabled(false); getactionbar().sethomebuttonenabled(false); return true; } public void erremapw(string str) { alertdialog.builder builder = new alertdialog.builder(login.this); builder.setmessage(str) .settitle("error!") .setpositivebutton("okay", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int id) { }}) .show(); } /** * background async task * */ class login extends asynctask<string, string, string> { /** * before starting background thread show progress dialog * */ @override protected void onpreexecute() { super.onpreexecute(); pdialog = new progressdialog(login.this); pdialog.setmessage("loading..."); pdialog.setindeterminate(false); pdialog.setcancelable(true); pdialog.show(); } /** * * */ protected string doinbackground(string... params) { // updating ui background thread runonuithread(new runnable() { public void run() { // check success tag type = ""; success = 0 ; try { // building parameters list<namevaluepair> params = new arraylist<namevaluepair>(); params.add(new basicnamevaluepair("email", email)); params.add(new basicnamevaluepair("password", password)); // getting product details making http request // note product details url use request jsonobject json = jsonparser.makehttprequest( url_login, "post", params); // check log json response log.d("single user", json.tostring()); // json success tag success = json.getint(tag_success); if (success == 1) { type = json.getstring(tag_type); if (type.equals("user")) { // save user data user.email=email; } else { admin.email=email; } }else { alertdialog.builder builder = new alertdialog.builder(login.this); builder.setmessage("sorry") .settitle("error!") .setpositivebutton("okay", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int id) { }}) .show(); } } catch (jsonexception e) { e.printstacktrace(); } } }); return null; } /** * after completing background task dismiss progress dialog * **/ protected void onpostexecute(string file_url) { // dismiss dialog once got details pdialog.dismiss(); if(success == 1) { if(type.equals("user")) { intent myintent = new intent(login.this, mainuser.class); login.this.startactivity(myintent); } else if(type.equals("admin")) { intent myintent = new intent(login.this, mainadmin.class); login.this.startactivity(myintent); } } } } }
i checked php files , error in connect statment
this statement cuasing error
// include db connect class require_once __dir__ . '/db_connect.php';
and error self tryed change directory doesn't work please 1 me !!
warning: require_once(dir/db_connect.php) [function.require-once]: failed open stream: no such file or directory in /home/ashjan/public_html/android_connect/login.php on line 13
fatal error: require_once() [function.require]: failed opening required 'dir/db_connect.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/ashjan/public_html/android_connect/login.php on line 13
first of why performing networking operation on ui thread, doing running network code on ui inside runonuithread
. secondly application crashing due nullpointerexception
@ line 178. debug class , see reason, may have debug php code too.
Comments
Post a Comment