package de.stephanlindauer.criticalmaps.model; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.text.ParseException; import java.util.ArrayList; import java.util.List; import de.stephanlindauer.criticalmaps.utils.TwitterUtils; import de.stephanlindauer.criticalmaps.vo.twitter.Tweet; public class TwitterModel { private List<Tweet> tweets = new ArrayList<>(); public void setTweetsFromJsonString(String tweetsString) throws JSONException, ParseException { tweets.clear(); JSONObject jsonObject = new JSONObject(tweetsString); JSONArray statusesArray = jsonObject.getJSONArray("statuses"); for (int i = 0, statusesArrayLength = statusesArray.length(); i < statusesArrayLength; i++) { JSONObject currentStatus = statusesArray.getJSONObject(i); final JSONObject user = currentStatus.getJSONObject("user"); Tweet tweet = new Tweet() .setUserName(user.getString("name")) .setUserScreenName(user.getString("screen_name")) .setTweetId(currentStatus.getString("id_str")) .setText(currentStatus.getString("text")) .setTimestamp(TwitterUtils.getTwitterDate(currentStatus.getString("created_at"))) .setProfileImageUrl(user.getString("profile_image_url_https")); tweets.add(tweet); } } public List<Tweet> getTweets() { return tweets; } }