android - Error when connecting to MySQL through php to create a new table -
i programming android app works mysql database .this database has table in record results.
my app able communicate table , crud operations(create, delete, read , update) using php.
however want create new tables in db programmatically. have used , tested following php code manually , works fine gives error when making request app.
following code snippets , error message. answers or discussions appreciated , welcome.
here send create table request:
table_name = "background_apps_test"; params.add(new basicnamevaluepair("table_name", table_name)); json = jsonparser.makehttprequest(config.file_upload_url+"create_table.php", "post", params); here php file request creating through:
<?php if (isset($_post['table_name']){ $table_name = $_post['table_name']; require_once __dir__ . '/db_connect.php'; $db = new db_connect(); $query = " create table $table_name ( pid int(11) primary key auto_increment, l_type varchar(100) not null, l_info varchar(5000) not null, l_ip varchar(15), created_at timestamp default now() )"; } ?> this error message:
e/androidruntime﹕ fatal exception: main android.os.networkonmainthreadexception @ android.os.strictmode$androidblockguardpolicy.onnetwork(strictmode.java:1128) @ libcore.io.blockguardos.connect(blockguardos.java:84) @ libcore.io.iobridge.connecterrno(iobridge.java:159) @ libcore.io.iobridge.connect(iobridge.java:112) @ java.net.plainsocketimpl.connect(plainsocketimpl.java:192) @ java.net.plainsocketimpl.connect(plainsocketimpl.java:459) @ java.net.socket.connect(socket.java:857) @ org.apache.http.conn.scheme.plainsocketfactory.connectsocket(plainsocketfactory.java:119) @ org.apache.http.impl.conn.defaultclientconnectionoperator.openconnection(defaultclientconnectionoperator.java:144) @ org.apache.http.impl.conn.abstractpoolentry.open(abstractpoolentry.java:164) @ org.apache.http.impl.conn.abstractpooledconnadapter.open(abstractpooledconnadapter.java:119) @ org.apache.http.impl.client.defaultrequestdirector.execute(defaultrequestdirector.java:365) @ org.apache.http.impl.client.abstracthttpclient.execute(abstracthttpclient.java:555) @ org.apache.http.impl.client.abstracthttpclient.execute(abstracthttpclient.java:487) @ org.apache.http.impl.client.abstracthttpclient.execute(abstracthttpclient.java:465) @ mtb.saeed.com.mytestingbenchmark.jsonparser.makehttprequest(jsonparser.java:52) @ mtb.saeed.com.mytestingbenchmark.xmlfilecreator.automate(xmlfilecreator.java:400) @ mtb.saeed.com.mytestingbenchmark.xmlfilecreator$12.onclick(xmlfilecreator.java:260) @ android.view.view.performclick(view.java:4211) @ android.view.view$performclick.run(view.java:17446) @ android.os.handler.handlecallback(handler.java:725) @ android.os.handler.dispatchmessage(handler.java:92) @ android.os.looper.loop(looper.java:153) @ android.app.activitythread.main(activitythread.java:5299) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java:511) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:833) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:600) @ dalvik.system.nativestart.main(native method)
the problem android code. in fact, android imposes run networking code in different thread main thread. try move code (the 1 calling server) asynctask instance.
edited : here exact problem : how fix android.os.networkonmainthreadexception?
Comments
Post a Comment