• Jadilah orang yang sesederhana mungkin yang kamu bisa
  • Jadilah orang yang sesederhana mungkin yang kamu bisa
  • Jadilah orang yang sesederhana mungkin yang kamu bisa
  • Jadilah orang yang sesederhana mungkin yang kamu bisa

Search

Loading...

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

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.




Related Post



9 comments:

  1. Thanks mas... sangat berguna...
    ^^

    ReplyDelete
  2. @technoarticle : Sephh, sama-sama :)

    ReplyDelete
  3. Mas, mau tanya, kenapa ya twitternya kadang muncul kadang gak muncul....
    trus yang mau saya tanyain, perintah di
    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();
    }
    }

    artinya apa ya mas ?
    yang 200 itu apa ?
    thanks ya...

    ReplyDelete
  4. @technoarticle : Kadang muncul kadang gak itu tergantung koneksinya.

    Kalau kodingan itu buat ngepasring tweet-nya, if (statusCode == 200) nah jadi ntar yang di parsing itu 200 tweet teakhir. Jadi yang ditampilin di aplikasi ntar ada 200 tweet.

    ReplyDelete
  5. mas ga tampil sama sekali kenapa ya?

    ReplyDelete
  6. kok gbsa jalan ya?? error pada JSON.java

    ReplyDelete
  7. mas ko saya compiler sourcode nya masih error di bagian proguar.cfg nya
    dibagian coding yg ini
    -keepclasseswithmembernames class * {
    public (android.content.Context, android.util.AttributeSet);

    kira" kenapa ya gan??
    jika berkenan kirim email di widy64@gmail.com
    terimakasih sebelumnya gan

    ReplyDelete
  8. Very nice article :-)

    FREE Create, Upload dan Publish APK ke Google Play Store GRATIS via SantriPlay
    visit: gontorpedia.com/SantriPlay

    ReplyDelete

Copyright © 2015 priawadi.com All Rights Reserved.