Project Tizen Pertamaku: KalkulatorSederhanaPada sesi ini kita akan membuat aplikasi sederhana yaitu kalkulator dengan menggunakanNative Application.TujuanHal yang ingin dicapai disini adalah bagaimana kita memanfaatkan komponen UI standardyang disediakan oleh Tizen SDK seperti label, grid, button dan sebagaimanya.Membuat Proyek BaruPertama kali kita membuat project baru melalui menu File -> News -> Tizen Native Project.Pilih template Basic UI pada kategori MOBILE. isi nama project, misalkan MyCalculator.Jika sudah, klik tombol Finish.Nanti hasil dari project ini kita akand dapatkan dua file .h dan .c. Misalkan nama projectnyaadalah MyCalculator maka akan dihasilkan file mycalculator.h dan mycalculator.c.Panduan Dasar Pemrograman Tizen149Proyek Tizen Pertamaku
Membuat Tampilan (UI) TizenPada pembuatan UI untuk aplikasi kita akan menggunakan Native UI bawaan dari TizenAPI. Tampilan aplikasi akan dibuat pada file mycalculator.c .Tampilan yang akan dibuat seperti yang dilihat pada gambar dibawah ini.Prosesnya akan dijelaskan pada sesi selanjutnya.Membuat Program TizenPertama kali kita modifikasi mycalculator.c. Pada struct appdata kita modifikasi. Asal kodeprogram sebagai berikut.typedef struct appdata { Evas_Object *win; Evas_Object *conform; Evas_Object *label;} appdata_s;Diubah menjadi sebagai berikut.Panduan Dasar Pemrograman Tizen150Proyek Tizen Pertamaku
typedef struct appdata { const char *name; Evas_Object *win; Evas_Object *bg; Evas_Object *conform; Evas_Object *entry; Evas_Object *basic_content; Evas_Object *advanced_content;} appdata_s;Selanjutnya kita membuat fungsi guna menampilkan UI beberapa tombol kalkulator sepertitombol 0,1,2…9 dan tombol +, -, / sejenisnya.static Evas_Object *create_bg(Evas_Object *parent){ Evas_Object *bg; if (parent == NULL) return NULL; bg = elm_bg_add(parent); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(parent, bg); evas_object_show(bg); return bg;}static Evas_Object *create_conform(Evas_Object *parent){ Evas_Object *conform, *bg; if (parent == NULL) return NULL; conform = elm_conformant_add(parent); evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(parent, conform); bg = elm_bg_add(conform); elm_object_style_set(bg, “indicator/headerbg”); elm_object_part_content_set(conform, “elm.swallow.indicator_bg”, bg); evas_object_show(bg); evas_object_show(conform); return conform;}static voidrotation_cb(void *data, Evas_Object *obj, void *event_info)Panduan Dasar Pemrograman Tizen151Proyek Tizen Pertamaku
{ appdata_s *ad = data; int current_degree = elm_win_rotation_get(obj); if (current_degree ≠ 0 && current_degree ≠ 180) { elm_grid_pack_set(ad->basic_content, 45, 3, 52, 94); elm_grid_pack_set(ad->advanced_content, 3, 3, 36, 94); } else { elm_grid_pack_set(ad->basic_content, 3, 3, 94, 94); elm_grid_pack_set(ad->advanced_content, -100, -100, 94, 94); }}static voidclicked_0_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>0</font_size>”);}static voidclicked_1_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>1</font_size>”);}static voidclicked_2_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>2</font_size>”);}static voidclicked_3_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>3</font_size>”);}static voidclicked_4_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>4</font_size>”);}static voidclicked_5_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>5</font_size>”);Panduan Dasar Pemrograman Tizen152Proyek Tizen Pertamaku
}static voidclicked_6_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>6</font_size>”);}static voidclicked_7_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>7</font_size>”);}static voidclicked_8_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>8</font_size>”);}static voidclicked_9_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>9</font_size>”);}static voidclicked_c_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_set(entry, “<align=right>”);}static voidclicked_divide_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>/</font_size>”);}static voidclicked_multi_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>X</font_size>”);}static voidclicked_plus_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)Panduan Dasar Pemrograman Tizen153Proyek Tizen Pertamaku
{ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>+</font_size>”);}static voidclicked_minus_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>-</font_size>”);}static voidclicked_dot_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED){ Evas_Object *entry = data; elm_entry_entry_append(entry, “<font_size=50>.</font_size>”);}static Evas_Object *create_panel_basic_content(Evas_Object *parent, appdata_s *ad){ Evas_Object *table, *button; table = elm_table_add(parent); elm_table_padding_set(table, 10, 10); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>C</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_c_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 0, 0, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>/</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_divide_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 1, 0, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>X</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_multi_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 2, 0, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);Panduan Dasar Pemrograman Tizen154Proyek Tizen Pertamaku
evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>Back</font_size>”); evas_object_show(button); elm_table_pack(table, button, 3, 0, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>7</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_7_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 0, 1, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>8</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_8_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 1, 1, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>9</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_9_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 2, 1, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>-</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_minus_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 3, 1, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>4</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_4_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 0, 2, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>5</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_5_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 1, 2, 1, 1);Panduan Dasar Pemrograman Tizen155Proyek Tizen Pertamaku
button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>6</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_6_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 2, 2, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>+</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_plus_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 3, 2, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>1</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_1_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 0, 3, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>2</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_2_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 1, 3, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>3</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_3_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 2, 3, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>( )</font_size>”); evas_object_show(button); elm_table_pack(table, button, 3, 3, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>0</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_0_cb, ad->entry); evas_object_show(button);Panduan Dasar Pemrograman Tizen156Proyek Tizen Pertamaku
elm_table_pack(table, button, 0, 4, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>.</font_size>”); evas_object_smart_callback_add(button, “clicked”, clicked_dot_cb, ad->entry); evas_object_show(button); elm_table_pack(table, button, 1, 4, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>+/-</font_size>”); evas_object_show(button); elm_table_pack(table, button, 2, 4, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>=</font_size>”); evas_object_show(button); elm_table_pack(table, button, 3, 4, 1, 1); evas_object_show(table); return table;}static Evas_Object *create_panel_advanced_content(Evas_Object *parent, appdata_s *ad){ Evas_Object *table, *button; table = elm_table_add(parent); elm_table_padding_set(table, 10, 10); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>x!</font_size>”); evas_object_show(button); elm_table_pack(table, button, 0, 0, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>sqrt</font_size>”); evas_object_show(button); elm_table_pack(table, button, 1, 0, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);Panduan Dasar Pemrograman Tizen157Proyek Tizen Pertamaku
evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>%</font_size>”); evas_object_show(button); elm_table_pack(table, button, 2, 0, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>sin</font_size>”); evas_object_show(button); elm_table_pack(table, button, 0, 1, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>cos</font_size>”); evas_object_show(button); elm_table_pack(table, button, 1, 1, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>tan</font_size>”); evas_object_show(button); elm_table_pack(table, button, 2, 1, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>ln</font_size>”); evas_object_show(button); elm_table_pack(table, button, 0, 2, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>log</font_size>”); evas_object_show(button); elm_table_pack(table, button, 1, 2, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>1/x</font_size>”); evas_object_show(button); elm_table_pack(table, button, 2, 2, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>ex</font_size>”); evas_object_show(button); elm_table_pack(table, button, 0, 3, 1, 1);Panduan Dasar Pemrograman Tizen158Proyek Tizen Pertamaku
button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>X2</font_size>”); evas_object_show(button); elm_table_pack(table, button, 1, 3, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>Yx</font_size>”); evas_object_show(button); elm_table_pack(table, button, 2, 3, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>| X |</font_size>”); evas_object_show(button); elm_table_pack(table, button, 0, 4, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>PI</font_size>”); evas_object_show(button); elm_table_pack(table, button, 1, 4, 1, 1); button = elm_button_add(table); evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, “<font_size = 50>e</font_size>”); evas_object_show(button); elm_table_pack(table, button, 2, 4, 1, 1); evas_object_show(table); return table;}static Evas_Object *create_panel(Evas_Object *parent, appdata_s *ad){ Evas_Object *panel, grid; / Panel / panel = elm_panel_add(parent); elm_panel_orient_set(panel, ELM_PANEL_ORIENT_BOTTOM); evas_object_show(panel); / Grid / grid = elm_grid_add(panel);Panduan Dasar Pemrograman Tizen159Proyek Tizen Pertamaku
evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_content_set(panel, grid); / Panel basic content / ad->basic_content = create_panel_basic_content(grid, ad); evas_object_size_hint_weight_set(ad->basic_content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ad->basic_content, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_grid_pack(grid, ad->basic_content, 3, 3, 94, 94); / Panel advanced content */ ad->advanced_content = create_panel_advanced_content(grid, ad); evas_object_size_hint_weight_set(ad->advanced_content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ad->advanced_content, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_grid_pack(grid, ad->advanced_content, -100, -100, 94, 94); return panel;}static Evas_Object *create_entry(Evas_Object *parent){ Evas_Object *entry; entry = elm_entry_add(parent); elm_entry_editable_set(entry, EINA_FALSE); elm_entry_entry_set(entry, “<font_size=50><align=right></font_size>”); evas_object_show(entry); return entry;}Kemudian kita modifikasi fungsi create_base_gui() dan tulis kode program dibawah ini.Panduan Dasar Pemrograman Tizen160Proyek Tizen Pertamaku
static voidcreate_base_gui(appdata_s *ad){ Evas_Object *grid, *panel; ad->win = elm_win_util_standard_add(PACKAGE, PACKAGE); elm_win_autodel_set(ad->win, EINA_TRUE); if (elm_win_wm_rotation_supported_get(ad->win)) { int rots[4] = { 0, 90, 180, 270 }; elm_win_wm_rotation_available_rotations_set(ad->win, (const int )(&rots), 4); } evas_object_smart_callback_add(ad->win, “wm,rotation,changed”, rotation_cb, ad); evas_object_smart_callback_add(ad->win, “delete,request”, win_delete_request_cb, NULL eext_object_event_callback_add(ad->win, EEXT_CALLBACK_BACK, win_back_cb, ad); ad->bg = create_bg(ad->win); ad->conform = create_conform(ad->win); elm_win_conformant_set(ad->win, EINA_TRUE); elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_SHOW); elm_win_indicator_opacity_set(ad->win, ELM_WIN_INDICATOR_OPAQUE); / Grid / grid = elm_grid_add(ad->conform); evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_content_set(ad->conform, grid); / Entry / ad->entry = create_entry(grid); elm_grid_pack(grid, ad->entry, 5, 5, 90, 25); / Panel / panel = create_panel(grid, ad); elm_grid_pack(grid, panel, 0, 35, 100, 65); / Show window after base gui is set up */ evas_object_show(ad->win);}Simpan program semuanya.Menjalankan Program Tizen ke EmulatorPertama kali dilakukan adalah melakukan kompilasi untuk memastikan tidak ada error padaprogram kita.Panduan Dasar Pemrograman Tizen161Proyek Tizen Pertamaku
Cukup klik kanan pada project kita dan pilih Build Project.Hasil kompilasinya bisa dilihat dibagian bawahnya.Panduan Dasar Pemrograman Tizen162Proyek Tizen Pertamaku
Klik Run untuk menjalankan emulator Tizen. Dan pilih emulator nya.Jika sudah, klik tombol Launch untuk menjalankan emulatornya.Tekan tombol pada kalkulator sehingga hasilnya akan muncul di layar.Panduan Dasar Pemrograman Tizen163Proyek Tizen Pertamaku
Menjalankan Program Tizen ke SmartphoneTizenUntuk menjalankan ke Tizen smartphone, kita cukup arahkan ke target peralatan yangsudah terhubung.Jika sukses, kita akan melihat aplikasinya muncul pada Tizen smartphone tersebut.Panduan Dasar Pemrograman Tizen164Proyek Tizen Pertamaku
ResourcesBerikut ini beberapa sumber informasi yang dapat digunakan dalam pengembangan aplikasiTizen.Forum Tizen (English), https://developer.tizen.org/forumsKumpulan Code Snippet, https://developer.tizen.org/community/code-snippetKumpulan contoh program, https://developer.tizen.org/community/tizen-projectsArtikel (English), https://developer.tizen.org/community/tip-techPanduan Dasar Pemrograman Tizen165Resouces
PenulisBerikut profile penulis dari buku ini.FajriFajri, S.Kom. M.Kom. lahir di Bukittinggi pada tanggal 3 Oktober 1991. Ia menyelesaikanstudi Sarjana dan Magister pada Bidang Ilmu Komputer di Universitas Indonesia dalamwaktu 4,5 tahun dengan keduanya meraih predikat Cumlaude. Sampai saat ini Fajrimerupakan seorang peneliti, developer dan juga data scientist di Samsung ResearchIndonesia yang aktif bergerak di bidang Perolehan Informasi, Pengolahan Bahasa Manusia,Pembelajaran Mesin dan juga Tizen Operating System. Karya-karya ilmiah nya bisa dilihatpada journal IEEE, Springer dan juga ACM.Panduan Dasar Pemrograman Tizen166Profil Penulis
Di sela waktunya, Fajri senang bermain musik dan bernyanyi(https://soundcloud.com/fajri91), berenang, membaca novel dan juga traveling. Fajri bisadihubungi melalui akun twitternya @FajriPhD atau web pribadinya http://fajrikoto.comGilang Kusuma JatiGilang Kusuma Jati, S.T, M.Kom. Lulus sebagai Sarjana Teknik Informatika dari InstitutTeknologi Telkom dan Magister Ilmu Komputer dari Universitas Indonesia. Gilang memulaikarir nya sebagai Dosen di Fakultas Ilmu Komputer Universitas Indonesia dengan mengajarbeberapa mata kuliah Pemrograman dan Struktur Data. Bidang ketertarikan nya adalahEvolutionary Computation dan Mobile Technology. Sejak kuliah, Gilang aktif ikut serta danmemenangkan beberapa kompetisi IT baik nasional maupun internasional. Saat ini Gilangbekerja sebagai Lead Engineer di Samsung R&D Institute Indonesia. Publikasi internasionalPanduan Dasar Pemrograman Tizen167Profil Penulis
Gilang dapat dilihat pada IEEE, Springer dan Elsevier. Aplikasi mobile nya juga dapatdiunduh di Google Play Store dan Windows Phone Store. Gilang dapat dihubungi melaluiwebsite pribadinya di http://gilangkusumajati.comAgus KurniawanAgus adalah pengajar dan peneliti di Fakultas Ilmu Komputer-Universitas Indonesia danSamsung R&D Institute Indonesia. Dia juga seorang penulis untuk topik teknologi komputerdan internet. Bidang ketertarikannya mengenai Sekuriti, Jaringan Komputer, SoftwareEngineering dan Machine Learning.Di sela waktunya, dia mengajak kedua anaknya bermain dan memiliki hobby untuktravelling, kuliner, dan foto-foto asal memotret.Saat ini Agus sedang menyelesaikan kuliah S3, Doktoral, pada jurusan Computer Science,Freie Universität Berlin, Germany. Dia dapat dihubungi melalui blog pribadinya dihttp://blog.aguskurniawan.netPanduan Dasar Pemrograman Tizen168Profil Penulis