SMSPostUtility.java :  » SMS » smspost » com » myprogram » util » Android Open Source

Android Open Source » SMS » smspost 
smspost » com » myprogram » util » SMSPostUtility.java
package com.myprogram.util;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;

import com.myprogram.smspost.R;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.util.Log;

public class SMSPostUtility{
  public Uri allMessage;
  public Context context;
  
  public SMSPostUtility(Context ctx){
    //constructor
    context = ctx;
    allMessage = Uri.parse("content://sms/");
  }  
  
  public String postMessage(){
  
        Cursor c = context.getContentResolver().query(allMessage, null, null, null, null);
        Log.d(Const.TAG, " Completed reading all messages");
        
        SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd-hh.mm.ss");
        String msg = ""; 
        int n=0;
        while (c.moveToNext()){
                   
          List<NameValuePair> nvps = new ArrayList<NameValuePair>();
            nvps.add(new BasicNameValuePair("message[from]", c.getString(2)));
            nvps.add(new BasicNameValuePair("message[body]", c.getString(11)));
            nvps.add(new BasicNameValuePair("message[received_at]", formater.format(c.getDouble(4))));
            
            //String url = "http://susa.heroku.com/messages";
            String url = context.getString(R.string.siteUrl);
            //call getRequest
           
            if (!getRequest(nvps, url)){ // if there is error in posting the message
              msg = "Error occured while posting message to website: " + context.getString(R.string.siteUrl);
              return msg;
            }
            
            n=n+1;
        }
        msg = n + " message(s) posted to the server";
        //if message posted successfully,  delete messages from the inbox
        deleteMessage();
        return msg ;
  }
  
  public void deleteMessage(){
    context.getContentResolver().delete(allMessage, null, null);
    Log.d(Const.TAG, " Deleted all messages");
  }
  public boolean getRequest(List<NameValuePair> nvps, String url){
        try{
          
            HttpClient client = new DefaultHttpClient();
            HttpPost request = new HttpPost(url);
            
            request.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));            
            HttpResponse response = client.execute(request);
            Log.d(Const.TAG, "HTTP Post Status: " + response.getStatusLine());
            
           }catch(Exception ex){
             //ex.printStackTrace();
             Log.e(Const.TAG, "Error: " + ex.getMessage());
             return false;
         }
         return true;  
    }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.