Skip to content

app-z/Iconfinder

Repository files navigation

Iconfounder

Iconfounder Android client demo App

See description on habrhabr http://habrahabr.ru/post/254801/

Api iconfinder.com https://developer.iconfinder.com/api/2.0/index.html

Google Play https://play.google.com/store/apps/details?id=net.appz.iconfounder

This just demo how to parse feed with Volley Loader and use Fragments

public class DataLoader extends Loader<DataHolder> {

...

    @Override
    public void onForceLoad() {
        super.onForceLoad();
        if ( DEBUG ) Log.d(TAG, "Loader onForceLoad() : feedUrl = " + urlFeed);
        doRequest(DataHolder.getClazz(getId()));
    }

    /**
     *
     * Get Data
     */
    private void doRequest(Class<?> clazz) {
        final GsonRequest gsonRequest = new GsonRequest(urlFeed,
                clazz,
                null,
                new Response.Listener<DataHolder.DataHolderItem>() {
            @Override
            public void onResponse(DataHolder.DataHolderItem data) {
                dataHolder.setData(getId(), data);
                deliverResult(dataHolder);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {
                if (volleyError != null)
                    if (DEBUG) Log.e(TAG, "volleyError: " + volleyError.getMessage());
                deliverResult(null);
            }
        });
        requestQueue.add(gsonRequest);
    }

For pass argument to Fragment all custom nested classes should be Parceble (or Serilize)

public class Iconset implements Parcelable {
...

Then simple replace your Fragment through FragmentManager

    private void fillIconSets(Iconsets iconsets, final int position) {
        for(Iconset iconset : iconsets.getIconsets()){
            Log.d(TAG, iconset.getName());
        }
        // update the main content by replacing fragments
        FragmentManager fragmentManager = getSupportFragmentManager();
        fragmentManager.beginTransaction()
                .replace(R.id.container, PlaceholderFragment.newInstance(position, iconsets))
                .commit();
    }

    private void fillIcons(Icons icons) {
        // update the main content by replacing fragments
        FragmentManager fragmentManager = getSupportFragmentManager();
        fragmentManager.beginTransaction()
                .replace(R.id.container, IconsGridFragment.newInstance(icons))
                .commit();
    }

About

Iconfinder Android client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages