請在Android Studio 3.x版,新建一個專案。增加一個Empty Activity。再拉一個Spinner元件,順序來排列出來。如下圖所示:


拉好畫面,開始寫程式。請參考之我之前的文章,利用Volley物件,用GET的模式,取得JSON字串。再用JSONArray物件來解出欄位的資料,再組成字串陣列。將陣列跟Spinner物件連結在一起。請參考程式的註解。
 
public class MainActivity extends AppCompatActivity {
    //宣告物件名稱。
    private RequestQueue objqueue;
    private final static String strurl = "http://192.168.1.102:8088/newmap_admin/_api_gettags.php";
    private Spinner lst_tag;
    ArrayList<String> arytags;
    private StringRequest getRequest;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
        //物件名稱跟Layout上的物件,產生連結。
        lst_tag = (Spinner)findViewById(R.id.lsttag);
        arytags=new ArrayList<>();
        //設定Volley物件。
        objqueue = Volley.newRequestQueue(this);
        //實做Volley物件,在StringRequest的函式,預設值就是Request.Method.GET,可以省略。
        //而strurl,就是要GET的API網址。
        //最後,還要Override二個監聽的事件。
        getRequest = new StringRequest(strurl, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                //response,表示是回傳值,就是API要回傳的字串,也可以是JSON字串。
                //宣告JSONArray時,要用try...catch包起來,不然會出現錯誤。
                try{
                    //將JSON字串,放到JSONArray中。
                    JSONArray array = new JSONArray(response);
                    //解出JSON的資料,將所要的資料,再寫入陣列中。
                    for (int i = 0; i < array.length(); i++) {
                        JSONObject jsonObject = array.getJSONObject(i);
                        String strtagname = jsonObject.getString("ctagname");
                        arytags.add(strtagname);
                    }
                }
                catch(JSONException e) {
                    e.printStackTrace();
                }
                //將陣列跟Spinner物件連結在一起。
                lst_tag.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, arytags));
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                //如果發生錯誤,就是回傳VolleyError,可以顯示是什麼錯誤。
            }
        });
        //將getRequest物件加入Volley物件的queue中,執行跟API的溝通。
        objqueue.add(getRequest);
    }
}
 
程式可以在模擬器上執行,執行出來的結果,如下圖所示:下拉選單,就會列出電影的列表,如PHP網頁輸出的資料。