mysql - I would like to insert data to phpmyadmin from my android device -
at moment can add users database through postman or emulator need able insert data actual android device .what adjustments have take ? please have @ code below
this main activity using in app :
package ie.example.artur.adminapp; import android.os.asynctask; import android.os.bundle; import android.support.design.widget.floatingactionbutton; import android.support.design.widget.snackbar; import android.support.v7.app.appcompatactivity; import android.support.v7.widget.toolbar; import android.view.view; import android.view.menu; import android.view.menuitem; import android.widget.button; import android.widget.edittext; import android.widget.textview; import android.widget.toast; import java.sql.connection; import java.sql.drivermanager; import java.sql.statement; import java.util.hashmap; import retrofit2.call; import retrofit2.callback; import retrofit2.response; public class mainactivity extends appcompatactivity { edittext edittextname,edittextemail,edittextpassword; textview textview; private static final string db_url = "jdbc:mysql://10.3.2.51/socialmedia_website"; private static final string user = "zzz"; private static final string pass = "zzz"; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_register); findviewbyid(r.id.layoutprogress).setvisibility(view.gone); textview = (textview) findviewbyid(r.id.textview); edittextname = (edittext) findviewbyid(r.id.edittextname); edittextemail = (edittext) findviewbyid(r.id.edittextemail); edittextpassword = (edittext) findviewbyid(r.id.edittextpassword); 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) { snackbar.make(view, "replace own action", snackbar.length_long) .setaction("action", null).show(); } }); } public void btnconn(view view) { findviewbyid(r.id.layoutprogress).setvisibility(view.visible); final apiclient apiclient = new apiclient(); string email = edittextemail.gettext().tostring(); string name = edittextname.gettext().tostring(); string password = edittextpassword.gettext().tostring(); hashmap<string,string> parameters = new hashmap<>(); parameters.put("email",email); parameters.put("name",name); parameters.put("password",password); call<apiresponse> call = apiclient.loginuser(parameters); call.enqueue(new callback<apiresponse>() { @override public void onresponse(call<apiresponse> call, response<apiresponse> response) { if(response.issuccessful()) { apiresponse apiresponse = response.body(); if(apiresponse.getstatus() == 200 || apiresponse.getstatus() == 201) { findviewbyid(r.id.layoutprogress).setvisibility(view.gone); send objsend = new send(); objsend.execute(""); //toast.maketext(mainactivity.this,"success", toast.length_short); textview.settext("success."); } else { //toast.maketext(mainactivity.this,apiresponse.geterrors(), toast.length_short); textview.settext(apiresponse.geterrors()); } } else { findviewbyid(r.id.layoutprogress).setvisibility(view.gone); //toast.maketext(mainactivity.this,"invalid api response.", toast.length_short); textview.settext("invalid api response."); } } @override public void onfailure(call<apiresponse> call, throwable t) { findviewbyid(r.id.layoutprogress).setvisibility(view.gone); //toast.maketext(mainactivity.this,"no host available or please check network connectivity.", toast.length_short); textview.settext("no host available or please check network connectivity."); } }); } private class send extends asynctask<string, string, string> { string msg = ""; string name = edittextname.gettext().tostring(); string email = edittextemail.gettext().tostring(); string password = edittextpassword.gettext().tostring(); @override protected void onpreexecute() { textview.settext("please wait inserting data"); } @override protected string doinbackground(string... strings) { try { class.forname("com.mysql.jdbc.driver"); connection conn = drivermanager.getconnection(db_url, user, pass); if (conn == null) { msg = "connection goes wrong"; } else { string query = "insert users (name,email,password) values('" + name+"','"+email+"','"+password+"')"; statement stmt = conn.createstatement(); stmt.executeupdate(query); msg = "inserting successful!!"; } conn.close(); } catch( exception e ) { msg = "connection goes wrong"; e.printstacktrace(); } return msg; } @override protected void onpostexecute(string msg) {textview.settext(msg);} } } api client class
package ie.example.artur.adminapp; import java.util.hashmap; import okhttp3.okhttpclient; import okhttp3.logging.httplogginginterceptor; import retrofit2.call; import retrofit2.retrofit; import retrofit2.converter.gson.gsonconverterfactory; /** * created asifj on 7/25/2017. */ public class apiclient { private string base_url = buildconfig.base_url; apiendpoints apiservice; public apiclient() { httplogginginterceptor logging = new httplogginginterceptor(); okhttpclient.builder httpclient = new okhttpclient.builder(); logging.setlevel(httplogginginterceptor.level.body); httpclient.addinterceptor(logging); // <-- important line! retrofit retrofit = new retrofit.builder().baseurl(base_url).addconverterfactory(gsonconverterfactory.create()).client(httpclient.build()).build(); apiservice = retrofit.create(apiendpoints.class); } public call<apiresponse> loginuser(hashmap<string, string> parameters) { return apiservice.usercreate(parameters); } } if need me share more class please let me know in comments
//this class you'll call in main activity
public class postrequest extends asynctask<void, void, string> { private string parameters; private context context; public postrequest(context context) { this.context = context; log.d("postrequest", "context set : " + context); } public void setparameters(string parameters) { this.parameters = parameters; log.d("postrequest", "parameters set : " + parameters); } @override protected string doinbackground(void... params) { string response = null; try { url url = new url("url of php script"); httpurlconnection connection = (httpurlconnection) url.openconnection(); connection.setdooutput(true); connection.setrequestproperty("content-type", "application/x-www-form-urlencoded"); connection.setrequestmethod("post"); outputstreamwriter request = new outputstreamwriter(connection.getoutputstream()); request.write(parameters); request.flush(); request.close(); string line = ""; inputstreamreader isr = new inputstreamreader(connection.getinputstream()); bufferedreader reader = new bufferedreader(isr); stringbuilder sb = new stringbuilder(); while ((line = reader.readline()) != null) { sb.append(line + "\n"); } response = sb.tostring(); isr.close(); reader.close(); } catch (ioexception e) { // error } return response; } @override protected void onpostexecute(string s) { super.onpostexecute(s); } } //in main activity you'll call so
postrequest postrequest = new postrequest(getcontext()); postrequest.setparameters("param1=" + "param1value" + "¶m2=" + "param2value"); postrequest.execute();
Comments
Post a Comment