sangaur Ответов: 0

Получение значений страниц 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

В дополнение к комментарию Ричарда я бы предложил удалить все, кроме соответствующего кода. Ненужный код просто мешает.

0 Ответов