android - error while trying to retrive data from server -


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