Php 使用主机&x27;android中的jsonArray值
我需要将jsonArray的值发送到我的android代码,以便填充listView。 这是我的Php 使用主机&x27;android中的jsonArray值,php,android,sql,json,listview,Php,Android,Sql,Json,Listview,我需要将jsonArray的值发送到我的android代码,以便填充listView。 这是我的rankingsReader.php文件: <?php $serverName = "serverName"; $dbUsername = "dbUsername"; $dbPassword = "dbPassword"; $dbName = "dbName"; $tableName = "tableName"; $conn = new mysqli($serverName, $dbUsern
rankingsReader.php
文件:
<?php
$serverName = "serverName";
$dbUsername = "dbUsername";
$dbPassword = "dbPassword";
$dbName = "dbName";
$tableName = "tableName";
$conn = new mysqli($serverName, $dbUsername, $dbPassword, $dbName);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
try{
$sqlTopMembers = "SELECT XP, username FROM $tableName ORDER BY XP DESC LIMIT 10";
if (!($result = $conn->query($sqlTopMembers)))
die($conn->error);
if ($result->num_rows) {
$rankings = [];
while ($row = $result->fetch_assoc()) {
$rankings[] = $row;
}
echo json_encode(array($tableName => $rankings));
}
}catch (Exception $e){
echo "Error ", $e->getMessage();
}
我想用android来填充我的列表视图(rankings\u list
)。
这是我的RankingListActivity.java
类:
public class RankingListActivity extends MainPage {
private static final String link = "http://myapp.webhost.com/rankingsReader.php";
Connection rankingConnect;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getLayoutInflater().inflate(R.layout.activity_ranking_list, (FrameLayout) findViewById(R.id.flContent));
ListView rankingsList = (ListView) findViewById(R.id.rankings_list);
setRanking();
}
private void setRanking() {
rankingConnect = new Connection(){
@Override
protected ProgressDialog createNewDialog(ProgressDialog dialog) {
dialog = new ProgressDialog(RankingListActivity.this);
return dialog;
}
@Override
protected String setUrl() {
return link;
}
};
}}
我读过一些关于Uri.Builder
和json
,但我不知道如何在我的android代码中使用它。请帮助我用jsonArray的值填充我的列表视图(排名列表)
。创建一个模型
排序表数组模型
public class RankingList {
ArrayList<RankingList> androidLogin;
public ArrayList<RankingList> getAndroidLogin() {
return androidLogin;
}
public void setAndroidLogin(ArrayList<RankingList> androidLogin) {
this.androidLogin = androidLogin;
}
}
创建一个getter和setter,然后使用它填充Gson.toJson()中的数据
这就行了
public class RankingList {
ArrayList<RankingList> androidLogin;
public ArrayList<RankingList> getAndroidLogin() {
return androidLogin;
}
public void setAndroidLogin(ArrayList<RankingList> androidLogin) {
this.androidLogin = androidLogin;
}
}
public class RankingList {
String XP;
String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getXP() {
return XP;
}
public void setXP(String XP) {
this.XP = XP;
}
}
Gson.toJson(your_string, RankingListArray.class);