Implementasi Spring MVC pada Google App Engine part 1

Kali ini saya mau membuat catatan pribadi, barang kali bermanfaat buat diri sendiri dan orang lain. Catatan ini rangkuman dari pembelajaran beberapa minggu terakhir, setelah melakukan percarian kesana-kesini :D . Catatan ini bertujuan bagaimana membuat aplikasi Java Web dengan hosting server gratisan (Indonesia banget hehe) lalu ketemulah saya dengan Google App Engine. Awalnya hanya berfikir untuk membuat prohect Java Web dengan Google App Engine, singkat saja GAE.

Namun di tengah jalan berfikir, “wah kok lama-lama codingnya gak karuan gini”. Dimana view, manipulasi data, dan penyimpanan data dihajar di satu tempat.
Perjalanan berlanjut ketika terlintas ide untuk membuat aplikasi web dengan konsep MVC, dan mencari framework apa yang compatible dangn GAE ini. Ternyata setelah bertanya, Spring bisa berjalan di GAE, horayyy!

Oke kita langsung bkin saja project nya dengan konfigurasi seperti yang diharapkan. Disini saya menggunakan Spring versi 3.0.5.RELEASE, bisa didownload disini Spring download  atau bisa cari disini Maven Repository untuk mengambil perbagian saja .

Sedangkan untuk GAE nya saya menggunakan versi 1.6.0, bisa di download disini Google App Engine. Semua hal diatas bisa di download secara cuma-cuma, menarik bukan :D

Untuk IDE saya menggunakan Eclipse 3.7 Java EE(Indigo kalo gak salah). Menggunakan Eclipse untuk Google Plugin for Eclipse . Untuk cara installasi bisa ikuti disana. Setelah berhasil menginstall kita lanjut untuk New Project.

Buat project dengan nama Spring GAE atau terserah anda. Bisa juga mengikuti petunjuk dibawah ini.
Google Plugins
Continue reading

Log4J logging for java, of course!

This library help you out to logging everything in your java app. It small, fast, simple and makes you like an idiot. K.I.S.S. This library is low-tech logging system. But it very helpful, in order to monitoring your application running.

Download the jar file here : http://logging.apache.org/log4j/1.2/download.html

Add log4j-<version>.jar to your project.

private static Logger log = Logger.getLogger(Post.class);
public static void main(String[] args) {
        log.debug("debug");
        log.trace("trace");
        log.error("error");
        log.fatal("fatal");
        log.info("info");
        log.warn("warn");
}

So, easy isn’t it?

Get current playing song detail on Music Player Android

You can get information from music player what song is currrently playing.
Paste code below to your onCreate method in your activity class.

public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		IntentFilter iF = new IntentFilter();

		// Read action when music player changed current song
		// I just try it with stock music player form android

		// stock music player
		iF.addAction("com.android.music.metachanged");

		// MIUI music player
		iF.addAction("com.miui.player.metachanged");

		// HTC music player
		iF.addAction("com.htc.music.metachanged");

		// WinAmp
		iF.addAction("com.nullsoft.winamp.metachanged");

		// MyTouch4G
		iF.addAction("com.real.IMP.metachanged");

		registerReceiver(mReceiver, iF);
	}

In your activity class create new BroadcastReceiver mReceiver.

BroadcastReceiver mReceiver = new BroadcastReceiver() {

		@Override
		public void onReceive(Context arg0, Intent intent) {

			String action = intent.getAction();
			String cmd = intent.getStringExtra("command");
			Log.d("mIntentReceiver.onReceive ", action + " / " + cmd);
			String artist = intent.getStringExtra("artist");
			String album = intent.getStringExtra("album");
			String track = intent.getStringExtra("track");
			Log.d("Music", artist + ":" + album + ":" + track);

		    // have fun with it :)
		}

Auto Increment MySQL dengan Java JDBC

Bagi para pembaca sekalian yang sudah sering menggunakan JDBC, pasti sudah tidak asing dengan CRUD operations. Khususnya pada bagian CREATE, kadang kita dihadapi dengan permasalahan AUTO INCREMENT pada sebuah colum di tabel MySQL kita. Setelah melakukan insert, trus muncul pertanyaan kaya gini…

Person p = new Person();
p.setName("Billy");
DAO.insert(p);
System.out.println(p.getId());

tapi malah menghasilkan null. Padahal kita maunya setelah Create ID nya si person yang baru itu udah terisi secara AUTO INCREMENT dengan mysql? Lalu muncul pertanyaan. “Ah cari aj id nya pake SELECT id FROM person WHERE name=’Billy’“. Haha, pastinya gak keren dong? :D
Setelah google kesana kemari, ternyata sudah ada topic demikian di article nya MySQL, silahkan cek di Using Auto_Increment keys with Connector. Anda bisa mengikuti yang sudah dijelaskan disana, atau membaca tulisan saya yang cantik ini… hahahah :P .

Dimisalkan kita punya table person dengan field id dan name, diamana field id merupakan PK dan AI(auto_increment). Lalu kita mempunya kelas DAO sendiri untuk akses data objectnya,seperti dibawah ini.

public abstract class DAO{

public static void insert(Person p) throw Exception {
     String sql  = "INSERT INTO person(name) values(' "+p.getName()+" ')";
     // dimisalkan kita sudah memiliki kelas Connection untuk koneksi Database MySQL
     Statement ps = Connection.getConnection().
          createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
     ps.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
     ResultSet rs = ps.getGeneratedKeys();
     if(rs.next()){
          p.setId(rs.getInt(1));
     }
}

}

Lalu pada kelas Main, misalnya seperti ini.

    public static void main(String[] args) {
        Person p = new Person();
        p.setName("Billy");
        try {
            new DAO().insert(p);
        } catch (Exception e) {
        }
        System.out.println(p.getId());
    }

Alhasil, selamat mencoba. :D

Konversi Angka ke Huruf (Java)

Dalam kegiatan keuangan, biasanya diperlukan jumlah terbilang dari sejumlah uang. Disini saya akan membagikan Class Java buatan saya sendiri yaitu JUang. Saya beri nama JUang karena mata uangnya ya masih mata uang yang sangat dicari-cari di seluruh pelosok tanah air Indonesia :D . Kenapa enggak JRupiah aja? “suka suka saya dong? saya yang nulis???” kata-kata dosen saya nih… hahah

Oke deh to the point aja.

cara penggunaanya simple, bilangan yang mau dikoversi ckup di ubah ke String. Kalau anda minat untuk develop lagi silahkan, nanti saya kasih Source nya. Kalo masih ada Bug, mohon di share bersama :D . Learing by doing aja kita “ceuk urang sunda mah”.

Konversi Angka ke Huruf Continue reading