gpt4 book ai didi

java - 有没有更简单的方法将 android studio 连接到本地主机?

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:59 26 4
gpt4 key购买 nike

我正在尝试制作一个注册请求脚本。正如 RiggsFolly 之前提到的,我只是不断重复自己。那么,我想知道如何将 Android Studio 连接到我的本地主机服务器?我只是被告知 params 可能不是解决方案,而且我已经看到其他答案对于这个简单的任务来说太复杂了。

似乎 params 没有正确发送数据。所以我只想知道应该用什么而不是参数将数据发送到 php 脚本。现在我已经看到了这个脚本,它看起来使用了我无法导入的外部库。

HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(new HttpGet(URL));
StatusLine statusLine = response.getStatusLine();
if(statusLine.getStatusCode() == HttpStatus.SC_OK){
ByteArrayOutputStream out = new ByteArrayOutputStream();
response.getEntity().writeTo(out);
String responseString = out.toString();
out.close();
//..more logic
} else{
//Closes the connection.
response.getEntity().getContent().close();
throw new IOException(statusLine.getReasonPhrase());
}

我无法导入 http 库,所以我需要知道它们是否是使用 http 请求的内置方式。

目前,我的 RegisterRequest 脚本如下所示;

public class RegisterRequest extends StringRequest {

private static final String REGISTER_REQUEST_URL = "http://192.168.*.*:80/phptesting/Register.php";
private Map<String, String> params;
public RegisterRequest(String username, String password,String isAdmin, Response.Listener<String> listener){
super(Method.POST, REGISTER_REQUEST_URL,listener,null);
System.out.println(username);
System.out.println(password);
System.out.println(isAdmin);
params = new HashMap<>();
params.put("username",username);
params.put("password",password);
params.put("isAdmin",isAdmin+"");
}

public Map<String, String> getparams() {
return params;
}
}

现在,我使用 params.put 将参数输入到 php 脚本中,但 php 似乎没有接收到任何内容,甚至当我尝试引用它应该得到的内容时,会抛出 undefined index 错误。

这是 php 脚本。这很简单,但只是一堆乱七八糟的代码,应该将 $_POST 数据发送到“cresidentials”数据库中。其余的代码只是人们希望我出于调试原因而放入的一些行的大杂烩。

<?php
$db_host = 'localhost:3306';
$db_user = 'root';
$db_pass = '';
$db_name = 'test';
var_dump($_POST["username"]);//line 6
$con = mysqli_connect($db_host,'root',$db_pass,$db_name);
if($con){
echo "connection successful";
}
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if(isset($_POST["isAdmin"]) && isset($_POST["username"]) && isset($_POST["password"]))
{
$username = $_POST["username"];
$password = $_POST["password"];
$isAdmin = $_POST["isAdmin"];

$statement = mysqli_prepare($con, "INSERT INTO cresidentials (username,password,isAdmin) VALUES (?, ?, ?)");
mysqli_stmt_bind_param($statement,'sss',$username,$password,$isAdmin);
mysqli_stmt_execute($statement);

if(!$statement)
{
printf("Prepare failed: %s\n", mysqli_error($con));
}

echo "success";
}
else
echo "values not set";
?>

$_POST 正在抛出 undefined index 错误。不,RiggsFolly,仅仅因为我说 undefined index 并不意味着您可以尝试将这个问题欺骗到我的另一个问题。不要那么做。

我不认为我需要将 CreateUser 脚本放在这里,除非您想将其参数更改为 jsonobjects。我想知道任何人将 android studio 连接到 php 并在其中发布数据的简单方法。尽量不要进行大规模的加密交易,我对此很陌生。顺便说一句,输出是这样的;

/System.out: ahhh /System.out: ahhhh /System.out: Admin /Response Value::
Notice: Undefined index: username in \Register.php on line 6 NULL connection successfulvalues not set

🗅🗅🗅🗅🗅🗅感谢所有帮助,谢谢。🗅🗅🗅🗅🗅🗅

This is the part where Riggs edits my entire question

最佳答案

当您执行此操作时,您将发送一个不带任何参数的 GET 请求:

httpclient.execute(new HttpGet(URL));

从你的“请求”类来看,我猜你正在尝试使用 Volley。在 Volley 中,您必须创建一个 RequestQueue 并将您的请求添加到其中。请参阅此处的指南:https://developer.android.com/training/volley/

关于java - 有没有更简单的方法将 android studio 连接到本地主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53354297/

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