我有我的學校項目,我需要從MySQL數據庫中提取值並將其顯示給Android中的Spinner。 我正在使用Android Studio和Volley Library進行網絡操作,但困惑如何實現這件事。 我會感謝您的幫助。謝謝:)如何從MySQL數據庫獲取數據並將其加載到微調器?
1
A
回答
7
你必須首先創建一個PHP腳本,將打印你的MySQL數據庫的數據以JSON格式..在這裏,我向您展示一個例子讓我們看看這是我的數據庫
現在假設我需要加載這個表的所有用戶名到android的微調。因此,這是PHP腳本,這將使我JSON格式的數據
<?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));
}
}
0
- Read the Spinner class documentation
- 查詢數據庫
- 獲取結果
- 編碼數據轉換成JSON格式
- 請求,並在您的應用程序解析結果
- 填充一個列表陣列微調器
- 將適配器設置在微調器上
相關問題
- 1. 從數據庫中獲取數據並將其放入微調框中
- 2. 如何從MySQL數據庫獲取數據並將其插入到文本中
- 3. 如何從MySql數據庫檢索微調器數據的值
- 4. 如何從數據庫獲取記錄並將其加載到標籤?
- 5. 如何將數據從MySql加載到MS SQL Server數據庫?
- 6. 如何從數據庫Mysql中選擇數據並將其添加到DataGridView上?
- 7. 加載微調對話框從Android數據庫中獲取數據
- 8. 如何獲取API數據並使用PHP將其添加到數據庫中?
- 9. 從mysql中獲取數據並將其回顯到數組中
- 10. 從傳感器獲取數據並將其上傳到數據庫
- 11. 如何根據其他微調器獲取微調器值
- 12. 試圖從數據庫中獲取數據,並將其加載到數據表中有異常
- 13. 如何從DB2數據庫獲取值並將其分配給Oracle數據庫?
- 14. 從數據庫中獲取數據並將其放入SELECT TAG
- 15. 從數據庫中獲取數據並將其設置爲edittext
- 16. 從數據庫獲取數據並將其組織2 2 2
- 17. 如何檢測按鈕並將其添加到mySQL數據庫?
- 18. 如何從MySQL獲取數據並將其存儲在sqlite中
- 19. 如何從數據庫中獲取布爾值並將其添加到TextView?
- 20. 從XML文件中獲取數據並將其放入MySQL數據庫
- 21. 從shell界面將數據加載到mysql數據庫中
- 22. 將數據從MySQL數據庫加載到Objective C/XCode項目
- 23. 將數據從CSV加載到mySQL數據庫Java + hibernate + spring
- 24. 將數據從MySQL數據庫加載到C#DGV
- 25. 我如何從mysql數據庫獲取數據到flash?
- 26. 如何從mysql數據庫獲取數據到JSP頁面?
- 27. 如何從MySQL數據庫中獲取數據到ckeditor?
- 28. 如何從一個數據庫獲取數據到其他數據庫?
- 29. 如何獲取用戶ID並將其存儲到數據庫
- 30. 將數組從數據庫顯示到微調器中