Android Open Source - PhotoToDucksboard Ducksboard Api






From Project

Back to project page PhotoToDucksboard.

License

The source code is released under:

Copyright (c) 2012 Jan Urbanski 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 Softw...

If you think the Android project PhotoToDucksboard 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.ducksboard.photo;
/*  ww  w.  j av a  2 s  .  c  om*/
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import org.json.JSONException;
import org.json.JSONObject;

import android.util.Base64;


public class DucksboardApi {

    private static final String APIHOST = "https://app.ducksboard.com/api/";
    private static final String PUSHHOST = "https://push.ducksboard.com/v/";

    private String username;
    private String password;

    public DucksboardApi(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public DucksboardApi(String apiKey) {
        this.username = apiKey;
        this.password = "x";
    }

    public JSONObject apiCall(String endpoint) throws IOException,
            JSONException {
        URL url = new URL(getApiUrl(endpoint));
        HttpURLConnection connection = connect(url);
        InputStream in = new BufferedInputStream(connection.getInputStream());
        JSONObject resp = parseResponse(in);
        connection.disconnect();
        return resp;
    }

    public void push(String label, String payload) throws IOException {
        URL url = new URL(getPushUrl(label));
        HttpURLConnection connection = connect(url);
        connection.setDoOutput(true);
        connection.setRequestMethod("POST");
        connection.setFixedLengthStreamingMode(payload.length());

        OutputStream out = new BufferedOutputStream(
                connection.getOutputStream());
        out.write(payload.getBytes());
        out.flush();

        connection.getResponseCode();
        connection.disconnect();
    }

    protected String getApiUrl(String endpoint) {
        return APIHOST + endpoint;
    }

    protected String getPushUrl(String label) {
        return PUSHHOST + label;
    }

    protected HttpURLConnection connect(URL url) throws IOException {
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        String auth = "Basic "
                + Base64.encodeToString((username + ":" + password).getBytes(),
                        Base64.NO_WRAP);
        connection.setRequestProperty("Authorization", auth);
        return connection;
    }

    protected JSONObject parseResponse(InputStream in) throws IOException,
            JSONException {
        StringBuilder builder = new StringBuilder();
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));

        String line;
        while ((line = reader.readLine()) != null) {
            builder.append(line);
        }

        return new JSONObject(builder.toString());
    }
}




Java Source Code List

com.ducksboard.photo.ApiKeyCredentials.java
com.ducksboard.photo.ConfigurationActivity.java
com.ducksboard.photo.Credentials.java
com.ducksboard.photo.DucksboardApi.java
com.ducksboard.photo.ImageResizer.java
com.ducksboard.photo.SaveConfiguration.java
com.ducksboard.photo.SendImage.java
com.ducksboard.photo.SendInfo.java
com.ducksboard.photo.ShareActivity.java
com.ducksboard.photo.UserInfo.java
com.ducksboard.photo.UserPasswordCredentials.java
com.ducksboard.photo.WidgetInfoAdapter.java
com.ducksboard.photo.WidgetInfo.java
com.ducksboard.photo.WidgetsListLoad.java