JSON API News reader

poruka: 2
|
čitano: 5.553
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
11 godina
offline
JSON API News reader

Pozz, može li mi itko reći gdje mogu naći api za bilo koji sport, pošto trebam news reader za bilo koju kategoriju sporta.

Zanima me kako mogu parsirati podatke?

 

Pokušao sam raditi po ovome primjeru ali ne radi mi?

http://www.androidhive.info/2012/01/android-json-parsing-tutorial/

 

Mislio sam to napraviti da mi se prvo prikaze listView (gdje su prikazane osnovne informacije) klikom na pojedini item u listView-u da mi se otvori čitava vijest o sportu.

Mogu li podatke pohraniti u DataStorage ikako ima li igdje kakav primjer?

 
0 0 hvala 0
11 godina
offline
JSON API News reader

Evo pokusao sam ali sa API-jem za tele kontakte, ali ne izbaciva mi error nego u log catu javi da je:

 

W/JsonHttpResponseHandler﹕ onSuccess(int, Header[], JSONObject) was not overriden, but callback was received

 

http://api.androidhive.info/contacts/

 

Klasa DataStorage

 

public class DataStorage {

   public static Contact[] contact;

 

}

 

Klasa contacts

 

public class Contact

{

   public String id;

   public String name;

   public String email;

   public String address;

   public String gender;

   public Phone phone;

   public class Phone

   {

     public String mobile;

     public String home;

     public String office;

   }

   public class RootObject

   {

     public List<Contact> contacts;

   }

 

}

 

 

Klasa Adapter

 

public class Adapter extends BaseAdapter {

 

   private Context mojContext;

   public  Adapter(Context context){

     this.mojContext = context;

 

   }

 

 

 

   @Override

   public int getCount() {

     return DataStorage.contact.length;

   }

 

   @Override

   public View getView(int i, View view, ViewGroup viewGroup) {

 

     View mojItemView;

     if (view == null){

       LayoutInflater mojInflater = (LayoutInflater) this.mojContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

 

       mojItemView = mojInflater.inflate(R.layout.new_layout, viewGroup, false);

       Log.i("VJEZBE", "NOVI view je napravljen na pozicji " + Integer.toString(i));

     }

 

     else{

       mojItemView = view;

       Log.i("VJEZBE", "NOVI view je napravljen na poziciji " + Integer.toString(i));

     }

 

     TextView id = (TextView) mojItemView.findViewById(R.id.id);

     TextView name = (TextView) mojItemView.findViewById(R.id.name);

 

 

     Contact contact = DataStorage.contact[i];

 

     id.setText(contact.id);

     name.setText(contact.name);

 

     return mojItemView;

 

 

   }

 

 

Klasa MyActivity

 

public class MyActivity extends Activity {

   /**

   * Called when the activity is first created.

   */

   @Override

   public void onCreate(Bundle savedInstanceState) {

     super.onCreate(savedInstanceState);

     setContentView(R.layout.main);

 

     final ListView myList = (ListView) findViewById(R.id.listView);

 

     AsyncHttpClient httpClient = new AsyncHttpClient();

     Log.d("Vjezba","Ovdje sam");

 

     httpClient.get("http://api.androidhive.info/contacts/", null,

         new JsonHttpResponseHandler()

         {

           @Override

           public void onSuccess(int statusCode, Header[] headers, JSONArray response) {

             // the JSONArray object is now ready

             Log.d("HTTP_RESPONSE", response.toString());

 

             Gson myGson = new Gson();

             DataStorage.contact = myGson.fromJson(response.toString(), Contact[].class);

 

             Log.d("HTTP_RESPONSE", response.toString());

 

             myList.setAdapter(new Adapter(getApplicationContext()));

 

 

           }

 

         }

     );

 

 

   }

 

}

Poruka je uređivana zadnji put pon 29.12.2014 14:14 (Xyloto).
 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice