Android Open Source - coursera-android-001 Feed Fragment Data






From Project

Back to project page coursera-android-001.

License

The source code is released under:

MIT License

If you think the Android project coursera-android-001 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 course.labs.fragmentslab;
//w w w  . j  a v a  2 s .  c om
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

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

import android.content.Context;
import android.util.Log;
import android.util.SparseArray;

// Utility class that provides stored Twitter feed data 

public class FeedFragmentData {
  private static final String TAG = "FeedFragmentData";
  private static final int[] IDS = { R.raw.ladygaga, R.raw.rebeccablack,
      R.raw.taylorswift };
  
  private SparseArray<String> mFeeds = new SparseArray<String>();
  private Context mContext;
  
    
  public FeedFragmentData(Context context) {
    mContext = context;
    loadFeeds();
  }

  // Load all stored Twitter feeds into the mFeeds SparseArray. 
  
  private void loadFeeds() {

    for (int id : IDS) {

      InputStream inputStream = mContext.getResources().openRawResource(
          id);
      BufferedReader reader = new BufferedReader(new InputStreamReader(
          inputStream));

      StringBuffer buffer = new StringBuffer("");
      
      
      // Read raw data from resource file
      
      try {

        String line = "";
        while ((line = reader.readLine()) != null) {
        
          buffer.append(line);
        }
      
      } catch (IOException e) {
        Log.i(TAG, "IOException");
      }

      // Convert raw data into a String

      JSONArray feed = null;
      try {
        feed = new JSONArray(buffer.toString());
      } catch (JSONException e) {
        Log.i(TAG, "JSONException");
      }

      mFeeds.put(id, procFeed(feed));
    
    }
  }
  
  
// Convert JSON formatted data to a String
  
  private String procFeed(JSONArray feed) {

    String name = "";
    String tweet = "";

    // string buffer for twitter feeds
    StringBuffer textFeed = new StringBuffer("");

    for (int j = 0; j < feed.length(); j++) {
      try {

        tweet = feed.getJSONObject(j).getString("text");
        JSONObject user = (JSONObject) feed.getJSONObject(j)
            .get("user");
        name = user.getString("name");

      } catch (JSONException e) {

        Log.i(TAG, "JSONException while processing feed");
      }

      textFeed.append(name + " - " + tweet + "\n\n");
    }

    return textFeed.toString();
  }
  
// Return the Twitter feed data for the specified position as a single String
  
 String getFeed (int position) {
    
    return mFeeds.get(IDS[position]);
  
  }
}




Java Source Code List

course.labs.GraphicsLab.BubbleActivity.java
course.labs.activitylab.ActivityOne.java
course.labs.activitylab.ActivityTwo.java
course.labs.contentproviderlab.MockLocationProvider.java
course.labs.contentproviderlab.PlaceDownloaderTask.java
course.labs.contentproviderlab.PlaceRecord.java
course.labs.contentproviderlab.PlaceViewActivity.java
course.labs.contentproviderlab.PlaceViewAdapter.java
course.labs.contentproviderlab.provider.PlaceBadgeContentProvider.java
course.labs.contentproviderlab.provider.PlaceBadgesContract.java
course.labs.contentproviderlab.provider.PlaceBadgesContract.java
course.labs.dangerousapp.DangerousActivity.java
course.labs.fragmentslab.FeedFragmentData.java
course.labs.fragmentslab.FeedFragment.java
course.labs.fragmentslab.FriendsFragment.java
course.labs.fragmentslab.MainActivity.java
course.labs.intentslab.ActivityLoaderActivity.java
course.labs.intentslab.ExplicitlyLoadedActivity.java
course.labs.intentslab.mybrowser.MyBrowserActivity.java
course.labs.locationlab.MockLocationProvider.java
course.labs.locationlab.PlaceDownloaderTask.java
course.labs.locationlab.PlaceRecord.java
course.labs.locationlab.PlaceViewActivity.java
course.labs.locationlab.PlaceViewAdapter.java
course.labs.notificationslab.DownloaderTask.java
course.labs.notificationslab.FeedFragment.java
course.labs.notificationslab.FriendsFragment.java
course.labs.notificationslab.MainActivity.java
course.labs.notificationslab.SelectionListener.java
course.labs.notificationslab.TestFrontEndActivity.java
course.labs.permissionslab.ActivityLoaderActivity.java
course.labs.permissionslab.BookmarksActivity.java
course.labs.permissionslab.GoToDangerousActivity.java
course.labs.todomanager.AddToDoActivity.java
course.labs.todomanager.ToDoItem.java
course.labs.todomanager.ToDoListAdapter.java
course.labs.todomanager.ToDoManagerActivity.java