Получение значений страниц JSON в моем приложении для android
Привет Я создал класс JSON Parser и пытаюсь извлечь данные из таблиц клиентов northwind web services в своем приложении andriod, но получаю исключение null pointer в объекте массива JSON. Я пробовал один и тот же код для разных url-адресов, но он отлично работает..
Любая помощь будет весьма ощутима. Мой код идет ниже.
Заранее спасибо.
Что я уже пробовал:
MainActivity.java
пакет com.пример.Гаурав.каталог;
импорт android.content.Контекст;
импорт андроид.нет.ConnectivityManager;
импорт андроид.нет.NetworkInfo;
импорт android.os.AsyncTask;
импорт android. os. Bundle;
импорт android.support.design.widget.FloatingActionButton;
импорт android.support.design.widget.Закусочная;
импорт андроид.поддержка.В7.приложение.AppCompatActivity;
импорт android.support.v7.widget.Панель инструментов;
импорт android.text.method.ScrollingMovementMethod;
импорт андроид.смотреть.Смотреть;
импорт android. view. Menu;
импорт андроид.смотреть.пункт меню;
импорт android. widget.Прогрессбар;
импорт android. widget.TextView;
импорт android. widget.Тост;
импорт java.util.список ArrayList;
импорт java. util. List;
public class MainActivity расширяет AppCompatActivity {
private TextView t1;
ProgressBar pg1;
Список задач ;
Flowerlist список ;
Список customerlist;
@Ручная коррекция
protected void onCreate(Bundle savedInstanceState) {
super. onCreate(savedInstanceState);
setContentView(R. layout.activity_main);
Панель инструментов панель инструментов = (панель) команду findViewById(Р. ИД.панель инструментов);
setSupportActionBar (панель инструментов);
Т1 = (виджет TextView) findViewById, чтобы найти(ИД Р..виджет TextView);
Т1.setMovementMethod(новый ScrollingMovementMethod());
pg1 = (ProgressBar) findViewById(R. id. progressBar);
pg1. setVisibility (вид.НЕВИДИМЫЙ);
task = new ArrayList< & gt;();
// for (int i = 0; i {
@Ручная коррекция
охраняемых недействительными onPreExecute() {
// updateDisplay ("запуск задачи");
if (task. size() == 0) {
pg1. setVisibility (вид.ВИДИМЫЙ);
}
задача. добавить(это);
}
@Ручная коррекция
защищенная строка doInBackground(String... параметры) {
// for (int i = 0; i < params. length; i++) {
// publishProgress ("выполнение задачи" + params[i]);
// попробуй {
// Thread. sleep(1000);
// } catch (InterruptedException e) {
// д. печатные();
// }
// }
String content = HttpManager. getData(params[0]);
вернуться содержанию;
}
@Ручная коррекция
protected void onPostExecute (строка s) {
// flowerlist = FlowerJSONParser.parseFeed(s);
customerlist = CustomerJSONParser.parseFeed(s);
updateDisplay();
// updateValue();
задача. удалить (это);
if (task. size() == 0) {
pg1. setVisibility (вид.НЕВИДИМЫЙ);
}
}
@Ручная коррекция
protected void onProgressUpdate (String... ценности) {
// updateDisplay(значения[0]);
}
}
}
-----------------------------------------------------------
JSOPNPARSER.java
пакет com.пример.Гаурав.каталог;
импорт орг.в формате JSON.JSONArray;
импорт орг.в формате JSON.JSONException;
импорт орг.в формате JSON.JSONObject;
импорт java.util.список ArrayList;
импорт java. util. List;
публичный класс CustomerJSONParser {
public static List parseFeed(String content) {
пробовать {
JSONArray ar = новый JSONArray (контент);
Список клиентов = новый ArrayList< & gt;();
for (int i = 0; i < ar. length (); i++) {
JSONObject параметр obj = АР.getJSONObject(я);
Клиент клиент = новый клиент();
customer.setCustomerid(obj. getString ("customerId"));
поддержки.setCompanyname(объект.и getString("название организации"));
customer.setContact(obj. getString ("контакт"));
customer. setAddress(obj. getString ("адрес"));
customer.setCity (obj. getString ("город"));
поддержки.setPostalcode(объект.метода getString("почтовый индекс"));
поддержки.setCountry(объект.и getString("страна"));
customer. setPhone(obj. getString ("телефон"));
поддержки.setFax(объект.и getString("факс"));
customer.setRegion(obj. getString ("регион"));
клиентов.добавить(заказчик);
}
возвращение клиентов;
} catch (JSONException e) {
е.печатные();
возвращать null;
}
}
}
-----------------------------------------
Customer.java
package com.example.gaurav.catalog; public class Customer { private String customerid; private String companyname; private String contact; private String contacttitle; private String address; private String city; private String postalcode; private String country; private String phone; private String fax; private String region; public String getCustomerid() { return customerid; } public void setCustomerid(String customerid) { this.customerid = customerid; } public String getCompanyname() { return companyname; } public void setCompanyname(String companyname) { this.companyname = companyname; } public String getContact() { return contact; } public void setContact(String contactname) { this.contact = contact; } public String getContacttitle() { return contacttitle; } public void setContacttitle(String contacttitle) { this.contacttitle = contacttitle; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getPostalcode() { return postalcode; } public void setPostalcode(String postalcode) { this.postalcode = postalcode; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getFax() { return fax; } public void setFax(String fax) { this.fax = fax; } public String getRegion() { return region; } public void setRegion(String region) { this.region = region; } }
Richard MacCutchan
Пожалуйста, правильно отформатируйте весь ваш код, а также объясните, где именно происходит ошибка.
David Crow
В дополнение к комментарию Ричарда я бы предложил удалить все, кроме соответствующего кода. Ненужный код просто мешает.