GetFriendsActivity.java :  » Location » my-friends-pittsburgh-sis » com » project » v1 » Android Open Source

Android Open Source » Location » my friends pittsburgh sis 
my friends pittsburgh sis » com » project » v1 » GetFriendsActivity.java
package com.project.v1;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

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



import android.app.Activity;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.widget.ListView;
import android.widget.Toast;

public class GetFriendsActivity extends Activity{
  
    private Double latitude;
    private Double longitude ;
    private MyFriend friend= new MyFriend();
    List<MyFriend> result = new ArrayList<MyFriend>();    
    int i=0;
    
    public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          /*Toast.makeText(getBaseContext(),
                    "Fetching my friends list from the server", 
                    Toast.LENGTH_LONG).show();
                    */
          try {
        sendInfo();
      } catch (IOException e) {
        // TODO Auto-generated catch block
        Toast.makeText(getBaseContext(),
                      "Error sending data", 
                      Toast.LENGTH_LONG).show();
        e.printStackTrace();
      }
      displayFriendsList();
    }
      
      public String getDeviceId(){
         TelephonyManager mTelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
         String deviceId = null;
           try{
         deviceId = mTelephonyMgr.getDeviceId();
           }
           catch(Exception e){
             e.printStackTrace();
           }
           
           if(deviceId.equalsIgnoreCase("000000000000000"))
               return("007");
           else if(deviceId.equals(null))
             return("007");
           else             
             return(deviceId);
      }
      
      /*public JSONArray getJsonFriendList() throws JSONException {
          List<JSONObject> jsonFriends = new ArrayList<JSONObject>();
          for (MyFriend mf : getMyDetails()) {
            jsonFriends.add(mf.toJson());
          }
          
          return new JSONArray(jsonFriends);
          }*/
      
      
    private String getMyDetails() {
            Bundle bundle = getIntent().getExtras();
            if (bundle != null) {
                   latitude  = bundle.getDouble("latitude");
                   longitude = bundle.getDouble("longitude");
                  }
                  float lat = latitude.floatValue();
              float lon = longitude.floatValue();
              String deviceId = getDeviceId();
              Date date = new Date();
              String timeStamp = date.toString();
            return ("myDeviceId="+deviceId+"&latitude="+lat+"&longitude="+lon+"&timeStamp="+timeStamp);
      
    }
    private void displayFriendsList() {
      
      /*Toast.makeText(this, 
              "Done adding it in the list", 
                  Toast.LENGTH_SHORT).show();
      */
        setContentView(R.layout.listmain);
      
        ListView list = (ListView)findViewById(R.id.list1);
        MyFriendAdapter adapter = new MyFriendAdapter(this, result);
        list.setAdapter(adapter);
         
    }
    
      public void sendInfo() throws IOException {
        
        
        OutputStreamWriter writer = null;
        BufferedReader reader = null;
        String receivedData = null;
        
      try{
        URL url = new URL("http://10.0.2.2:28503/MainServer/GetFriendsServlet");//this is the localhost address
        URLConnection conn = url.openConnection();
          
          conn.setDoOutput(true);
          /*Toast.makeText(getBaseContext(), 
                      "connection set", 
                      Toast.LENGTH_SHORT).show();*/
          writer = new OutputStreamWriter(conn.getOutputStream());
          
          String myDetails = getMyDetails();
          writer.write(myDetails);
          writer.flush();
          Toast.makeText(getBaseContext(), 
                      "Sent mydetails:"+myDetails, 
                      Toast.LENGTH_LONG).show();
          
          reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
          receivedData = reader.readLine();
          if(receivedData.equals("Failed To Connect To Server. Please Try Again Later...") || receivedData.equals("Sorry You Have No Friends. Please Add Some Before Using This Service...") || receivedData.startsWith("Sorry You Have No Friends. Please Add Some Before Using This Service...")){
            Toast.makeText(getBaseContext(), 
                          receivedData, 
                          Toast.LENGTH_LONG).show();
            finish();  
          }
          else if(receivedData.equals("Receiving Friends List")){
            String receivedList = reader.readLine();
            /*Toast.makeText(getBaseContext(), 
                          receivedData+receivedList, 
                          Toast.LENGTH_LONG).show();*/
            convertJsonToArray(receivedList);
              
          }
          else{
            String receivedData1 = "Sorry You Have No Friends. Please Add Some Before Using This Service...";
            Toast.makeText(getBaseContext(), 
                    receivedData1, 
                    Toast.LENGTH_LONG).show();
            finish();
            
          }
          
          
            
      }
      catch (Exception e){
        Toast.makeText(getBaseContext(), 
                      "Some error here:"+e.getLocalizedMessage()+e.getMessage(), 
                      Toast.LENGTH_LONG).show();
        
        e.printStackTrace();
        reader.close();
      }

        finally{
        writer.close();
          
          
      }
      return;
    }
    
    private void convertJsonToArray(String readLine) {
      try {
         JSONObject friends = new JSONObject(readLine);
         JSONArray friendArray = friends.getJSONArray("MyFriends");
         MyFriend obj = new MyFriend();
         for (int i = 0; i < friendArray.length(); i++) {
         JSONObject fj = friendArray.getJSONObject(i);
         obj = friend.jsonToMyFriend(fj);
         /*Toast.makeText(getBaseContext(), 
                        "Adding name:"+obj.getFName()+" in the list", 
                        Toast.LENGTH_LONG).show();*/
          
         result.add(new MyFriend(obj.getFName(),obj.getLName(),obj.getLatitude(),obj.getLongitude(),obj.getTimeStamp(),obj.getDeviceId()));
         
         }
         
         } catch (JSONException ex) {
           ex.printStackTrace();
         throw new Error("Could not understand server response.", ex);
         }
        
      }

    /*public String myDetails(){
          try{
            JSONObject root = new JSONObject();
            JSONArray jsonFriends = new JSONArray();

            jsonFriends = getJsonFriendList();
            root.put("MyFriends",jsonFriends);

            return root.toString();
          }
          catch(Exception e){
            throw new Error("Could not convert MyFriends list", e);
          }
        }*/
      

}
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.