我只想将来自URL的JSON数据用作我活动中的变量。 它对listview-arrays没有任何问题,但这对我的愿望来说太长了。 我该怎么办?我找到了一些例子,但现在已经弃用了httpclient。我不想因此而降级我的图书馆。
例如,我可以使用json数据中的数据作为工具栏中的标题。我该怎么办?
我的php-json方面;
$uid= $_GET['device_id'];
$result = "SELECT `contact_name`,`username`,`device_id` FROM `users` WHERE `device_id`='{$uid}' AND `device_match`=1 AND `suspended`=0 LIMIT 1";
$result = mysql_query($result);
$num = mysql_num_rows($result);
if ($num>0) {
$row = mysql_fetch_array($result);
$response["success"] = 1;
$response["contact_name"] = $row['contact_name'];
$response["link"] = "index.php";
} else {
$response["success"] = 0;
$response["contact_name"] = "";
$response["link"] = "login.php";
}
echo json_encode($response);
我喜欢在里面使用这些数据;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.portal_activity);
// I know thats stupid, just for explanation what I want to do.
final String username = $response["contact_name"];
final String link= $response["link"];
//like below;
Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar);
toolbar.setTitle(username);
//or like to set into a textview;
TextView mytext1= (TextView)findViewById(R.id.mytext1);
mytext1.setText(link);
}
我的技能水平:非常擅长PHP,初学者是Android / Java
答案 0 :(得分:0)
您必须在标题中声明您的退货类型。
header('Content-type: javascript/json');
// TODO: Add logic here
echo json_encode($response);
另请注意,您的SQL可能容易受到SQL注入攻击,将GET / POST数据视为不受信任来源。你不知道它们包含什么,所以永远不要直接将它们附加到你的SQL中。
使用折旧较少的驱动程序的示例:
$con = new PDO('mysql:host=localhost;dbname=some_db', 'some_user', 'some_pass');
// ? is a placeholder
$smpt = $con->Prepare('SELECT * FROM some_table WHERE some_col = ?');
// add the value to the placeholder securely
$smpt->execute(['someValue']);
$result = $smpt->fetch();
另外,请注意您在回复中返回的信息,因为任何人都可以对您的应用进行反向工程并发送恶意ID并获取用户信息。考虑使用handshakes。