Android Open Source - pocket4android Pocket Activity






From Project

Back to project page pocket4android.

License

The source code is released under:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, includin...

If you think the Android project pocket4android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.hyperionics.PocketTestBrowser;
/*from w ww  .ja  va  2 s . c om*/
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import com.aokyu.dev.pocket.*;
import com.aokyu.dev.pocket.content.Page;
import com.aokyu.dev.pocket.error.PocketException;
import org.json.JSONException;

import java.util.ArrayList;

/**
 * Created by greg on 7/31/2014.
 * To run this, insert your actual Pocket Consumer Key below,
 * at the line which says:
 *     ConsumerKey consumerKey = new ConsumerKey("Your consumer key");
 * and modify AndroidManifest.xml at the line which says:
 *     <data android:scheme="pocketappXXXXX" />
 * replacing XXXXX with the 5 digit number at the start of your consumer key.
 */
public class PocketActivity extends AuthCallbackActivity {
    static String TAG = "PocketTest";
    ConsumerKey consumerKey = new ConsumerKey("Your consumer key");
    PocketClient pocketClient = new PocketClient(consumerKey);
    AccessToken myAccessToken = null;
    ArrayList<Page> myPages;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pocket_activity);
        pocketLogin(null);
    }

    public void onRetrieve(View v) {
        if (myAccessToken == null) {
            Lt.alert(this, "Please log-on to Pocket first.");
            return;
        }
        AndyUtil.bgTask(this, true, "PocketTest", "Retrieving items...", new AndyUtil.OpCallback() {
            @Override
            public boolean runInBg() {
                try {
                    myPages = new ArrayList<Page>();
                    int count = 10;
                    int offset = 0;
                    RetrieveResponse response;
                    do {
                        RetrieveRequest rrq = new RetrieveRequest.Builder()
                                // .setSince(lastRequest)
                                // .setTag("tts_tag")
                                .setContentType("article")
                                .setDetailType("simple") // or "complete"
                                .setCount(count)
                                .setOffset(offset)
                                .build();
                        response = pocketClient.retrieve(myAccessToken, rrq);
                        if (response == null)
                            break;
                        myPages.addAll(response.getItems());
                        offset += response.size();
                    } while (response.size() == count);
                } catch (PocketException pe) {
                    // ignore and return true - happens if there are no more articles (pages) to return from Pocket
                } catch (Exception e) {
                    Lt.e("Retrieve exception: " + e);
                    e.printStackTrace();
                    return false;
                }
                return true;
            }

            @Override
            public void onFinished(boolean result) {
                if (myPages != null) {
                    Lt.d("RetrieveResponse size: " + myPages.size());
                    for (Page p : myPages) {
                        Lt.d(p.getGivenUrl() + " : " + p.getResolvedTitle());
                    }
                }
            }
        });
    }

    public void onAuthorizationFinished(final RequestToken requestToken) {
        AndyUtil.bgTask(this, false, null, null, new AndyUtil.OpCallback() {
            @Override
            public boolean runInBg() {
                try {
                    myAccessToken = pocketClient.authenticate(requestToken);
                } catch (Exception e) {
                    Lt.e("Pocket auth exception: " + e);
                    e.printStackTrace();
                    return false;
                }
                return true;
            }

            @Override
            public void onFinished(boolean result) { }
        });
    }

    public void pocketLogin(View v) {
        AndyUtil.bgTask(this, false, null, null, new AndyUtil.OpCallback() {
            @Override
            public boolean runInBg() {
                try {
                    pocketClient.authorize(PocketActivity.this);
                } catch (Exception e) {
                    Log.e(TAG, "Pocket auth exception: " + e);
                    e.printStackTrace();
                    return false;
                }
                return true;
            }

            @Override
            public void onFinished(boolean result) { }
        });

    }
}




Java Source Code List

com.aokyu.dev.pocket.AccessToken.java
com.aokyu.dev.pocket.AddRequest.java
com.aokyu.dev.pocket.AddResponse.java
com.aokyu.dev.pocket.AuthCallbackActivity.java
com.aokyu.dev.pocket.AuthRequestParameter.java
com.aokyu.dev.pocket.AuthResponseParameter.java
com.aokyu.dev.pocket.AuthorizationCallback.java
com.aokyu.dev.pocket.ClientLimit.java
com.aokyu.dev.pocket.ConsumerKey.java
com.aokyu.dev.pocket.ModifyRequest.java
com.aokyu.dev.pocket.ModifyResponse.java
com.aokyu.dev.pocket.PocketClient.java
com.aokyu.dev.pocket.PocketServer.java
com.aokyu.dev.pocket.RateLimit.java
com.aokyu.dev.pocket.RequestToken.java
com.aokyu.dev.pocket.Request.java
com.aokyu.dev.pocket.Response.java
com.aokyu.dev.pocket.RetrieveRequestParameter.java
com.aokyu.dev.pocket.RetrieveRequest.java
com.aokyu.dev.pocket.RetrieveResponse.java
com.aokyu.dev.pocket.UserLimit.java
com.aokyu.dev.pocket.content.Image.java
com.aokyu.dev.pocket.content.MediaItem.java
com.aokyu.dev.pocket.content.Page.java
com.aokyu.dev.pocket.content.PocketItem.java
com.aokyu.dev.pocket.content.Video.java
com.aokyu.dev.pocket.error.ErrorCode.java
com.aokyu.dev.pocket.error.ErrorHandler.java
com.aokyu.dev.pocket.error.ErrorResponse.java
com.aokyu.dev.pocket.error.InvalidRequestException.java
com.aokyu.dev.pocket.error.PocketException.java
com.aokyu.dev.pocket.http.ContentType.java
com.aokyu.dev.pocket.http.HttpClient.java
com.aokyu.dev.pocket.http.HttpHeader.java
com.aokyu.dev.pocket.http.HttpHeaders.java
com.aokyu.dev.pocket.http.HttpMethod.java
com.aokyu.dev.pocket.http.HttpParameters.java
com.aokyu.dev.pocket.http.HttpRequest.java
com.aokyu.dev.pocket.http.HttpResponse.java
com.aokyu.dev.pocket.http.MessageBody.java
com.aokyu.dev.pocket.util.HttpUtils.java
com.aokyu.dev.pocket.util.JSONUtils.java
com.aokyu.dev.pocket.util.PocketUtils.java
com.hyperionics.PocketTest.AndyUtil.java
com.hyperionics.PocketTestBrowser.AndyUtil.java
com.hyperionics.PocketTestBrowser.Lt.java
com.hyperionics.PocketTestBrowser.PocketActivity.java
com.hyperionics.PocketTest.Lt.java
com.hyperionics.PocketTest.PocketActivity.java
com.hyperionics.PocketTest.SimpleBrowser.java