i'm trying connect app online database, have php files working, app don't connect database. have simple data insertion , data retrieve. keep getting null pointer exception.
regoneactivity.java
import android.app.activity; import android.content.intent; import android.content.sharedpreferences; import android.content.sharedpreferences.editor; import android.os.bundle; import android.view.menu; import android.view.menuitem; import android.view.view; import android.widget.button; import android.widget.edittext; public class regoneactivity extends activity { button okabtn,regbtn; edittext phno,password; string phone,pass; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_reg_one); password = (edittext) findviewbyid(r.id.passwordedittext); okabtn =(button) findviewbyid(r.id.okbtn); phno = (edittext) findviewbyid(r.id.edittextpass1); regbtn = (button) findviewbyid(r.id.createbtn); regbtn.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub intent in = new intent(regoneactivity.this, passwordactivity.class); startactivity(in); } }); okabtn.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub phone = phno.gettext().tostring(); pass = password.gettext().tostring(); string method = "login"; /*registerbackgroung background = new registerbackgroung(getapplicationcontext());*/ registerbackgroung background = new registerbackgroung(regoneactivity.this); background.execute(method, phone, pass); intent in = new intent(regoneactivity.this, mapactivity.class); startactivity(in); regoneactivity.this.finish(); } }); } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.reg_one, menu); return true; } @override public boolean onoptionsitemselected(menuitem item) { // handle action bar item clicks here. action bar // automatically handle clicks on home/up button, long // specify parent activity in androidmanifest.xml. int id = item.getitemid(); if (id == r.id.action_settings) { return true; } return super.onoptionsitemselected(item); } }
passwordactivity.java
import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.menu; import android.view.menuitem; import android.view.view; import android.widget.button; import android.widget.edittext; public class passwordactivity extends activity { button btn; edittext password1,password2,phone; string pass1,pass2,phonenumber; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_password); btn =(button) findviewbyid(r.id.proceed1act); password1 = (edittext) findviewbyid(r.id.edittextpass1); phone = (edittext) findviewbyid(r.id.phoneedt); password2 = (edittext) findviewbyid(r.id.edittextpass2); btn.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub pass1 = password1.gettext().tostring(); pass2 = password2.gettext().tostring(); phonenumber = phone.gettext().tostring(); string method= "register"; registerbackgroung backtask = new registerbackgroung(passwordactivity.this); backtask.execute(method,phonenumber,pass1); intent in = new intent(passwordactivity.this, regoneactivity.class); startactivity(in); passwordactivity.this.finish(); } }); } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.password, menu); return true; } @override public boolean onoptionsitemselected(menuitem item) { // handle action bar item clicks here. action bar // automatically handle clicks on home/up button, long // specify parent activity in androidmanifest.xml. int id = item.getitemid(); if (id == r.id.action_settings) { return true; } return super.onoptionsitemselected(item); } }
registerbackground.java
import java.io.bufferedoutputstream; import java.io.bufferedreader; import java.io.bufferedwriter; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import java.io.outputstream; import java.io.outputstreamwriter; import java.net.httpurlconnection; import java.net.malformedurlexception; import java.net.uri; import java.net.url; import java.net.urlencoder; import android.app.alertdialog; import android.app.dialog; import android.app.progressdialog; import android.content.context; import android.content.sharedpreferences; import android.content.sharedpreferences.editor; import android.os.asynctask; import android.widget.toast; public class registerbackgroung extends asynctask<string, void, string>{ context ctx; alertdialog diag; sharedpreferences sp; editor edt; public registerbackgroung(context ctx) { this.ctx = ctx; } @override protected string doinbackground(string... params) { // todo auto-generated method stub string urlregister = "http://www.locationsharing.16mb.com/register.php"; string login = "http://www.locationsharing.16mb.com/retrieve.php"; string method = params[0]; if(method.equals("register")) { string phone = params[1]; string pass = params[2]; try { url reg_url = new url(urlregister); httpurlconnection httpurlconnection = (httpurlconnection) reg_url.openconnection(); httpurlconnection.setrequestmethod("post"); httpurlconnection.setdooutput(true); outputstream os = httpurlconnection.getoutputstream(); bufferedwriter bufferedwriter = new bufferedwriter(new outputstreamwriter(os, "utf-8")); string data = urlencoder.encode("phonenumber", "utf-8")+"="+urlencoder.encode(phone, "utf-8")+"&"+ urlencoder.encode("password", "utf-8")+"="+urlencoder.encode(pass, "utf-8"); bufferedwriter.write(data); bufferedwriter.flush(); bufferedwriter.close(); inputstream = httpurlconnection.getinputstream(); is.close(); return "registration successful!"; } catch (ioexception e) { // todo auto-generated catch block e.printstacktrace(); } } else if(method.equals("login")){ string phone = params[1]; string pass = params[2]; try { url url = new url(login); httpurlconnection httpurlconnection = (httpurlconnection) url.openconnection(); httpurlconnection.setrequestmethod("post"); httpurlconnection.setdooutput(true); httpurlconnection.setdoinput(true); outputstream os = httpurlconnection.getoutputstream(); bufferedwriter bw= new bufferedwriter(new outputstreamwriter(os,"utf-8")); string data = urlencoder.encode("phonenumber", "utf-8")+"="+urlencoder.encode(phone, "utf-8")+"&"+ urlencoder.encode("password", "utf-8")+"="+urlencoder.encode(pass, "utf-8"); bw.write(data); bw.flush(); bw.close(); os.close(); inputstream = httpurlconnection.getinputstream(); bufferedreader br = new bufferedreader(new inputstreamreader(is,"iso-8859-1")); string response = ""; string line = ""; while((line = br.readline())!=null) { response += line; } br.close(); is.close(); httpurlconnection.disconnect(); return response; } catch (ioexception e) { // todo auto-generated catch block e.printstacktrace(); } } return null; } @override protected void onpreexecute() { // todo auto-generated method stub super.onpreexecute(); diag.settitle("login information"); } @override protected void onpostexecute(string result) { // todo auto-generated method stub super.onpostexecute(result); if(result.equals("registration successful!")) { toast.maketext(ctx, result, toast.length_long).show(); } else { diag.setmessage(result); diag.show(); } } }
manifest file:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.lavisor.locationsharing2" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="14" android:targetsdkversion="15" /> <permission android:name="com.testing.svma.permission.maps_receive" android:protectionlevel="signature" /> <uses-permission android:name="android.permission.read_contacts" /> <uses-permission android:name="com.testing.svma.permission.maps_receive" /> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_network_state"/> <uses-permission android:name="android.permission.write_external_storage" /> <uses-permission android:name="android.permission.access_coarse_location" /> <uses-permission android:name="android.permission.access_fine_location" /> <uses-permission android:name="com.google.android.providers.gsf.permission.read_gservices" /> <application android:allowbackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/apptheme" > <activity android:name=".splashactivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name=".regoneactivity" android:label="@string/title_activity_reg_one" > </activity> <activity android:name=".passwordactivity" android:label="@string/title_activity_password" > </activity> <activity android:name=".passactivity" android:label="@string/title_activity_pass" > </activity> <activity android:name=".mapactivity" android:label="@string/title_activity_map" > </activity> <activity android:name=".selectcircleactivity" android:label="@string/title_activity_select_circle" > </activity> <activity android:name=".sharelocationactivity" android:label="@string/title_activity_share_location" > </activity> <activity android:name=".favouritesactivity" android:label="@string/title_activity_favourites" > </activity> <activity android:name=".settingsactivity" android:label="@string/title_activity_settings" > </activity> <meta-data android:name="com.google.android.maps.v2.api_key" android:value="aizasyazx8ehxiq5zrgsdstuyseukq_pah8rlps" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/> </application> </manifest>
i forgot override onprogressupdate in async task :p , now, works perfectly..
Comments
Post a Comment