Как получить данные, которые хранятся в формате JSON на сервере MySQL, работающем на моем локальном хосте, в заселяющие прядильщики в приложении Android?Как получить данные с сервера в spinner в студии android
ответ
Я бы начал с этого руководства here на заселяющих прядильщиках в целом.
Для анализа json-данных я бы использовал JSONObject. Взгляните на this tutorial.
Выполняйте изменения в соответствии с вами. Я отправляю свой собственный рабочий код.
, например.
Это ваш кок в XML:
<Spinner
android:id="@+id/spinner_vehciles"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
Следующие шаги в классе:
private Spinner spinner_vehciles;
spinner_vehciles = (Spinner) findViewById(R.id.spinner_vehciles);
Вы должны реализовать один интерфейс, например,
public class YourActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener
два метода присутствуют в этом интерфейсе
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Spinner spinner = (Spinner) parent;
if (spinner.getId() == R.id.spinner_vehciles) {
SpinnerVehicleList vehicle = listVehicles.get(position);
str_vehicle = vehicle.getVehicleName();
str_vehicle_id = vehicle.getVehicleId();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
SpinnerVehicleList мой класс модели:
public class SpinnerVehicleList {
private String vehicleId;
private String vehicleName;
public SpinnerVehicleList(String vehicleId, String vehicleName) {
this.vehicleId = vehicleId;
this.vehicleName = vehicleName;
}
public String getVehicleName() {
return vehicleName;
}
public void setVehicleName(String vehicleName) {
this.vehicleName = vehicleName;
}
public String getVehicleId() {
return vehicleId;
}
public void setVehicleId(String vehicleId) {
this.vehicleId = vehicleId;
}
}
listVehicles мой ArrayList:
private ArrayList<SpinnerVehicleList> listVehicles = new ArrayList<>();
Теперь создаем адаптер, как го является:
public class SpinnerVehicleListAdapter extends BaseAdapter {
private List<SpinnerVehicleList> list_vehicles = new ArrayList<SpinnerVehicleList>();
private LayoutInflater layoutInflater = null;
private Context context;
public SpinnerVehicleListAdapter(Activity context, List<SpinnerVehicleList> list_vehicles) {
this.list_vehicles = list_vehicles;
this.context = context;
layoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return list_vehicles.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
public class ViewHolder
{
TextView textView_vehicleName;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder = new ViewHolder();
View view = convertView;
if (view == null)
{
view = layoutInflater.inflate(R.layout.spinner_vehicle_item, null);
viewHolder.textView_vehicleName = (TextView) view.findViewById(R.id.textView_vehicleName);
view.setTag(viewHolder);
}
else
{
viewHolder = (ViewHolder) view.getTag();
}
SpinnerVehicleList vehicles = list_vehicles.get(position);
viewHolder.textView_vehicleName.setText(vehicles.getVehicleName());
return view;
}
}
Прими переменный адаптер для инициализации адаптера:
private SpinnerVehicleListAdapter spinnerVehicleListAdapter;
Создать один метод для сервера getDataFrom. для например, в моем случае:
public void getVehicleList() {
progressDialog.show();
StringRequest sr = new StringRequest(Request.Method.POST, AppUtil.URL_Main + AppUtil.URL_ListVehicle, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
progressDialog.dismiss();
try {
JSONObject jsonObject = new JSONObject(response);
if (jsonObject.get("status").toString().trim().equals("true")) {
if (listVehicles.size() > 0) {
listVehicles.clear();
}
listVehicles.add(new SpinnerVehicleList("0", "Select Your Vehicle"));
JSONArray jsonArray = jsonObject.getJSONArray("data");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject1 = jsonArray.getJSONObject(i);
String vehicleId = jsonObject1.getString("vehicleId");
String vehicleName = jsonObject1.getString("make");
listVehicles.add(new SpinnerVehicleList(vehicleId, vehicleName));
}
spinnerVehicleListAdapter.notifyDataSetChanged();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
try {
progressDialog.dismiss();
Toast.makeText(BookingFormActivity.this, "Check Internet Connection !", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("userId", values.get_UserID());
params.put("token", values.get_Token());
return params;
}
};
sr.setRetryPolicy(new DefaultRetryPolicy(60 * 1000, 0,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
AppController.getInstance().addToRequestQueue(sr);
}
Последний является вызов метода, который получает dataFromServer() и сохранить значение для адаптера. Вы можете написать этот код в методе onResume()
@Override
protected void onResume() {
super.onResume();
getVehicleList();
spinnerVehicleListAdapter = new SpinnerVehicleListAdapter(this, listVehicles);
spinner_vehciles.setAdapter(spinnerVehicleListAdapter);
spinner_vehciles.setOnItemSelectedListener(this);
}
Thats it.
- 1. Android Load Spinner данные с сервера
- 2. Данные с сервера не поступают в spinner в android?
- 3. Отправить и получить данные с сервера PHP в андроид-студии
- 4. Как получить данные с сервера в Android
- 5. Android: получить данные Spinner в строку
- 6. Android: Получить данные с сервера
- 7. получить данные с удаленного сервера в android
- 8. Попытка получить данные с экрана студии android
- 9. Как получить данные с сервера и поместить данные в прядильщики
- 10. Показать данные в Spinner, Android
- 11. Android - Как получить данные с сервера?
- 12. Как загрузить данные Json в spinner в Android?
- 13. Получить значение Spinner в Android
- 14. Как установить текст Spinner в android, поступающий с сервера
- 15. Как заполнить данные в spinner из текстового файла в android
- 16. Как получить Spinner выбранный элемент в Android
- 17. Как получить spinner выбранный элемент в android?
- 18. Android - Как получить все предметы в Spinner?
- 19. Android: Как получить невыбираемый элемент в spinner?
- 20. Как получить Spinner внутри ListView в Android?
- 21. Как получить данные с сервера в android без отправки запроса?
- 22. Как получить данные с сервера, используя идентификатор в Android
- 23. Как получить данные с сервера в phonegap android
- 24. Как получить данные с сервера ниже recyclerview в android
- 25. Android студии, как получить versionNameSuffix в коде
- 26. Получить Android Spinner ID
- 27. Как получить данные с сервера
- 28. получить данные с сервера с jquery ajax в android phonegap
- 29. Как получить случайную кнопку в студии Android
- 30. Выбор spinner в Android
Объясните свою идею более подробно, или они дадут вам много невздок :) просто совет^_ ^, надеюсь, вы найдете свое решение –
у вас уже есть два неприятия, Go Faster –
@KhalilBz сделал редактирование моего вопроса , Вы сейчас задаете мне вопрос? –