gpt4 book ai didi

android - 如何从 MySQL 数据库中获取数据并将其加载到 Spinner?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:13:25 26 4
gpt4 key购买 nike

我有我的学校项目,我需要从 MySQL 数据库中获取值并将其显示给 Android 中的 Spinner。我正在使用 Android Studio 和 Volley 库进行网络操作,但对如何实现这件事感到困惑。我会感谢你的帮助。谢谢:)

最佳答案

你必须首先创建一个 php 脚本,它将以 json 格式打印你的 mysql 数据库的数据。这里我给你看一个例子让你看看这是我的数据库 MySQL Database

现在假设我需要将此表的所有用户名加载到 android 的微调器中。所以这是将给我 json 格式数据的 php 脚本

<?php 

$sql = "SELECT * FROM students";

require_once('dbConnect.php');

$r = mysqli_query($con,$sql);

$result = array();

while($row = mysqli_fetch_array($r)){
array_push($result,array(
'username'=>$row['username'],
'name'=>$row['name'],
'course'=>$row['course'],
'session'=>$row['session']
));
}

echo json_encode(array('result'=>$result));

mysqli_close($con);

上面的php代码会给出下面的json

{"result":[{"username":"faiz","name":"Faiz Khan","course":"BCA","session":"2014-2017"},{"username":"belal","name":"Belal Khan","course":"MCA","session":"2015-2018"},{"username":"ramiz","name":"Ramiz Khan","course":"MBA","session":"2015-2017"},{"username":"zafar","name":"Zafar Khan","course":"MBA","session":"2014-2016"}]}

现在android代码将是MainActivity.java

public class MainActivity extends AppCompatActivity{
private Spinner spinner;
private ArrayList<String> students;
private JSONArray result;
private TextView textViewName;
private TextView textViewCourse;
private TextView textViewSession;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
students = new ArrayList<String>();
spinner = (Spinner) findViewById(R.id.spinner);
spinner.setOnItemSelectedListener(this);
textViewName = (TextView) findViewById(R.id.textViewName);
textViewCourse = (TextView) findViewById(R.id.textViewCourse);
textViewSession = (TextView) findViewById(R.id.textViewSession);
getData();
}

private void getData(){
StringRequest stringRequest = new StringRequest("your php script address",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
JSONObject j = null;
try {
j = new JSONObject(response);
result = j.getJSONArray(Config.JSON_ARRAY);
getStudents(result);
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {

}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}

private void getStudents(JSONArray j){
for(int i=0;i<j.length();i++){
try {
JSONObject json = j.getJSONObject(i);
students.add(json.getString(Config.TAG_USERNAME));
} catch (JSONException e) {
e.printStackTrace();
}
}
spinner.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, students));
}
}

来源Android Spinner Example with MySQL Database

关于android - 如何从 MySQL 数据库中获取数据并将其加载到 Spinner?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33453026/

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