Parsing timeline twitter with JSON | Android
Masih di minggu-minggu GALAU presentasi project dan UAS. Saya mau sharing-sharing dulu potongan-potongan kodingan yang bakalan saya pake buat project saya nantinya. Itung-itung bagi-bagi pengetahuan sama temen-temen dan juga sebagai catatan online bagi saya. :p
Skrinsut :
NB : Untuk yang warna merah, teman-teman bisa ganti dengan timeline apa yang mau teman-teman parsing. Kalau saya, parsing timeline-nya twitter BLUTransJakarta.
Gimana?? Udah bisa belum?? Haha, untuk lebih mudahnya download aja projectnya dimari.
Adapun yang mau saya bagi adalah cara Parsing timeline twitter dengan JSON untuk Android. Nah jadi intinya kita mau parsing twit-twitnya sasaran (ngomongnya sasaran... :p) kita supaya bisa ditampilin di Android kesayangan. Adapun caranya :
- Di Android manifest-nya jangan lupa tambahkan <uses-permission android:name="android.permission.INTERNET" /> dulu supaya nanti kita punya hak akses buat internet.
- Untuk di Main.xml-nya
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/json"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:autoLink = "all"
/>
</ScrollView>
- Nahh yang terakhir yang paling penting nih, kodingan [dot]java-nya
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class JSON extends Activity {
TextView json;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String twitterTimeline = getTwitterTimeline();
try {
String tweets = "";
JSONArray jsonArray = new JSONArray(twitterTimeline);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
tweets +="Transjakarta \n";
tweets += "" + jsonObject.getString("text") + "\n\n";
}
json= (TextView)findViewById(R.id.json);
json.setText(tweets);
} catch (JSONException e) {
e.printStackTrace();
}
}
public String getTwitterTimeline() {
StringBuilder builder = new StringBuilder();
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://twitter.com/statuses/user_timeline/BLUTransJakarta.json");
try {
HttpResponse response = client.execute(httpGet);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
} else {
//Couldn't obtain the data
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return builder.toString();
}
}
Skrinsut :
Twit-nya BLUTransjakarta |
NB : Untuk yang warna merah, teman-teman bisa ganti dengan timeline apa yang mau teman-teman parsing. Kalau saya, parsing timeline-nya twitter BLUTransJakarta.
Gimana?? Udah bisa belum?? Haha, untuk lebih mudahnya download aja projectnya dimari.
No comments