tcpdump

Hari ini saya belajar cara membaca tcp dump file (pcap) dengan menggunakan tcpick, wah menarik ternyata; Oleh karena itu hati-hati kalau menggunakan public wi-fi jangan-jangan ada sniffer yang ngedump aktivitas online kita (misalnya: jangan sembarangan login tanpa https di saat koneksi di pulic wifi)

Android: ViewPager PageTransformer seperti pada aplikasi Kurio

disclaimer: saya belum pernah mengakses source code Kurio maupun melakukan reverse engineering terhadap aplikasi tersebut.

Postingan kali ini, saya ingin share gimana caranya membuat animasi page transition seperti di aplikasi Kurio.
Di aplikasi kurio, ada dua jenis animasi page transition:
1. saat kita melakukan navigasi dari satu title berita ke title berita yang lain. animasi yang dilakukan adalah dengan merotasi halaman dengan pivot ujung kanan-bawah halaman.
2. saat kita membaca satu berita dari satu halaman ke halaman berikutnya. animasi yang dilakukan adalah dengan zoom in halaman berikutnya.

nah, untuk postingan bagian pertama ini saya hanya akan menunjukkan cara implementasi animasi jenis yang kedua.
Di android, jika kita menggunakan ViewPager dan ingin membuat animasi yang berbeda dengan animasi default untuk screen sliding antar pagenya, kita bisa melakukan dengan men-set PageTransformer; untung bagi kita, karena cara menggunakan interface PageTransformer ini juga sudah ada contohnya[1].

Permsalahannya, secara default ViewPager akan “menata” pages yang ada di dalamnya secara horizontal; Jadi kita harus melakukan sedikit modifikasi sehingga page menjadi tersusun secara vertical. Tidak perlu repot, ternyata sudah ada yang melakukan sedikit modifikasi sehingga ViewPager bisa tersusun secara vertical disini.

Selanjutnya, yang kita perlukan adalah page transformer sehingga page selanjutnya seakan-akan dimunculkan dari belakang layar sambil di zoom in. Berikut implementasi yang saya buat:

public class DepthPageTransformer implements PageTransformer {
    private static final float MIN_SCALE = 0.75f;

    public void transformPage(View view, float position) {
        int pageWidth = view.getWidth();
        int pageHeight = view.getHeight();

        if (position < -1) { // [-Infinity,-1)
            view.setAlpha(0);

        } else if (position <= 0) { // [-1,0]
            view.setAlpha(1);
            view.setTranslationX(0);
            view.setScaleX(1);
            view.setScaleY(1);

        } else if (position <= 1) { // (0,1]
            // Fade the page out.
//            view.setAlpha(1 - position);

            view.setTranslationY(pageHeight * -position);

            float scaleFactor = MIN_SCALE
                    + (1 - MIN_SCALE) * (1 - Math.abs(position));
            view.setScaleX(scaleFactor);
            view.setScaleY(scaleFactor);

        } else { // (1,+Infinity]
            view.setAlpha(0);
        }
    }
}

dengan men-set PageTransformer dalam view Pager seperti ini:

mPager.setPageTransformer(true, new DepthPageTransformer());

kita bisa menghasilkan animasi transisi seperti yang ada di aplikasi Kurio, berikut demo aplikasinya:

referensi:
1. http://developer.android.com/training/animation/screen-slide.html#pagetransformer

Pemiloe! Aplikasi Pemilu 2014 (Top 10 Finalis Hackathon Code for Vote)

Akhir pekan yang lalu, tanggal 8-9 Maret 2014, saya memaksakan diri untuk mengikuti hackathon di Telkom BDV. Acara hackathon dengan tema pemilu 2014 (Code for Vote) ini diadakan oleh Perludem dan RumahPemilu.org; Tak disangka, ternyata pesertanya sangat banyak hingga 200 orang; awalnya saya agak pesimis karena mungkin saya salah satu dari sedikit peserta yang sendirian tidak dengan team. Saya bahkan sempat berfikir untuk pulang saja menemani Istri yang lagi sakit dan main sama Ahmad, anak kami :)

Tapi, karena sudah membulatkan tekat dan sudah izin istri jauh-jauh hari untuk berusaha dan berharap bisa menang di aplikasi ini (sehingga bisa bayar cicilan rumah dan beli obat untuk istri); saya memilih untuk melanjutkan dan menyelesaikan aplikasi ini dalam waktu kurang dari 24 jam; ya, saya merasa berusaha cukup keras di sini hingga hampir tidak tidur sama sekali untuk menyelesaikan aplikasinya mulai nol.

Meskipun masuk dalam 10 finalis, pada akhirnya aplikasi yang saya buat tidak termasuk top 5 apps yang mendapatkan hadiah; Sedih memang, tapi keputusan juri sudah final. Meski demikian, Saya tetap berencana mempublikasikan aplikasi yang sudah saya buat di Google Play Store, BlackBerry World, dan Nokia Ovi Store.

Pemiloe! Aplikasi Pemilu 2014

Aplikasi yang saya buat saya beri nama Pemiloe!, aplikasi ini bermanfaat memberikan informasi kepada pengguna mengenai partai politik peserta pemilu dengan detail, disamping itu dengan teknik geofencing aplikasi ini juga akan menampilkan daftar caleg dari satu partai di tempat penguna aplikasi berada. Misalnya, saat saya menjalankan aplikasi ini di Jakarta, kemudian saya mengakses partai Nasdem atau PKS misalnya, maka saya bisa melihat daftar caleg partai Nasdem atau PKS untuk DPR di daerah Jakarta tersebut; Selanjutnya pengguna bisa melihat detail dari profile caleg tersebut seperti tanggal lahir, pasangan, tempat tinggal, riwayat pendidikan, riwayat pekerjaan dan lain-lain.

berikut beberapa screenshot dari aplikasi yang saya buat:

Slideshow ini membutuhkan JavaScript.

Yang ingin mendownload aplikasinya, Insyaa Allah besok pagi sudah bisa di Unduh di Google Play Store Alhamdulillah aplikasi Pemiloe! sudah bisa didownload di link bawah ini :)


Get it on Google Play