gpt4 book ai didi

php - 使用 PHP 和 MySQL 在 Android 中删除用户

转载 作者:太空狗 更新时间:2023-10-29 16:34:24 25 4
gpt4 key购买 nike

我正在尝试开发一个从 mysql 表中删除用户的 Activity 。一旦我登录到该应用程序,我希望用户在想要删除他们的帐户时单击一个按钮。当我点击按钮时,我得到这些错误:

22416-22416/etsiit.etsiitcast_def E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: etsiit.etsiitcast_def, PID: 22416
android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147)
at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:110)
at libcore.io.IoBridge.connectErrno(IoBridge.java:137)
at libcore.io.IoBridge.connect(IoBridge.java:122)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:456)
at java.net.Socket.connect(Socket.java:882)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:124)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:149)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:365)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:560)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:492)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:470)
at etsiit.etsiitcast_def.PerfilFragment$1.onClick(PerfilFragment.java:67)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

这是我的删除 user.php 函数:

<?php
require_once 'connectbd.php';
// connecting to database
$this->db = new DB_Connect();
$this->db->connect();

$query = "DELETE FROM usuarios WHERE username = '$username' LIMIT 1";

mysql_query($query);

if (mysql_affected_rows() == 1) {
echo("El usuario ha sido eliminado.");
} else {
echo("Error al eliminar el usuario.");
}
?>

这是我的 Android Activity 代码:

Button delete = (Button) rootView.findViewById(R.id.delete);
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String url = "http://"+IP_Server+"/etsiitcast_db/deleteuser.php";
HttpClient client = new DefaultHttpClient();

try {
client.execute(new HttpGet(url));
} catch(IOException e) {
//do something here
}
}
});

IP_SERVER 是我的服务器地址。告诉我是否需要更多代码。

最佳答案

在 Android 中,您不应该在主线程上进行网络调用。否则,UI 会卡住。为避免这种情况,Android 现在会抛出 NetworkOnMainThreadException。

因此,您应该在后台进行所有网络调用。为此,您可以使用:

  • 异步任务
  • 装载机
  • 基本线程...

关于php - 使用 PHP 和 MySQL 在 Android 中删除用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32395330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com