Android Open Source - AndroidShoppingList Rest Helper






From Project

Back to project page AndroidShoppingList.

License

The source code is released under:

Apache License

If you think the Android project AndroidShoppingList 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

/**
 * Copyright 2012 C. A. Fitzgerald//from  w w w. ja  v  a  2s.c om
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 */

package com.github.riotopsys.shoppinglist.server;

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;

import android.util.Log;

public class RestHelper {

  private static final String TAG = RestHelper.class.getSimpleName();
  private String mToken;

  public RestHelper(String token) {
    mToken = token;
  }

  public RestResult<String> get(URL url) {
    HttpURLConnection con = null;
    RestResult<String> result = new RestResult<String>();
    try {
      con = (HttpURLConnection) url.openConnection();
      con.addRequestProperty("Authorization", mToken);
      con.addRequestProperty("Content-Type", "application/json");

      result.result = readToString(con);
      result.code = con.getResponseCode();

    } catch (Exception e) {
      Log.e(TAG, "get", e);
    } finally {
      if (con != null) {
        con.disconnect();
      }
    }

    return result;
  }

  public RestResult<String> post(URL url, String data) {
    HttpURLConnection con = null;
    RestResult<String> result = new RestResult<String>();
    try {

      con = (HttpURLConnection) url.openConnection();
      con.addRequestProperty("Authorization", mToken);
      con.addRequestProperty("Content-Type", "application/json");

      con.setRequestMethod("POST");
      con.setDoOutput(true);

      OutputStreamWriter wr = new OutputStreamWriter(con.getOutputStream());
      if ( data != null ){
        wr.write(data);
      }
      wr.flush();
      wr.close();

      result.result = readToString(con);
      result.code = con.getResponseCode();

    } catch (Exception e) {
      Log.e(TAG, "post", e);
    } finally {
      if (con != null) {
        con.disconnect();
      }
    }
    return result;
  }

  private String readToString(HttpURLConnection con) throws IOException {
    StringBuffer sb = new StringBuffer();
    InputStreamReader rd;
    if (con.getResponseCode() >= 400) {
      rd = new InputStreamReader(con.getErrorStream());
    } else {
      rd = new InputStreamReader(con.getInputStream());
    }
    char[] buf = new char[128];
    int read;
    while ((read = rd.read(buf)) > 0) {
      sb.append(buf, 0, read);
    }
    return sb.toString();
  }

  public RestResult<String> delete(URL url) {
    HttpURLConnection con = null;
    RestResult<String> result = new RestResult<String>();
    try {
      con = (HttpURLConnection) url.openConnection();
      con.addRequestProperty("Authorization", mToken);
      
      con.setRequestMethod("DELETE");
      con.setDoOutput(true);

      result.result = readToString(con);
      result.code = con.getResponseCode();

    } catch (Exception e) {
      Log.e(TAG, "get", e);
    } finally {
      if (con != null) {
        con.disconnect();
      }
    }

    return result;
  }

}




Java Source Code List

com.github.riotopsys.shoppinglist.AppKeys.java
com.github.riotopsys.shoppinglist.GCMIntentService.java
com.github.riotopsys.shoppinglist.IConfigurations.java
com.github.riotopsys.shoppinglist.activity.ListItemEdit.java
com.github.riotopsys.shoppinglist.activity.ShoppingListPreview.java
com.github.riotopsys.shoppinglist.adapter.ShoppingListAdapter.java
com.github.riotopsys.shoppinglist.adapter.ShoppingListCollectionAdapter.java
com.github.riotopsys.shoppinglist.comparator.ListItemNameComparator.java
com.github.riotopsys.shoppinglist.comparator.ListNameComparator.java
com.github.riotopsys.shoppinglist.fragment.ShoppingListFragment.java
com.github.riotopsys.shoppinglist.listener.CheckedChangeListener.java
com.github.riotopsys.shoppinglist.model.DatabaseHelper.java
com.github.riotopsys.shoppinglist.model.DigestRecord.java
com.github.riotopsys.shoppinglist.model.PersistedRecord.java
com.github.riotopsys.shoppinglist.model.ShoppingListCollection.java
com.github.riotopsys.shoppinglist.model.ShoppingListItem.java
com.github.riotopsys.shoppinglist.model.ShoppingList.java
com.github.riotopsys.shoppinglist.model.Work.java
com.github.riotopsys.shoppinglist.server.DigestCollection.java
com.github.riotopsys.shoppinglist.server.RestHelper.java
com.github.riotopsys.shoppinglist.server.RestResult.java
com.github.riotopsys.shoppinglist.server.ServerInterfaceService.java
com.github.riotopsys.shoppinglist.server.ServerTask.java
com.github.riotopsys.shoppinglist.server.UrlBuilder.java
com.github.riotopsys.shoppinglist.server.work.Operations.java
com.github.riotopsys.shoppinglist.server.work.WorkQueue.java
com.github.riotopsys.shoppinglist.utils.AccountUtils.java