panduan dasar pemrograman tizen
TRANSCRIPT
![Page 1: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/1.jpg)
![Page 2: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/2.jpg)
0
1
2
3
3.1
3.2
3.3
4
4.1
4.2
4.3
4.4
4.5
4.6
4.7
5
5.1
5.2
5.3
5.4
5.5
5.6
5.7
6
6.1
6.2
6.3
6.4
6.5
6.6
TableofContentsIntroduction
KataPengantar
Pendahuluan
MengenalTizendanPenerapannya
ArsitekturUmumTizen
PenerapandanPenggunaanTizen
PengembanganaplikasiTizen
PemrogramanTizenuntukPlatformWindows
PersiapanInstalasi
InstalasiTizen
KonfigurasiSetelahInstalasiTizen
MengenalTizenDevelopmentIDE
MengenalTizenEmulator
HelloWorldTizen
ProyekTizenPertamaku
PemrogramanTizenuntukPlatformLinux
PersiapanInstalasi
InstalasiTizen
KonfigurasiSetelahInstalasiTizen
MengenalTizenDevelopmentIDE
MengenalTizenEmulator
HelloWorldTizen
ProyekTizenPertamaku
PemrogramanTizenuntukPlatformMac
PersiapanInstalasi
InstalasiTizen
KonfigurasiSetelahInstalasiTizen
MengenalTizenDevelopmentIDE
MengenalTizenEmulator
HelloWorldTizen
PanduanDasarPemrogramanTizen
2
![Page 3: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/3.jpg)
6.7
7
8
ProyekTizenPertamaku
Resouces
ProfilPenulis
PanduanDasarPemrogramanTizen
3
![Page 4: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/4.jpg)
TizenmerupakanopensourceprojectuntuksistemoperasiyangberbasismodifikasiLinuxKerneldanWebKitruntime.DenganTizen,kitadapatmenjalankanaplikasidiatasSmartphone,WearableataupuncomplaisancedevicesyangmengusungOSTizen.
BukuPanduanDasarPemrogramanTizendibuatdenganmaksuddantujuanuntukmembantuparadeveloperpemulaataudeveloperyangsudahmemilikiketrampilanmemprogramaplikasimobilebaikituWindowsPhone,AndroidataupuniOSdalammembuataplikasimobilediatasplatformTizen.
PanduanDasarPemrogramanTizen
4Introduction
![Page 5: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/5.jpg)
KataPengantarTizenadalahsistemoperasiterbuka,efisiendanfleksibelyangdibangununtukbekerjapadasemuakategoridevices.SaatiniTizentelahmenjadibagianpentingpadaekosistemdevicemanufacture,mobileoperators,appdevelopersdanISV,karenajumlahdanjenisdeviceyangmenggunakansistemoperasiiniterusbertambah,termasukdiIndonesia.Tizendirancanguntukmemenuhikebutuhanberbagaijenisindustri,sepertiautomotiveIVI(In-VehicleInfotainment),mobile,TVdanWearable.ManufacturedapatmemodifikasiTizensesuaidengankebutuhan,untukberjalandiatasspesifikasihardwareyangterbatas,sepertimemory,processordanpower.EfisiensiadalahsalahsatukeunggulanTizendibandingsistemoperasilainnya.
UntukappdevelopersdanISV,Tizenmenyediakanfasilitasuntukmembangunaplikasimenggunakannative(C/C++)danweb(HTML5/JavaScript)secaraproduktif.Karenacakupannyayangluas,developerdapatmembuataplikasiyangterkoneksiantarasemuasmartdevices,sepertiwearables,consumerelectronics(TVs,gamingconsoles,DVRs,danlain-lain),mobildanIoTappliances.BukuiniakansangatmembantudevelopersuntukmemulaieksplorasitentangTizensebagaiplatformdevelopment.DengangayapenulisanyangpraktikalbukuinidapatmempercepatprosespembelajaranhinggaandadapatmembuatprogramTizenpertamamenggunakantoolsetsepertiTizenIDE,emulatordanSDK.
PengembanganaplikasidiTizendapatdilakukandenganpendekatannative(C/C++)maupunweb(HTML5/JavaScript).DalambukuiniandaakanmencobapendekatanpertamamenggunakanANSICdanEnlightenmentFrameworkLibrary(EFL)untukmembuatprogramkalkulatorsederhana.NantikanbukuselanjutnyayangakanmengupaslebihdalammengenaiEFLobjects.
SemogabukuinimembantueksplorasiTizenanda.
RismanAdnan,Director,SamsungR&DIndonesia.
PanduanDasarPemrogramanTizen
5KataPengantar
![Page 6: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/6.jpg)
PendahuluanTizenmerupakanopensourceprojectuntuksistemoperasiyangberbasismodifikasiLinuxKerneldanWebKitruntime.DenganTizen,kitadapatmenjalankanaplikasidiatasSmartphone,WearableataupuncomplaisancedevicesyangmengusungOSTizen.
BukuPanduanDasarPemrogramanTizendibuatdenganmaksuddantujuanuntukmembantuparadeveloperpemulaataudeveloperyangsudahmemilikiketrampilanmemprogramaplikasimobilebaikituWindowsPhone,AndroidataupuniOSdalammembuataplikasimobilediatasplatformTizen.
Adaempatbabyangakandibahaspadabukuini,antaralain:
MengenalTizendanpenerapannyaPemrogramanTizenuntukPlatformWindowsPemrogramanTizenuntukPlatformLinuxPemrogramanTizenuntukPlatformMac
PanduanDasarPemrogramanTizen
6Pendahuluan
![Page 7: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/7.jpg)
PendahuluanTizenadalahperangkatlunak(software)platformberbasisopensourceyangdiperuntukanuntukberbagaiplatformsepertismartphone,wearable,tablet,netbook,smartTVdanlain-lainnya.
TizenhadirsebagaialternatifplatformlaindariAndroiddaniOSyangdiusungolehSamsung.TizendibangundariKernel-linuxmemilikiflesibilitasyangtinggisepertiAndroid.
PadababinikitaakanmengeksplorasiapadanbagaimanaTizenitusendiri.
Marikitalanjutkan.
PanduanDasarPemrogramanTizen
7MengenalTizendanPenerapannya
![Page 8: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/8.jpg)
ArsitekturUmumTizenSepertidiketahuibahwaTizendibangundiatasKernelLinux.SelanjutnyadiatasnyadibangunbeberapalibraryAPIgunamendukungaplikasiyangberjalandiatasplatformTizen.
LibraryAPIinidipergunakanuntukoperasionaldankontroldariTizenitusendiri.Komponeninimeliputi:
BaseContentLocationMessagingMultimediaSocialSystemTelephonyUIWebApplicationFrameworkNetworkSecurity
Secaraumum,pembacadapatmelihatpadagambardibawahini.
Masing-masingAPIiniakandibahaspadabukuselanjutnya.
PanduanDasarPemrogramanTizen
8ArsitekturUmumTizen
![Page 9: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/9.jpg)
PenerapandanPenggunaanTizenSepertidijelaskandiawalbahwaTizentidakhanyadiperuntukanuntukplatformsmartphonetetapiperalatanlainnya.
SalahsatuprodukTizenyangdiluncurkanuntukplatformsmartphoneadalahSamsungZ1.Andadapatmembacaspesifikasinyapadaalamatwebsitedibawahini.
http://www.samsung.com/in/consumer/mobile-devices/smartphones/others/SM-Z130HZKDINS
PanduanDasarPemrogramanTizen
9PenerapandanPenggunaanTizen
![Page 10: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/10.jpg)
SelainSamsungZ1,SamsungjugameluncurkanSamsungZ3dimanapembacadapatmelakukanreviewspesifikasinyapadaalamatini.http://www.samsung.com/in/consumer/mobile-devices/smartphones/others/SM-Z300HZKDINS
SemuaSamsungSmartTVjugamenggunakanTizenOSsebagaibagianoperationalnya.
SelainSamsungSmartTV,SamsungWearablejugamenggunakanTizenOSsebagaisistemyangditanampadaperalatantersebut.
Kalaukitabolehmenarikbenangmerahnya,denganinvestasidalammengembangkanaplikasiTizen,kitadapatmelakukaninstalasikebeberapaperalatanplatform.
PanduanDasarPemrogramanTizen
10PenerapandanPenggunaanTizen
![Page 11: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/11.jpg)
PengembanganAplikasiTizenTizendevelopmentmenawarkanbeberapatargetplatformperalatanyangcukupbanyak.Untukpengembangan,Tizenmenawarkanduaopsidalamdevelopmentyaitu:
NativeApplicationWebApplication
PadaNativeapplicationkitaakanmengembangkanaplikasiTizendalambahasaC.Keuntunganyangdidapatkanpadaopsiiniadalahkecepatandankeandalan.HalinidisebabkankitasecaralangsungmengaksesTizenAPI.
SedangkanWebapplicationdiperuntukanbagiparadeveloperyangmemilikidasarHTML5.SepertidiketahuiHTML5inijugadidukungolehplatformlainsepertiAndroid,iOS,WindowsPhone,FireOS.Keuntunganopsiini,kitadapatmempergunakantemplateHTML5yangsudahadasehinggainidapatdipakaiolehplatformlainyangberbasisHTML5.
PanduanDasarPemrogramanTizen
11PengembanganaplikasiTizen
![Page 12: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/12.jpg)
PendahuluanSDKTizenterdiridaribeberapaperangkatutamayangdibutuhkanuntukmembuatdanmenjalankanaplikasiTizen.
PadasesiinikitaakanmelakukaninstalasidankonfigurasigunamembuatdanmenjalankanaplikasiTizendiatasplatformWindows.DisinipenulisakanmenggunakansistemoperasiWindows10sebagaitestingnya.
PanduanDasarPemrogramanTizen
12PemrogramanTizenuntukPlatformWindows
![Page 13: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/13.jpg)
PersiapanuntukInstalasiSebelummemulaimelakukaninstalasiTizenpadakomputer,berikutbeberapahalyangperludisiapkanuntukmembuatdanmenjalankanaplikasiTizenpadaplatformwindows.
PerangkatKerasUntukmembuataplikasiTizenpadaplatformWindows,berikutperangkatkerasyangdibutuhkanuntukmempersiapkanenvironmentpembuatanaplikasiTizen.
Komponen Minimum Rekomendasi
KecepatanProsesor 2GHz 3GHz
TipeProsesor IntelDual-Core IntelCorei5
Memori(RAM) 3GB 4GB
KapasitasDiskkosong 6GB 10GB
SistemOperasiProsespembuatanaplikasiTizendapatberjalandenganbaikpadasistemoperasiWindows7/8/10dengantipesistemoperasi32bitmaupun64bit.
MicrosoftWindows® Minimum Rekomendasi
Windows®7 32bit 64bit
Windows®8 32bit 64bit
Windows®10 32bit 64bit
JavaDevelopmentKit(JDK)UntukmembuatdanmenjalankanaplikasiTizen,dibutuhkanJavaDevelopmentKit(JDK)versi7atausetelahnya.JDKdapatdiunduhdihalamanresmiOraclepadatautanhttp://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html.PilihdanunduhJDKyangsesuaidengantipesistemoperasiwindowsyangdigunakan.Padasaatbukuiniditulis,versiterakhirJDKadalahversi80.
PanduanDasarPemrogramanTizen
13PersiapanInstalasi
![Page 14: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/14.jpg)
BerikutmerupakantautanuntukmengunduhJDKuntukplatformWindows.
MicrosoftWindows® NamaFile Link
32Bitjdk-7u80-windows-i586.exe
http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-windows-i586.exe
64Bitjdk-7u80-windows-x64.exe
http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-windows-x64.exe
SetelahberhasilmengunduhfileJDKyangsesuai,jalankanfile.exedanikutiperintahyangditampilkan.
TizenEmulatorBerikutmerupakankomponenyangdibutuhkanagarbisamenjalankanTizenEmulatorpadaplatformWindows.
PanduanDasarPemrogramanTizen
14PersiapanInstalasi
![Page 15: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/15.jpg)
Komponen Rekomendasi
CPUCPUyangmendukungteknologiIntel®VT-x,suatuteknologivirtualisasiuntukmengemulasikanataumenjalankanTizenEmulator.Jikateknologiinitidakada,makaTizenEmulatorakanberjalandengansangatlambat.
ResolusiLayar 1280x1024
KartuGrafis
BerikutbeberapakartugrafisyangtelahdicobadandibuktikanberhasilmenjalankanTizenEmulator:
NVIDIA:GeForce8300GS,GeForce8500GT,GeForceGT220,GeForceGT430,GeForceGT530,GeForceGT330M,GeForceGTX550Ti,QuadroNVS290.
ATI:RADEONHD4850,RADEONHD5450.
Intel:HDGraphics2000,HDGraphics2500,HDGraphics4000.
Catatan:
JikakomputeryangdigunakanuntukmembuataplikasiTizenmenggunakanteknologiNvidiaOptimus,makaEmulatorakanbekerjadenganmenggunakankartugrafison-board.
KartugrafisintegratedyangterletakpadamotherboardIntelQ33/Q35/Q43/Q45tidakmendukunguntukmenjalankanemulatorTizen.
GenerasipertamakartugrafisIntelHDjugatidakmendukunguntukmenjalankanemulator.
Driver
Untukmemastikansetiapperangkatkerasyangdibutuhkandapatberjalandenganbaik,periksadaninstalldriver-driveruntuktiap-tiapperangkatkerasyangdibutuhkan.UntukWindows7/8/10,instalasidanupdatedriverbisadilakukanmelaluiControlPanel>SystemandSecurity>WindowsUpdate.
Intel®VT-x
TerdapatduacarauntukmemeriksaapakahprosesoryangdigunakanmendukungIntelVT-x.
1. PeriksaapakahprosesoryangdigunakanmendukungIntelVT-xmelaluihalamanhttp://ark.intel.com/.
2. UnduhdaninstallperangkatlunakbernamaIntelProcessorIdentificationUtilitypadatautanhttps://downloadcenter.intel.com/download/7838/Intel-Processor-Identification-Utility-Windows-VersiondanpastikanprosesormendukungIntelVT-x.
PanduanDasarPemrogramanTizen
15PersiapanInstalasi
![Page 16: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/16.jpg)
3.
BIOS(BasicInputOutputSystem)
PastikanpengaturanpadaBIOSmemungkinkansistemoperasiuntukmenggunanakanIntelVT-x.PastikanduapengaturandibawahinienabledpadaBIOS.
IntelVirtualisationTechnologyVT-xIntelExecuteDisableBit
KebanyakanpengaturanBIOSpadakomputerterkinitelahmembuatduapengaturandiatasmenjadienabled.NamuntidakadasalahnyamemastikanbahwaBIOSsudahdiatiragartizenemulatordapatberjalandenganbaik.
Microsoft®Hyper-V
TizenemulatortidakdapatberjalanbersamaandenganMicrosoftHyper-VyangdigunakanuntukmenjalankanWindowsPhoneEmulator.UntukmenjalankanTizenEmulator,pastikanMicrosoftHyper-Vdalamkondisioff/disable.UntukmematikanMicrosoftHyper-V,bukaControlPanel>Programs>TurnWindowsfeaturesonoroff>Disable(uncheck)Hyper-V>OK.
PanduanDasarPemrogramanTizen
16PersiapanInstalasi
![Page 17: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/17.jpg)
Tunggubeberapasaathinggawindowsmemintauntukrestartkomputer.KliktomblokRestartnowuntukmenghidupkanulangkomputer.
Intel®HardwareAcceleratedExecutionManager(HAXM)
PanduanDasarPemrogramanTizen
17PersiapanInstalasi
![Page 18: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/18.jpg)
IntelHardwareAcceleratedExecutionManager(Intel®HAXM)adalahmesinvirtualisasiyangmenggunakanIntelVirtualizationTechnology(VT)untukoptimisasiprosesemulasiTizenpadakomputerdengansistemoperasiWindows®atauMacOS®.DengankombinasiTizenEmulatordanTizenSDK,Intel®HAXMmempercepatkinerjaTizenEmulator,dengankatalainTizenEmulatormenjadilebihlancar/smooth.
Intel®HAXMversi1.1.1secaradefaulttelahdiinstallbersamaandenganTizenSDK.NamunjikaTizenEmulatortidakberhasildijalankan,kitaharusinstalasiulangkembaliIntel®HAXM.
UntukinstalasiIntel®HAXM,
1. UnduhfileinstallerIntel®HAXMversi1.1.9padatautanhttp://download.tizen.org/sdk/haxm/1.1.9/win/intelhaxm-tizen.exe.
2. JalankanfileinstallerdanklikYespadadialogUserAccountControl(UAC)yang
muncul.
3. KarenaIntel®HAXMversi1.1.1secaradefaulttelahterinstalbersamaandenganTizenSDK,makaakanmunculdialogkonfirmasisepertidibawahini.KlikYesuntuk
melanjutkan.
PanduanDasarPemrogramanTizen
18PersiapanInstalasi
![Page 19: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/19.jpg)
4. KliktombolNextuntukmemulaiprosesinstalasi
KitadapatmengaksesdokumentasidenganmenekantombolIntel®HAXMDocumentation.
5. Sesuaikanjumlahmemory(RAM)yangdialokasikanuntukIntel®HAXM.
FileinstallerjugaberfungsisebagaialatkonfigurasiuntukIntel®HAXM.Jikainginmengubahpengaturanalokasimemory(RAM)yangingindigunakan,jalankankembalifileinstaller.
PanduanDasarPemrogramanTizen
19PersiapanInstalasi
![Page 20: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/20.jpg)
6. Konfirmasimemori(RAM)yangtelahdialokasikanuntukIntel®HAXMdankliktombol
Install.
7. TunggubeberapasaathinggaIntel®HAXMterinstaldengansmepurna.
PanduanDasarPemrogramanTizen
20PersiapanInstalasi
![Page 21: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/21.jpg)
8. SaatprosesinstalasiIntel®HAXMselesai,kliktombolFinishuntukmenyelesaikandankeluardariprosesinstalasi.Intel®HAXMtelahberhasildiinstaldansiapuntuk
digunakan.
UntukmemastikanIntel®HAXMberjalandenganbaik,bukaCommandPromptpadawindowsdanmasukkanperintah:scqueryintelhaxm
JikaIntel®HAXMberjalandenganbaik,CommandPromptakanmenampilkanpesanstatusyangmengindikasikanstateadalah“4RUNNING”.
KebutuhanTambahan(Opsional)
PanduanDasarPemrogramanTizen
21PersiapanInstalasi
![Page 22: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/22.jpg)
UntukmembantumengoptimisasiperformansidariaplikasiTizenyangdibuat,kitadapatmenggunakansuatuprofilingtoolbernamaT-trace.DenganT-tracepeningkatanperformansiaplikasitizendapatdilakukandenganlebihmudah.
UntukmenggunakanT-tracedisistemoperasiWindows®7/8/10,dibutuhkansuatuperangkatlunakbernamaPythondenganversi2.7.X.Padasaatbukuiniditulis,versiterkahirPythonadalahversi2.7.11.
UnduhPython2.7.11,kemudianjalankanfiledanikutiinstruksiyangditampilkan.
Catatan:AgarbisamenggunakanPythonsecaranyamandanmudahpadacommandprompt,kitaharusmembuatvariabel%PATH%padaenvironmentvariable.TambahkanvariabelbarutersebutmelaluiMyComputer>Properties>Advanced>EnvironmentVariables.
PanduanDasarPemrogramanTizen
22PersiapanInstalasi
![Page 23: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/23.jpg)
InstalasiTizenSDKPadatopikini,kitaakanmembahasprosesinstalasiTizenSDK(SoftwareDevelopmentKit)padasistemoperasiWindows.TerdapatduacarauntukmenginstalasiTizenSDK,yaituGUIInstallerdanCLIInstaller.PadatopikiniakandibahasprosesinstalasidenganGUIInstalleryangmerupakanprosesinstalasipalingmudah.
UnduhSDKTizenSDKadalahseperangkatalatyangdigunakanuntukmembuatAplikasiTizenWebdnaTizenNative.TizenSDKterdiridariIDE(IntegratedDevelopmentEnvironment),Emulator,toolchain,contohkodeprogram,anddokumentasi.AplikasiTizendapatdibuattanpaharusbergantungpadaTizenIDE,selamaaplikasiTizenmengikutiaturanpadapackagingaplikasiTizen(TizenPackagingRules).Padasaatbukuinidibuat,versiterakhirTizenSDKadalah2.4Rev3.
UntukmengunduhTizenSDK,pilihfileGUIInstallerberdasarkantipesistemoperasi.
MicrosoftWindows
®NamaFile Link
32Bittizen-web-ide_TizenSDK_2.4.0_Rev3_windows-32.exe
http://download.tizen.org/sdk/Installer/tizen-sdk-2.4-rev3/tizen-web-ide_TizenSDK_2.4.0_Rev3_windows-32.exe
64Bittizen-web-ide_TizenSDK_2.4.0_Rev3_windows-64.exe
http://download.tizen.org/sdk/Installer/tizen-sdk-2.4-rev3/tizen-web-ide_TizenSDK_2.4.0_Rev3_windows-64.exe
GUIInstallerSetelahberhasilmengunduhfileinstallerTizenSDK,instalasiTizenSDKdengancaradouble-clickpadaiconfileinstaller.
PanduanDasarPemrogramanTizen
23InstalasiTizen
![Page 24: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/24.jpg)
InstalasiSetelahberhasilmengunduhTizenSDK,jalankanfileinstallerdengancaradouble-clickpadaicon/fileinstaller.
Setelahmenjalankanfileinstaller,makaakanmunculsecuritywarning.PilihYesuntukmelanjutkanprosesinstalasi.Setelahitufileinstallerakanmengekstraksibeberapakomponenfileuntukprosesinstalasi.
PanduanDasarPemrogramanTizen
24InstalasiTizen
![Page 25: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/25.jpg)
Setelahfileinstallerselesaimengekstraksisemuakomponenyangdiperlukan,makakitaakanmendapatkanwindowpengaturaninstalasisepertidibawahini.
Padawindowpengaturaninstalasi,kitadapatmengaturlokasidirektoridimanaTizenSDKakanterinstalasi.Secaradefault,lokasiinstalasiTizenSDKuntuksistemoperasiwindowsadalahdiC:\tizen-sdk.
Pastikanlokasidirektoriyangdipilihadalahlokasidirektoriyangvalig.Jikadirektoritersebuttidakadaatautidakvalid,makafileinstallerakanmenampilkanbahwalokasidirektoritidakvalidsepertigambardibawahini.
Jikatelahselesaimengaturlokasiinstalasi,klikcheckboxAcceptuntukmenyetujuisyaratdanketentuan.Untukmemulaiinstalasi,kliktombolUnduh,tombolyangmemilikigambarpanahkebawahdikelilingiolehlingkaranberwarnabiru.
PanduanDasarPemrogramanTizen
25InstalasiTizen
![Page 26: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/26.jpg)
Setelahmenekantombolunduh,tungguprosesinstalasisampaiselesai.Jikaprosesinstalasisudahselesaimakakitaakanmelihatadabeberapaprogrambaru,yaitu
No. Nama Fungsi
1 UpdateManager
PerangkatlunakuntukmengaturdanmengunduhSDKyangdiperlukan.
2 TizenWebSimulator
Tizensimulator,mensimulasikanperangkatTizenpadawebbrowseruntukmenjalankanTizenWebApps.
3 TizenIDE PerangkatlunakuntukmembuataplikasiTizen.
DenganmenekantombolQuit,TizenSDKtelahberhasildiinstaldansiapuntukdigunakan.
PanduanDasarPemrogramanTizen
26InstalasiTizen
![Page 27: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/27.jpg)
KonfigurasiSetelahInstalasiTizenUntukmelengkapiprosesinstalasi,kitaharusmenjalankanUpdateManageruntukmengunduhSDKyangdiperlukan,terutamaTizenNativeSDK.KarenafileinstallerhanyamemberikankitaSDKTizenWeb.CaridanjalankanUpdateManager.SetelahUpdateManagerdijalankan,makakitaakanmendpaatkankotadialogsepertipadagambardibawahini.
UpdatemanagermemberikaninformasibeberapaTizenSDKyangbisadiunduhsebelummemulaiprosespembuatanaplikasi.Secaraumum,UpdateManagermemberikanTizenSDKuntukbeberapaperangkat,yaituSmartphone,SmartTVdanWearableDevice(SmartWatch).UnduhSDKyangdiinginkan,namunpastikankitamengunduhSDKterbaruuntuktiap-tiapperangkat.Pastikankomputerterhubungkeinternetsebelummemulaiinstalasi/unduhTizenSDK.
PanduanDasarPemrogramanTizen
27KonfigurasiSetelahInstalasiTizen
![Page 28: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/28.jpg)
JikakitatidakmemilikikoneksiinternetyangbaikmengunduhTizenSDK,kitadapatmelakukaninstalasiSDKmelalumenusettingdipojokkananatas.
Setelahdiklik,kitaakanmendapatkotakdialogdibawahini.KlikbagianInstallOption,danpilihSDKImage.KemudianisidenganfileSDKImageyangtelahdiunduhsebelumnya.
PanduanDasarPemrogramanTizen
28KonfigurasiSetelahInstalasiTizen
![Page 29: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/29.jpg)
PanduanDasarPemrogramanTizen
29KonfigurasiSetelahInstalasiTizen
![Page 30: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/30.jpg)
MengenalTizenDevelopmentIDEUntukmembukaTizenIDE,cariaplikasipadaApplicationListataudenganmenekantombolstartpadakeyboarddanmasukankatakunciTizenIDE.SetelahmembukaTizenIDE,makakitaakanmendapatkansplashscreensepertipadagambardibawahini.
Padasaatawalkitaakanditanyakanlokasidirektoriuntukbekerja(workspace).Secaradefault,TizenIDEakanmemberikanlokasiawaluntukworkspace.Pilihlokasiworkspaceyangdiinginkan,danklikcheckbox'Usethisasthedefaultanddonotaskagain'agarTizenIDEtidakmenanyakankembaliworkspacesetiapkitamembukaTizenIDE.
KliktombolOKuntukmembukaTizenIDE.DanakhirnyakitamendapatkanTizenIDEsepertiyangterlihatpadagambardibawahini.
PanduanDasarPemrogramanTizen
30MengenalTizenDevelopmentIDE
![Page 31: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/31.jpg)
Secaraumum,TizenIDEmiripdenganEclipse.Ya!karenaTizenIDEdikembangkandariEclipseIDE.PadasetiapawalmemulaiTizenIDE,kitaakandiberikanbeberapatipssepertigambardibawahini.
PanduanDasarPemrogramanTizen
31MengenalTizenDevelopmentIDE
![Page 32: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/32.jpg)
PanduanDasarPemrogramanTizen
32MengenalTizenDevelopmentIDE
![Page 33: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/33.jpg)
TizenEmulatorTidakperlumemilikiperangkatberbasisTizenuntukmengujiaplikasiTizenyangkitabuat.TizenEmulatormemungkingkankitamembuataplikasiTizendanmencobanyadengancepat.
EmulatoryangdisediakanolehTizenSDKmeniruenvironmentyangadapadaTizenDevice.DenganmenggunakanreplikasienvironmentpadaTizenEmulator,kitadapatmengujicobaaplikasiyangkitabuatsebelummendeployketargetdeviceTizenyangsesungguhnyasepertiSmartphone,Wearable(SmartWatch)danSmartTV.
UntukmembuatdanmenjalankanTizenEmulator,caridanbukaEmulatorManagerdariApplicationList.SetelahmembukaEmulatorManager,makakitaakanmendapatkanwindowsepertipadagambardibawahini.
MembuatSmartphoneTizenEmulatorUntukmembuatTizenEmulatoruntuksmartphone,pilihtabmobile,kemudiantekantombolCreateNewVM.
PanduanDasarPemrogramanTizen
33MengenalTizenEmulator
![Page 34: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/34.jpg)
Lakukanpengaturanuntuktizenemulatoryangingindibuat.Berikutbeberapapengaturanyangperludilakukan.
Pengaturan NamaAtribut Rekomendasi
NamaEmulator Name
TizenEmulator24
Kitabebasmemberikannamauntukemulatoryangakandibuat.
VersiEmulator BaseImage 2.4-mobile
Resolusi Display>Resolution HD(720x1280)
JumlahProsesor Processor 4
UkuranMemory RAMSize 1024MB
PastikanpengaturanHWSupportuntukCPUVTdanGPUadalahON/Enable.
PanduanDasarPemrogramanTizen
34MengenalTizenEmulator
![Page 35: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/35.jpg)
KliktombolConfirmuntukmenyimpankonfigurasidanmembuatemulatorbaru.Berikutgambarjikaberhasilmembuatemulatorbaru.
JikakitainginmengubahkonfogurasidariTizenEmulator,kliktomboleditpadapojokkananatas.
PanduanDasarPemrogramanTizen
35MengenalTizenEmulator
![Page 36: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/36.jpg)
MenjalankanSmartphoneTizenEmulatorUntukmenjalankanTizenEmulator,kliktombolrunpadaemulatoryangtelahdibuat.
SecurityalertakanmunculsaatmencobamenjalankanTizenEmulatoruntukpertamakali.KliktombolAllowaccessuntukmenjalankanemulator.
PanduanDasarPemrogramanTizen
36MengenalTizenEmulator
![Page 37: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/37.jpg)
Tunggubeberapasaat.TizenemulatorakanmenampilkansplashscreensaatsebagaipertandabahwaemulatorsedangmemuatresourceyangdibutuhkanuntukmenjalankanTizenOSpadaemulator.
BerikuttampilanlockscreenTizenOSyangberjalandiatasTizenEmulator.
PanduanDasarPemrogramanTizen
37MengenalTizenEmulator
![Page 38: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/38.jpg)
GeserpadalayarTizenEmulatordenganmenggunakanMouseuntukmelihatisidariTizenOS.BerikutbeberapatampilandariTizenOS.
PanduanDasarPemrogramanTizen
38MengenalTizenEmulator
![Page 39: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/39.jpg)
Layaknyasebuahsmartphone,TizenEmulatorinidilengkapidengantombolmenu,home,back,powerdanjugavolume.
PanduanDasarPemrogramanTizen
39MengenalTizenEmulator
![Page 40: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/40.jpg)
HelloTizenSesiinimenjelaskanbagaimanacaramembuataplikasiTizensederhanayaituHelloWorld.TutorialinimembantukitamengenaliprosespembuatanaplikasiTizensecaraNative(TizenNativeApplication),menggunakanTizenSDKdaninstalasiaplikasiyangtelahdibuatpadaemulatorataupadaTizenDevice.
Saatkitamembuataplikasiyangrumit,kitadapatmenggunakantoolsyangtelahdisertakanpadaTizenSDKuntukmemudahkanprosespembuatanfitursertadesainantarmukaaplikasi(UserInterface).
Berikutlangkah-langkahyangdiperlukanuntukmembuataplikasiTizensederhana"HelloWorld".
MembuatProyekBaruUntukmembuatproyekbaru,jalankanaplikasiTizenIDE.
PadaTizenIDE,pilihmenuFile>New>Project...
PanduanDasarPemrogramanTizen
40HelloWorldTizen
![Page 41: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/41.jpg)
PilihTizenNativeProjectsebagaitipeproyek.KemudiankliktombolNext.
PilihBasicUIsebagaitemplateproject.BerikannamauntukProjectnamedanPackagename.PilihmobilesebagaiProfile.Gunakanversi2.4sebagaiVersiondariaplikasiTizenyangakandibuat.KliktombolFinishuntukmengkonfirmasipembuatanproyekTizenbaru.
PanduanDasarPemrogramanTizen
41HelloWorldTizen
![Page 42: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/42.jpg)
Apabilaprosespembuatanprojectbarusudahselesai,kitaakanmendapatkankodeprogramsesuaidengantemplateyangdipakai.
ProyekbaruHelloWorldtelahterlihatdiProjectExplorerpadaTizenIDE.Padaprojectexplorer,terdapatfilekonfigurasiprojectbernamatizen-manifest.xmldanbeberapafilekodeprogramlainnyaseperti:
PanduanDasarPemrogramanTizen
42HelloWorldTizen
![Page 43: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/43.jpg)
folderinc:direktoriheaderfileuntukaplikasifoldersrc:direktoriCfileuntukimplementasikodeprogram
KonfigurasiAplikasiUntukkonfigurasiaplikasi,adaduahalyangbisadilakukan:
Mengubahprojectpropertiesdenganmemodifikasifiletizen-manifest.xml.Berikutmerupakanisidaritizen-manifest.xml.
Implementasikodeuntukaplikasipadahelloworld.c
SaatmembuatkodeprogramuntukaplikasiTizen,harapdiingatbahwaTizenAPImengikutibeberapaprinsipdasarberikutini:
Ownershipofreturnedstrings
Semuavariabeldengantipedatastringyangdi-returnsebagaipointerharusdihapusolehcallerkecualidibutuhkanolehbagianprogramlain.
Tidakmenghapusstringpadamemoridapatmenyebabkanmemoryleaks.Sistemmemoriyangtidakcukupdapatmemicunotifikasi'systemlowmemory',sebuahnotifikasiyangmemberikaninformasibahwamemoripadasistemtidakcukupuntuk
PanduanDasarPemrogramanTizen
43HelloWorldTizen
![Page 44: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/44.jpg)
menjalankanoperasipadaaplikasi.SistemoperasiTizenmenggunakanalgoritmaheuristicuntukmemilihdanmenghentikanaplikasiyangmenggunakanbanyakmemorikarenapenggunaanmemoriyangbesardapatmenyebabkansistemoperasimenjaditidakstabil.
char*app_id_string=NULL;
if(!app_get_id(&app_id_string))
{
//Useapp_id_string
if(app_id_string!=NULL)
free(app_id_string);
}
Handle
Sebuahhandlemenyediakansaranauntukmengelolasebuahinstanceyangterasosiasidenganhandle.HandledigunakansangatbanyakpadaTizenNativeAPIuntukalasankompatibilitas.Pembuatan(creation)danpenghancuran(destruction)fungsidisediakanuntuksetiaptipehandle.Fungsitidakmembuatdanmenghancurkanhandledengansendirinya,tetapimengasosiasikanpadainstanceyangterasosiasidenganhandleyangdiberikan.Iniberarti,handletidakvalidsampaifungsiyangdibuattelahdipanggil.Accessorfungsi(getters/setters)jugadisediakanuntukmengaksesmembersvalriabledaristrukturtersembunyiyangdiidentifikasiolehhandleyangdiberikan.
//Textmessagedirepresentasikanolehhandle
messages_message_hsms_msg;
//Buatmessagedanasosiasikandenganhandle
messages_create_message(MESSAGES_TYPE_SMS,&sms_msg);
//hapusmessage
messages_destroy_message(sms_msg);
//Mengubahpropertidaritextmessage
messages_set_text(sms_msg,"Hello,howareyou?");
messages_add_address(sms_msg,"01020157919",MESSAGE_RECIPIENT_TO);
PemanggilanfungsiAsynchronous
BeberapafungsipadaTizenNativeAPIadalahasynchronous.Sebuahfungsiasynchronousmulaimengeksekusiprosesdanreturn/kembalisebelumprosesselesaidijalankan.Padakasusini,perludibuatsuatunotifikasikepadacallersaatfungsiasynchronoustelahmenyelesaikansemuaprosesnya.
PanduanDasarPemrogramanTizen
44HelloWorldTizen
![Page 45: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/45.jpg)
Codeassist
TizenIDEmenyediakanfiturAPIassistdanAPIhoverfeaturesuntukmembuatkodeprogrampadaeditorsemakincepatdanefisien.
Saatmengubahkodeprogram,tekantombolCTRL+SPACEuntukmelihatketersediaanAPIyangdapatdigunakan.
MembuatUserInterfacedenganEFLEFLadalahsingkatandariEnlightenmentFoundationLibrary,kumpulantoolkitgrafisyangdigunakanuntukmembuataplikasiTizen.Berikutlangkah-langkahyangdilakukanuntukmembuatuserinterfaceuntukaplikasitizendenganmenggunakanEFL.
1. MenambahkanUserInterface
Untukmenambahkanuserinterfacekedalamaplikasi,perludiketahuicontainerdancomponentyangdiperlukan.Padatutorialiniadabeberapacontainerdancomponentyangdigunakan.
Sebuahwindowuntukmenyimpansemuacontainerdancomponentdiatasnya
PanduanDasarPemrogramanTizen
45HelloWorldTizen
![Page 46: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/46.jpg)
Sebuahconformant,yangmenampilkankeyboardvirtualSebuahnaviframeuntukmenampilkanbeberapascreen/tampilandiatasnyabesertatransisiantarscreen/tampilan.Sebuahboxhorizontalyangberisisebuahlabeldenganbeberapabaristeksdansebuahbutton.
2. MenambahkanApplicationSkeletondenganAppcore
Sebuahpointeruntukobjekyangpenting,baikobjekcontrol(containerataucomponent)ataupunobjekdatadalamaplikasidisimpanpadastrukturdataberikut.
typedefstructappdata
{
Evas_Object*win;
Evas_Object*conform;
Evas_Object*naviframe;
}appdata_s;
Strukturdatadiatasdidesainsebagaipointeruntukmenyimpanalamatmemoriuntukobjek-objekyangakandigunakanpadaaplikasi.DaristrukturdatadiatasdapatdiketahuibahwasemuacontainerdancomponentpadaaplikasiTizenbertipeEvas_Object.
*win
Digunakanuntukmenyimpanalamatmemoridariobjekwindowyangdibuat
*conform
Digunakanuntukmenyimpanalamatmemoridariobjekconformantyangdibuat
*naviframe
Digunakanuntukmenyimpanalamatmemoridariobjeknaviframeyangdibuat
Pointeruntukstrukturdatadiatasdibuatdandiinisialisasihanyadengannilai0(nol)padafungsimain().Carayangsamajugadigunakanuntukmembuatdanmenginisialisasistrukturdatadengantipeapp_event_callback_s,yangmenyimpanfungsi-fungsicallbacksdaricoreaplikasi(app-core).
PanduanDasarPemrogramanTizen
46HelloWorldTizen
![Page 47: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/47.jpg)
staticbool
app_create(void*data)
{
appdata_s*ad=data;
create_base_gui(ad);
returntrue;
}
int
main(intargc,char*argv[])
{
appdata_sad={0,};
intret=0;
ui_app_lifecycle_callback_sevent_callback={0,};
app_event_handler_hhandlers[5]={NULL,};
event_callback.create=app_create;
event_callback.terminate=app_terminate;
event_callback.pause=app_pause;
event_callback.resume=app_resume;
event_callback.app_control=app_control;
ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY],APP_EVENT_LOW_BATTERY,ui_app_low_battery,&ad);
ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY],APP_EVENT_LOW_MEMORY,ui_app_low_memory,&ad);
ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED],APP_EVENT_DEVICE_ORIENTATION_CHANGED,ui_app_orient_changed,&ad);
ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED],APP_EVENT_LANGUAGE_CHANGED,ui_app_lang_changed,&ad);
ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED],APP_EVENT_REGION_FORMAT_CHANGED,ui_app_region_changed,&ad);
ret=ui_app_main(argc,argv,&event_callback,&ad);
if(ret!=APP_ERROR_NONE)
{
dlog_print(DLOG_ERROR,LOG_TAG,"app_main()isfailed.err=%d",ret);
}
returnret;
}
Catatan:
UntukinformasilainnyatentangAppcore,bukaHandlingtheApplicationFundamentalspadalinkhttps://developer.tizen.org/development/tutorials/native-application/application-framework/application#fundamentals.
3. MembuatobjekGUI
PanduanDasarPemrogramanTizen
47HelloWorldTizen
![Page 48: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/48.jpg)
GUI(GraphicalUserInterface)dibuatpadafungsicreate_base_gui().Fungsitersebutmenerimasebuahpointerdengannamaaduntukdiisidenganobjek-objekdengantipeyangsesuaidengantipe-tipeyangtelahdideklarasikanpadastrukturdataappdata_s.
Buatfungsicreate_base_gui()sebagaifungsistatickarenafungsiinihanyadapatdicapaidariunitkompilasisaatini(yangmemungkinkancompileruntukmenghasilkanlebihcepatdanukurankodeprogramlebihkecil).
Didalamfungsicreate_base_gui(),buatobjekwindowdanbuat"HelloWorld"sebagainamadantitledariwindow.Tambahkansebuahcallbackpadaevent"delete,request".Callbackuntukevent"delete,request"iniakandieksekusisaatobjekwindowakanditutupolehsistem.
staticvoid
create_base_gui(appdata_s*ad)
{
//buatobjekwindow
//simpanobjekwindowyangdibuatkedalampointerad->win
ad->win=elm_win_util_standard_add(PACKAGE,PACKAGE);
elm_win_autodel_set(ad->win,EINA_TRUE);
//tambahkanjenisrotasiyangakandidukungpadaaplikasi
if(elm_win_wm_rotation_supported_get(ad->win))
{
introts[4]={0,90,180,270};
elm_win_wm_rotation_available_rotations_set(ad->win,(constint*)(&rots),4
}
//tambahkancallbackuntukevent"delete,request".
//callbackiniakandieksekusisaatsistemakanmenutupobjekwindow
evas_object_smart_callback_add(ad->win,"delete,request",win_delete_request_cb,
//tambahkancallbackuntukevent"backkey"
//callbackiniakandieksekusisaatusermenekantombol'back'
eext_object_event_callback_add(ad->win,EEXT_CALLBACK_BACK,win_back_cb,ad);
Selanjutnyakitaakanmembuatobjekconformantdanmeletakkannyadidalamobjekwindow.Mulaisaatini,baikcontainerdancomponentakandiletakkandidalamconformant.
PanduanDasarPemrogramanTizen
48HelloWorldTizen
![Page 49: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/49.jpg)
//buatobjekconformant
//danjadikanwindowsebagaiparentdariconformant
//simpanobjectconformantyangdibuatkedalampointerad->conform
ad->conform=elm_conformant_add(ad->win);
//buatconformantagarbisamenampilkanphoneindicator
elm_win_indicator_mode_set(ad->win,ELM_WIN_INDICATOR_SHOW);
elm_win_indicator_opacity_set(ad->win,ELM_WIN_INDICATOR_OPAQUE);
//buatagarobjekconformantmenempatisemuaspaceyangadasecaraverticaldanhorizontal
evas_object_size_hint_weight_set(ad->conform,EVAS_HINT_EXPAND,EVAS_HINT_EXPAND);
//buatconformantsebagairesizeobjectdariwindow
//ukuranconformantakanberubahbersamaandenganukuranwindow
elm_win_resize_object_add(ad->win,ad->conform);
//tampilkanobjekconformant
//karenasemuaUIcontainerdancomponentsecaradefaultadalahhidden/collapsed(tersembunyi)
evas_object_show(ad->conform);
Selanjutkankitaakanmenambahkanobjectnaviframekedalamconformant.Naviframeadalahcontainersangatbergunauntukaplikasiagardapatmenampilkanbeberapascreen/tampilansecarabergantian.Naviframememungkinkanuntukmenampilkansatuscreen,mengantikescreenlainnya,kembalimenampilakanlagiscreenpertama,danbisamelakukantransisidenganbeberapascreenlainnya.
Padatutorialini,hanyaakanadasatuscreenyangdibuat.Naviframeakandibuatdandiletakkandidalamconformant.
//buatobjeknaviframe,danjadikanconformantsebagaiparentdarinaviframe
ad->naviframe=elm_naviframe_add(ad->conform);
//jadikannaviframesebagaicontentdariconformant
elm_object_content_set(ad->conform,ad->naviframe);
//tampilkannaviframe
evas_object_show(ad->conform);
Selanjutnyakitaakanmenambahkancontainerbox,yangdapatmenampungcomponentataucontainerlainnyasecaraverticalmaupunhorizontal.BoxadalahcontaineryangserupadenganLinearLayoutpadaAndroiddanStackPanelpadaWindowsPhone.Padatutorialini,satucontainerboxakandiletakkandidalamnaviframe.
PanduanDasarPemrogramanTizen
49HelloWorldTizen
![Page 50: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/50.jpg)
//buatobjekboxdanjadikannaviframesebagaiparentnya
Evas_Object*box=elm_box_add(ad->naviframe);
//setobjekboxagarmenampilanelementdidalamnyasecaravertical
elm_box_horizontal_set(box,EINA_FALSE);
//buatagarboxmerentangsaatcontentnyamembutuhkanlebihbanyakspace
evas_object_size_hint_weight_set(box,EVAS_HINT_EXPAND,EVAS_HINT_EXPAND);
//buatboxagarmengisispaceyangadapadaparent
evas_object_size_hint_align_set(box,EVAS_HINT_FILL,EVAS_HINT_FILL);
//tambahkanboxsebagaicontainerpadanaviframe
elm_naviframe_item_push(ad->naviframe,"HelloWorld",NULL,NULL,box,NULL);
//tampilkanobjekbox
evas_object_show(box);
SelanjutnyakitaakanmenambahkansatuobjeklabelyangdapatmenampilkanteksdalambeberapabarisdenganformatmenggunakantagHTML.
//buatobjeklabeldanjadikanboxsebagaiparentdarilabel
Evas_Object*label=elm_label_add(box);
//SetteksuntuklabeldansetformatyangdigunakandengantagHTML:
//-teks"HelloWorld!"diletakkanditengahpadabarispertama
//-tambahkansatubariskosong(tag<br>)
//-Tambahkanteksyanglebihpanjangyangtidakcukupuntuksatubaris,
//teksakandiwrapkebarisberikutnya
elm_object_text_set(label,
"<align=center>HelloWorld!</align><br>"
"<br>"
"<wrap=word>Clickingonthebuttonbelowclosestheapplication.</wrap>"
//setagarlabeldapatmerentangsaat
//contentnyamembutuhkanlebihbanyakspace
evas_object_size_hint_weight_set(label,EVAS_HINT_EXPAND,
EVAS_HINT_EXPAND);
//setagarboxmengisispaceyangtersediapadahorizontalaxisdan
//terletakditengahsecaravertical(diletakkandi0.5secaravertical,
//ataudiletakkanditengahsecaravertical
evas_object_size_hint_align_set(label,EVAS_HINT_FILL,0.5);
//tambahkanlabelsebagaielementdaribox
elm_box_pack_end(box,label);
//tampilkanobjeklabel
evas_object_show(label);
PanduanDasarPemrogramanTizen
50HelloWorldTizen
![Page 51: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/51.jpg)
UIcomponentterakhiryangakanditambahkanadalahButton.Buttoniniakanmembuatkeluardariaplikasisaatditekan.
//buatobjekbuttondanjadikanboxsebagaiparent
Evas_Object*button=elm_button_add(box);
//buttonakanmerentangsaatcontentnyamembutuhkanlebihbanyakspace
evas_object_size_hint_weight_set(button,EVAS_HINT_EXPAND,
EVAS_HINT_EXPAND);
//setagarbuttonmengisispaceyangtersediapadahorizontalaxisdan
//terletakdiakhirsecaravertical(1berartibuttondiletakkan
//diakhirboxsecaravertical,
//koordinatmulaipada(0,0)dipojokkiriatas
evas_object_size_hint_align_set(button,EVAS_HINT_FILL,1);
//setteks'Close!'sebagaicontentdaributton
elm_object_text_set(button,"Close!");
//Tambahkansebuahcallbackpadabuttonuntukevent"clicked";
//fungsicallbackbernamaclicked_cb
evas_object_smart_callback_add(button,"clicked",clicked_cb,NULL);
//tambahkanbuttonsebagaielementdaribox;karenakoordinatdimulaidaripojokkiriatas,
//danboxadalahvertical,buttonakanberadadibawahlabel
elm_box_pack_end(box,button);
//tampilkanobjekbutton
evas_object_show(button);
Selanjutnyakitaakanmembuatwindowmenampilkansemuacontainerdancomponentdiatasnyapadascreen.
/*Tampilkanwindowsetelahsemuabaseguidibuat*/
evas_object_show(ad->win);
}
4. KeluardariAplikasi(GUI)
Fungsicallbackclicked_cb()harusdibuatagarkitabisamenghentikan/keluardariaplikasisaatbuttonditekan.Fungsicallbackuntukbuttondiberikanmelauiperintahevas_object_smart_callback_add().Letakkanfungsiclicked_cb()diatasfungsicreate_base_gui()karenabahasapemrogramanCtidakdapatmemanggilfungsiyangdideklarasikansetelah/dibawahfungsipemanggilnya.
PanduanDasarPemrogramanTizen
51HelloWorldTizen
![Page 52: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/52.jpg)
PenjelasanlebihdetailtentangcallbacksdapatmelihathalamanEvasSmartObjectEventsguidepadalinkhttps://developer.tizen.org/development/ui-practices/native-application/efl/event-handling/event-types#evas_smart_object.
Berikutmerupakanimplementasidarifungsicallbackclicked_cb().
staticvoidclicked_cb(void*user_data,Evas_Object*obj,void*event_info)
{
//menghentikan/keluardariaplikasi
elm_exit();
}
BuildingandPackagingtheApplicationSetelahsemuakodeprogramuntukaplikasiselesaidiimplementasidansebelummenjalankanaplikasi,kitaharusmelakukankompilasipadakodeprojectkitadengancaraklikkananpadafolderprojectdiProjectExplorer,kemudianbuildproject.Tunggubeberapasaatdanpastikantidakadaerrorpadakodeprogramyangkitabuat.
MenjalankanAplikasiKitadapatmenjalankanaplikasiyangtelahkitabuatpadaemulatorataupunpadaTizenDevicesepertiSmartphone,Wearable(SmartWatch),ataupunSmartTV.
SigningApplication
PanduanDasarPemrogramanTizen
52HelloWorldTizen
![Page 53: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/53.jpg)
Sebelumkitamenjalankanaplikasi,kitaharusmelakukansignpadaaplikasiyangkitabuatdenganmeng-generateauthorcertificatedanmendaftarkannyapadaTizenIDE.
JikakitatelahmemilikisertifikatyangteregistrasididalamTizenIDE,prosessignaplikasiakandilakukansecaraotomatissaatmenjalankanaplikasi.
BerikuttahapanmembuatsertifikatuntukaplikasiTizen.
1. BukapengaturanSecurityProfilesmelaluimenuWindow->Preferences>TizenSDK>SecurityProfiles.
PanduanDasarPemrogramanTizen
53HelloWorldTizen
![Page 54: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/54.jpg)
2. KemudiankliktombolAdduntukmenambahkanprofile
3. MasukkanProfileName,kemudiankliktombolOK.
4. Setelahprofileselesaidibuat,klikGenerateuntukmembuatAuhtorCertificate.KemudianisisemuafieldyangdibutuhkanpadadialogCertificateGenerator.KemudiankliktombolOKuntukmembuatcertificate.
PanduanDasarPemrogramanTizen
54HelloWorldTizen
![Page 55: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/55.jpg)
5. KlikYespadakotakdialogyangmuncul.
PanduanDasarPemrogramanTizen
55HelloWorldTizen
![Page 56: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/56.jpg)
6. Prosespembuatanprofiledanauthorcertificatetelahselesai.KemudiankliktombolApplyuntukmenggunakannya.
7. KliktombolOKuntukmengaktifkansecurityprofiledanauthorcertificateyangtelahdibuat.Kemudianlakukancleanprojectdengancaraklikkananpadafolderutama
project.
PanduanDasarPemrogramanTizen
56HelloWorldTizen
![Page 57: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/57.jpg)
8. Setelahcleanproject,makaprosespembuatandanpengaktifansecurityprofilesdanauthorcertificatetelahselesai.
MenjalankanAplikasipadaTizenEmulator
UntukmenjalankanaplikasipadaTizenEmulator,klikkananpadafolderutamaproject,kemudianpilihRunAs>TizenNativeApplication.
KemudiankotakdialoguntukTizenemulatorakanmuncul.Jikasudahpernahmembuattizenemulator,makapilihtizenemulatoryangpernahdibuat,laluklikLaunch.
PanduanDasarPemrogramanTizen
57HelloWorldTizen
![Page 58: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/58.jpg)
KlikAllowaccessjikamunculFirewallException.
TunggubeberapasaathinggaTizenOSdimuatdalamemulatordanemulatorsiapuntukdigunakan.Berikuttampilandarikodeprogramyangtelahkitabuat.
PanduanDasarPemrogramanTizen
58HelloWorldTizen
![Page 59: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/59.jpg)
JalankanProgramkeTizenDevice
Berikutmerupakanlangkah-langkahuntukmenjalankanAplikasiTizenpadaTizenDevice.
1. HubungkanSmartphoneTizenkekomputerdengankabelUSB.
PanduanDasarPemrogramanTizen
59HelloWorldTizen
![Page 60: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/60.jpg)
2. SmartphoneTizenyangdihubungkankekomputerakanterdeteksipadaConnection
ExplorerdiTizenIDE. Padagambardiatas,SamsungZ1telahterdeteksiterhubungdengankomputer.
3. PilihSmartphoneTizenyangterhubungkekomputerpadaConnectionExplorer.
4. PadaProjectExplorer,klikkananpadafolderproject,danpilihRunAs>TizenNativeApplication.Sebagaialternatif,untukmenjalankanaplikasipadaSmartphoneTizen,tekantombolPlaypadatoolbaratautekanCtrl+F11padakeyboard.Tunggubeberapasaat,makaaplikasiakanberjalanpadaSmartphoneTizen.
PanduanDasarPemrogramanTizen
60HelloWorldTizen
![Page 61: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/61.jpg)
DebuggingAplikasiBagipembacayangsudahpernahmemilikipengalamanmenggunakanIDEEclipsemakaprosesdebuggingpadaTizenIDEakanmemilikipengalamanyangsama.
PanduanDasarPemrogramanTizen
61HelloWorldTizen
![Page 62: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/62.jpg)
Cukupklikkananpadakodeprogramyangakandianalisadannantiakankeluarmenu,pilihAddBreakPoint.
Kemudianakanadabulatanwarnabirudisampingkodeprogramyangakankitalakukandebugging.
PanduanDasarPemrogramanTizen
62HelloWorldTizen
![Page 63: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/63.jpg)
SekarangkitamelakukandebuggingdengancaraklikkananpadafolderutamaprojectdanpilihmenuDebugAs>TizenNativeApplication-Attach.
CheckataucentangpadacheckboxRemembermydecision,kemudiankliktombolYes.
PanduanDasarPemrogramanTizen
63HelloWorldTizen
![Page 64: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/64.jpg)
KemudianTizenDebuggerakanberjalan.
Prosesdebuggingakanberhentipadasetiapbreakpointyangtelahkitatentukan/buat.
PanduanDasarPemrogramanTizen
64HelloWorldTizen
![Page 65: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/65.jpg)
Kliktombolikonmerah(stop)untukmengakhiriprosesdebugging.
KlikTizenNativepadabagiankananatasuntukkembalikemodecodeeditor.
Ok,cukupmudahbukanprosesdebuggingnya?
PanduanDasarPemrogramanTizen
65HelloWorldTizen
![Page 66: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/66.jpg)
ProjectTizenPertamaku:KalkulatorSederhanaPadasesiinikitaakanmembuataplikasiTizensederhanayaitukalkulatordenganmenggunakanTizenNativeApplication.
TujuanTujuandaripembuatanprojectkalkulatorsederhanainiadalahuntukbelajarbagaimanamemanfaatkankomponen-kompunenUIstandardyangdisediakanolehTizenSDKsepertilabel,grid,buttondancomponentlainnya.
MembuatProyekBaruUntukmemulaimembuatkalkulator,buatprojectbarumelaluimenuFile->New->TizenNativeProject.PilihtemplateBasicUIpadakategoriMOBILE.Berinamaprojectdanpackagename,misalkanMyCalculator.
KliktombolFinishuntukmenyelesaikanpembuatanprojectbaru.
Setelahprosespemnbuatanprojectbaruselesai,akanadaduafileyaituheaderfiledenganekstensi.hdancfiledenganekstensi.c.DengannamaprojectMyCalculatormakaakandihasilkanfilemycalculator.hdanmycalculator.c.
PanduanDasarPemrogramanTizen
66ProyekTizenPertamaku
![Page 67: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/67.jpg)
MembuatTampilan(UI)TizenPadapembuatanUIuntukaplikasikalkulator,kitaakanmenggunakanEFL(EnlightenmentFoundationLibrary)sebagaiNativeUIyangdisediakanolehTizenSDK.SemuakomponenuntukUIakandibuatpadafilemycalculator.c.
Berikutmerupakanhasilakhirdariaplikasikalkulatoryangakankitabuat.
BerikutmerupakanprosespembuatanaplikasiKalkulator.
MembuatProgramTizenBukafilemycalculator.c.Ubahstructappdatayangsemula.
PanduanDasarPemrogramanTizen
67ProyekTizenPertamaku
![Page 68: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/68.jpg)
typedefstructappdata
{
Evas_Object*win;
Evas_Object*conform;
Evas_Object*label;
}appdata_s;
Menjadi.
typedefstructappdata
{
constchar*name;
Evas_Object*win;
Evas_Object*bg;
Evas_Object*conform;
Evas_Object*entry;
Evas_Object*basic_content;
Evas_Object*advanced_content;
}appdata_s;
SelanjutnyakitamembuatfungsiuntukmembuatbeberapakomponenUIsepertibeberapatombolpadakalkulatorsepertitombol0,1,2...9dantombol+,-,/sejenisnya.
staticEvas_Object*
create_bg(Evas_Object*parent)
{
Evas_Object*bg;
if(parent==NULL)returnNULL;
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);
returnbg;
}
staticEvas_Object*
create_conform(Evas_Object*parent)
{
Evas_Object*conform,*bg;
if(parent==NULL)returnNULL;
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);
PanduanDasarPemrogramanTizen
68ProyekTizenPertamaku
![Page 69: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/69.jpg)
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);
returnconform;
}
staticvoid
rotation_cb(void*data,Evas_Object*obj,void*event_info)
{
appdata_s*ad=data;
intcurrent_degree=elm_win_rotation_get(obj);
if(current_degree!=0&¤t_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);
}
}
staticvoid
clicked_0_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>0</font_size>");
}
staticvoid
clicked_1_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>1</font_size>");
}
staticvoid
clicked_2_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>2</font_size>");
}
staticvoid
clicked_3_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>3</font_size>");
}
staticvoid
PanduanDasarPemrogramanTizen
69ProyekTizenPertamaku
![Page 70: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/70.jpg)
clicked_4_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>4</font_size>");
}
staticvoid
clicked_5_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>5</font_size>");
}
staticvoid
clicked_6_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>6</font_size>");
}
staticvoid
clicked_7_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>7</font_size>");
}
staticvoid
clicked_8_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>8</font_size>");
}
staticvoid
clicked_9_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>9</font_size>");
}
staticvoid
clicked_c_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_set(entry,"<align=right>");
}
staticvoid
clicked_divide_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>/</font_size>");
PanduanDasarPemrogramanTizen
70ProyekTizenPertamaku
![Page 71: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/71.jpg)
}
staticvoid
clicked_multi_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>X</font_size>");
}
staticvoid
clicked_plus_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>+</font_size>");
}
staticvoid
clicked_minus_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>-</font_size>");
}
staticvoid
clicked_dot_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>.</font_size>");
}
staticEvas_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);
PanduanDasarPemrogramanTizen
71ProyekTizenPertamaku
![Page 72: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/72.jpg)
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);
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);
PanduanDasarPemrogramanTizen
72ProyekTizenPertamaku
![Page 73: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/73.jpg)
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);
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);
PanduanDasarPemrogramanTizen
73ProyekTizenPertamaku
![Page 74: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/74.jpg)
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);
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);
returntable;
}
staticEvas_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);
PanduanDasarPemrogramanTizen
74ProyekTizenPertamaku
![Page 75: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/75.jpg)
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);
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);
PanduanDasarPemrogramanTizen
75ProyekTizenPertamaku
![Page 76: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/76.jpg)
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>e^x</font_size>");
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>X^2</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>Y^x</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);
returntable;
}
staticEvas_Object*
PanduanDasarPemrogramanTizen
76ProyekTizenPertamaku
![Page 77: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/77.jpg)
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);
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);
/*Panelbasiccontent*/
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);
/*Paneladvancedcontent*/
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);
returnpanel;
}
staticEvas_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);
returnentry;
}
Kemudianmodifikasicreate_base_gui()dantuliskodeprogramdibawahini.
PanduanDasarPemrogramanTizen
77ProyekTizenPertamaku
![Page 78: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/78.jpg)
staticvoid
create_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)){
introts[4]={0,90,180,270};
elm_win_wm_rotation_available_rotations_set(ad->win,(constint*)(&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);
/*Showwindowafterbaseguiissetup*/
evas_object_show(ad->win);
}
Simpan(save)semuakodeprogramyangtelahditulisdenganmenekanCtrl+spadakeyboard.
MenjalankanProgramTizenkeEmulator
PanduanDasarPemrogramanTizen
78ProyekTizenPertamaku
![Page 79: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/79.jpg)
Untukmemastikankodeprogramyangditulissudahbenardantidakadakesalahanlakukankompilasipadaprojectyangdibuat.Untukmelakukankompilasi,klikkananpadarootfolderproject,kemudianpilihBuildProject.
HasilkompilasinyaakanterlihatpadaConsolediTizenIDE.
Jikatidakadaerror,klikRununtukmenjalankanaplikasi.Padakotakdialogyangmuncul,pilihemulatoryangakandigunakanuntukmenjalankanaplikasi,kemudiankliktombolLaunchuntukmenjalankanaplikasipadaemulatoryangdipilih.
PanduanDasarPemrogramanTizen
79ProyekTizenPertamaku
![Page 80: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/80.jpg)
Tunggubeberapasaatuntukmenjalankanaplikasipadaemulator.BerikuttampilanaplikasiKalkulatoryangberjalanpadaemulator.
PanduanDasarPemrogramanTizen
80ProyekTizenPertamaku
![Page 81: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/81.jpg)
Lakukanpengujiandenganmenekantombolyangadapadakalkulator.
PanduanDasarPemrogramanTizen
81ProyekTizenPertamaku
![Page 82: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/82.jpg)
MenjalankanProgramTizenkeSmartphoneTizenBerikutmerupakanlangkah-langkahuntukmenjalankanAplikasiTizenpadaSmartphoneTizen.
1. HubungkanSmartphoneTizenkekomputerdengankabelUSB.
PanduanDasarPemrogramanTizen
82ProyekTizenPertamaku
![Page 83: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/83.jpg)
2. SmartphoneTizenyangdihubungkankekomputerakanterdeteksipadaConnection
ExplorerdiTizenIDE. Padagambardiatas,SamsungZ1telahterdeteksiterhubungdengankomputer.
3. PilihSmartphoneTizenyangterhubungkekomputerpadaConnectionExplorer.
4. PadaProjectExplorer,klikkananpadafolderproject,danpilihRunAs>TizenNativeApplication.Sebagaialternatif,untukmenjalankanaplikasipadaSmartphoneTizen,tekantombolPlaypadatoolbaratautekanCtrl+F11padakeyboard.Tunggubeberapasaat,makaaplikasiakanberjalanpadaSmartphoneTizen.
PanduanDasarPemrogramanTizen
83ProyekTizenPertamaku
![Page 84: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/84.jpg)
PanduanDasarPemrogramanTizen
84ProyekTizenPertamaku
![Page 85: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/85.jpg)
PendahuluanPadasesiinikitaakanmelakukaninstalasidankonfigurasigunamembuataplikasiTizendiatasplatformUbuntu.DisinipenulisakanmenggunakanUbuntu14.04.4LTS64bitsebagaitestingnya.
PanduanDasarPemrogramanTizen
85PemrogramanTizenuntukPlatformLinux
![Page 86: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/86.jpg)
PersiapanuntukInstalasiBerikutbeberapahalyangperludisiapkanuntukmembuatdanmenjalankanaplikasiTizenpadaplatformUbuntu.
PerangkatKerasBerikutmerupakanperngkatkerasyangdibutuhkanuntukmempersiapkanenvironmentpembuatanaplikasiTizen.
Komponen Minimum Rekomendasi
KecepatanProsesor 2GHz 3GHz
TipeProsesor IntelDual-Core IntelCorei5
Memori(RAM) 3GB 4GB
KapasitasDiskkosong 6GB 10GB
PerangkatLunak
SistemOperasi
UntukpenggunaOperatingSystemUbuntu,instalasiTizenSDK(SoftwareDevelopmentKit)dapatdilakukanmelaluiwebsiteresmiTizenDeveloperpadahttps://developer.tizen.org/development/tools/download.SDKinitelahmencakupIDE,Emulator,toolchain,samplecodedanjugadokumentasi.
Padahalamantersebut,pilihlahversiUbuntuyangsesuaidenganPCataulaptopanda.DisinitelahdisediakaninstalleruntukUbuntu32bitsdanjuga64bits.JikaAndatidakmengetahuiversibitUbuntuanda,andabisamengikutilangkah-langkahberikut:
BukaterminalandaKetikkanperintahUname-a,diikutidengankarakterenterJikamenggunakanUbuntu32bit,makaoutputdariinstruksiini=i686GNU/LinuxJikamenggunakanUbuntu64bit,makaoutputdariinstruksiini=x8664GNU/Linux
AdapunTizenSDKyangdibahaspadabukuinimerupakanTizen2.4Rev3SDKyangmerupakanSDKversiterbaruuntukbulanFebruari2016.PadatampilanwebsiteTizentersebut,fileutamayangperludi-downloadadalahinstallerIDE(IntegratedDevelopment
PanduanDasarPemrogramanTizen
86PersiapanInstalasi
![Page 87: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/87.jpg)
Environment).Agarprosesdownloadbisaberjalanlebihcepat,AndabisamemilihmirroruntuknegaraChina.
JavaRuntimeEnvironment(JRE)padaUbuntu
SebelummelakukaninstalasiSDK,perluandaketahuibahwaTizenSDKinimembutuhkanJavaRuntimeEnvironment(JRE)agarbisadijalankanpadaPC/laptopanda.Olehkarenaitu,andaharusmemastikanperangkatandatelahdilengkapiolehJRE.Inidapatdilakukandenganmudahdenganmengetikkanperintahjavapadaterminalanda.LaptopyangtelahterinstallJREakanmenampilkanoutputsepertigambardibawah.Sebaliknya,jikaperintahinitidakdikenal,terminalakanmenuliskan“Nocommand‘java’found”.
InstalasiJREbisadilakukandenganmengikutilangkah-langkahberikut:
PanduanDasarPemrogramanTizen
87PersiapanInstalasi
![Page 88: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/88.jpg)
1. DownloadinstallerJREpadawebsiteOracleJRE7denganlinksebagaiberikut:http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html
2. PilihinstalleryangsesuaidenganversiUbuntuanda.i. Linuxx86untukUbuntu32bitii. Linuxx64untukUbuntu64bit
3. Andabisamemilihsalahsatudariduatipefileyangdisediakan(rpmatautar.gz).Padabukuinikamimenggunakanfiletar.gzuntukLinuxx64(jre-7u79-linux-x64.tar.gz)
4. Setelahselesaimelakukandownload,bukakembaliterminalandadanketikkanperintah-perintahberikutpadalokasifileyangsamadenganinstalleranda
Untukmengekstrakfileinstallertar-xvfjre-7u79-linux-x64.tar.gz
BuatlahsebuahdirektorikhususuntukJavadanpindahkanfileJREkedalamnyasudomkdir-p/usr/lib/jvm/jre1.7.0
sudomvjre1.70_79/*/usr/lib/jvm/jre1.7.0/
Install/updatejavasudoupdate-alternatives--install/usr/bin/javajava
/usr/lib/jvm/jre1.7.0/bin/java0
Installdependenciessudoapt-getinstallexpect
sudoapt-getinstallgtk2-engines-pixbuf
sudoapt-getinstalllibgnome2-0
sudoapt-getinstallqemu-user-static
sudoapt-getinstalllibwebkitgtk-1.0-0
sudoapt-getinstallgettext
sudoapt-getinstallgksudo
sudoapt-getinstallmodule-init-tools
sudoapt-getinstalllibudev-dev
PanduanDasarPemrogramanTizen
88PersiapanInstalasi
![Page 89: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/89.jpg)
InstalasiTizenPadatahapini,andatelahsiapuntukmenginstallTizenSDK.Padaterminalanda,ketikanperintahberikut
chmod+xtizen-web-ide_TizenSDK_2.4.0_Rev3_singapore_ubuntu-64.bin
./tizen-web-ide_TizenSDK_2.4.0_Rev3_singapore_ubuntu-64.bin
PastikanandaberadapadadirektoridimanaandamenyimpaninstallerTizenSDK.Outputdaricommandlinetersebutakanmemberikantampilansebagaiberikut:
Untuklangkahpertama,pilihAcceptsebagaitandapersetujuanandaterhadapSoftwareLicense.Kemudianpilihbuttonlingkaranbiru,untukmemulaiprosesinstalasi.Tahapanpenginstalanakanberlangsungdengancepat.Jikaprosesinitelahselesai,pilihlahbuttonDone,danuntukselanjutnyaakanmuncultampilansebagaiberikut:
PanduanDasarPemrogramanTizen
89InstalasiTizen
![Page 90: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/90.jpg)
WindowyangmunculmerupakanpertanyaanseputarUpdateManager.PilihYes,karenapadatahapinikitaakanmelakukankonfigurasiinstalasilibrary-libraryyangdibutuhkan
PanduanDasarPemrogramanTizen
90InstalasiTizen
![Page 91: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/91.jpg)
KonfigurasiSetelahInstalasiTizen
Padabagianini,kitaakanmelakukaninstalldanupdateterhadapTizen-SDKkitamenggunakanTizenUpdateManager.Pilihcontinueuntukmelanjutkanprosesinstalasi,sehinggakomputerandamemberikantampilansebagaiberikut:
Jikaandatidakmemilikisdk-image,andabisamelakukaninstalasidenganmemilihpackageinstalasiyangandabutuhkansesuaidengangambardiatas.DisarankanandamemilihbuttoninstalluntukpackageSDKterbaru,seperti2.4Mobiledan2.31.Wearable.
BagiandayangmemilikiSDKimage,prosesinstalasibisadilakukandengancaramembukamenukonfigurasipadawindowTizenUpdateManagerpadapojokkananatas.
PanduanDasarPemrogramanTizen
91KonfigurasiSetelahInstalasiTizen
![Page 92: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/92.jpg)
Kemudian,gantiInstalloptiondengan“SDKImage”danpilihlahfileisoyangandamilikiuntukmelanjutkanprosesinstalasi.Pilihbuttonconfirmuntukmemulaiinstalasi.
PanduanDasarPemrogramanTizen
92KonfigurasiSetelahInstalasiTizen
![Page 93: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/93.jpg)
MengenalTizenDevelopmentIDEPadatahapiniandatelahberhasilmelakukaninstalasiTizenSDK.
Programyangtelahterinstaldapatdilihatpadafolderhome/tizen-sdk/ide.AndabisamenjalankanTizenIDEdenganmemilihiconeclipsepadafiletersebut.Opsikedua,andajugabisamenjalankanaplikasidenganmencarinyapadamenusearchUbuntu,denganmengetikkankata“tizen”.Semuaaplikasitizenyangtelahterinstallakandimunculkan,seperti,IDE,WebSimulator,Emulator,UpdateManagerdanDynamicAnalyzer.
PanduanDasarPemrogramanTizen
93MengenalTizenDevelopmentIDE
![Page 94: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/94.jpg)
Untuktahappertamaandadimintauntukmelakukankonfigurasialamatworkspace.Jikaandaberkenanuntukmenyimpanprojectpadadirektoridefaultsepertiyangditampilkan,pilihOK.Namun,jikatidak,pilihBrowsedanatursedemikianlokasiworkspaceyangandainginkan.
Makaakanmuncultampilanwindowsebagaiberikut:
PanduanDasarPemrogramanTizen
94MengenalTizenDevelopmentIDE
![Page 95: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/95.jpg)
PanduanDasarPemrogramanTizen
95MengenalTizenDevelopmentIDE
![Page 96: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/96.jpg)
TizenEmulatorTizenSDKtelahdilengkapidenganemulatorsehinggamemungkinkankitauntukbisamelakukansimulasiprogramtanpaharusmemilikideviceSamsungdenganOSTizen.KonfigurasiemulatorTizenDevicebisadilakukandengancaramenjalankanEmulatorManageryangtelahter-instalseiringdenganinstalasiTizenSDK.
Untukmempermudahpencarian,padamenusearchaplikasiyangadapadaUbuntuanda,ketik“Emulatormanager”,sepertigambarberikut:
PilihiconEmulatorManagertersebut,yangselanjutnyaakanmemberikantampilansebagaiberikut:
PanduanDasarPemrogramanTizen
96MengenalTizenEmulator
![Page 97: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/97.jpg)
UntukmembuatEmulator/VirtualMachine(VM)baru,pilihbutton“CreateNew”yangadapadawindowdiatas,sehinggamemberikantampilansebagaiberikut:
AndabisamelakukankonfigurasisepertiName,Display,Processor,danRAMsesuaidengankebutuhandevelopment.Jikatelahsesuaidengankonfigurasiyangdiinginkanpilihconfirm
PanduanDasarPemrogramanTizen
97MengenalTizenEmulator
![Page 98: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/98.jpg)
Untukmenjalankanemulator,klikbuttonpanahyangberadapadaicontizen-01diatas.SecaraotomatisemulatormanagerakanmenampilkanVMdarideviceyangtelahandasettingsebelumnyasepertigambardibawahini:
Layaknyasebuahsmartphone,emulatorTizeninidilengkapidenganbuttonmenu,home,back,powerdanjugavolume.
PanduanDasarPemrogramanTizen
98MengenalTizenEmulator
![Page 99: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/99.jpg)
HelloTizenPadabagianiniakandijelaskanprosedursederhanauntukmembuatsebuahprogram“Helloworld”padaTizenSDK.
MembuatProyekBaruUntuklangkahpertama,bukaTizenIDEanda,danbuatlahprojectbarudengannama“HelloWorld”.InidilakukandenganmemilihmenuFile->New->Project.Kemudianpadawindow“NewProject”,pilihlahTizenNativeProject.
Padawindowberikutnya,andabisamenemukanbeberapatemplateyangtelahdipersiapkanolehTizenIDE.Untuktahapini,marikitagunakantemplateprojectyangpalingsederhana,yaituBasicUIApplication.Untukprojectawalkaliini,gantinamaprojectmenjadi“HelloWorld”,kemudianklikbuttonFinish.
PanduanDasarPemrogramanTizen
99HelloWorldTizen
![Page 100: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/100.jpg)
TizenIDEandaakanmemberikantampilansebagaiberikut:
PanduanDasarPemrogramanTizen
100HelloWorldTizen
![Page 101: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/101.jpg)
Projectbaruyangbarusajaandabentuk,dapatdilihatpadatabProjectExplorerdenganbeberapafolderdefault,diantaranya:
inc,merupakanfolderuntukdefaultincludepathlib,merupakanfolderuntukexternallibraryfilesres,merupakanfolderuntukresourcesfilesshared,merupakanfolderresourcefilesyangbisadi-sharedenganaplikasilainnya.src,merupakanfolderutamayangberisikankodeaplikasitizen-manifest.xml,merupakanmanifestfiledariaplikasianda.
MembuatProgramJikaandainginmelakukankonfigurasiterhadapinformasiumumaplikasianda,andabisamelakukannyadenganmemilihtizen-manifest.xmlyangadapadaProjectExplorer.TizenIDEakanmemberikantampilansebagaiberikut:
PanduanDasarPemrogramanTizen
101HelloWorldTizen
![Page 102: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/102.jpg)
Andabisamelakukankonfigurasiterhadappropertiaplikasidenganmemanfaatkantabyangberadadibawahmanifesteditor
Overview:Digunakanuntukmendefinisikaninformasiumum,seperti,applicationpackage,version,author,dandeskripsiFeatures:Digunakanuntukmendefinisikanfitursoftwaredanhardwareyangharusdimilikiagaraplikasibisadijalankandenganbaik.Privileges:DigunakanuntukmengaturprivilegesLocalization:Digunakanuntukmengatursupportedlocales,sepertilabel,deskripsi,danicon.Advanced:Digunakanuntukmendefinisikanadvancedfeaturedariaplikasi,sepertimetadata,datacontrol,applicationcontrolfunctionalities,account,danmiscellaneousoption.tizen-manifest.xml:Digunakanuntukmelakukankonfigurasimanualpadafiexml.
MenjalankanProgramSebelumkitamempelajaripotongankodedariaplikasikita,marikitajalankanaplikasikitadenganmemilihbuttonRun.
PanduanDasarPemrogramanTizen
102HelloWorldTizen
![Page 103: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/103.jpg)
BagiandayangbarupertamakalimenjalankanaplikasidiTizenIDE,andaakanmendapatipesanwarninguntukmelakukanprosesSigningsepertidibawahini:
Olehkarenaitu,aturlahkonfigurasiSigningandaterlebihdahuludenganpertama-tamamengklikPreferences>TizenSDK>SecurityPoliciesyangtertulispadawindowdiatas.Sehinggamemberikantampilanberikut:
Pertama,pilihbuttonAdd,sehinggamemunculkanwindow“ProfileName”.IsikannamaprofileyangandainginkandankemudianpilihOK.Langkahselanjutnya,pilihbuttonGenerateuntukmendapatkanAuthorCertificate.Setelahmengisikandatayangdiminta,pilihOK.DanterakhirpilihApplydanOK.
JalankanProgramkeTizenEmulator
Jalankanprogramandasekalilagi,makaakanmunculpilihanemulatorsebagaiberikut:
PanduanDasarPemrogramanTizen
103HelloWorldTizen
![Page 104: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/104.jpg)
Jikasebelumnyaandabelumpernahmembuatemulator,andabisamemilihbuttonEmulatorManagerdanmelakukankonfigurasiemulatorberdasarkanpenjelasansub-babsebelumini.Jikaandatelahmeilikiemulator,makajalankanaplikasidenganmemilihbuttonLaunch.TizenSDKsecaraotomatisakanmenjalankanaplikasiandapadaemulatoryangtelahandapilih.
JalankanProgramkePeralatanTizen
UntukmenjalankanaplikasihubungkandeviceTizenandaterlebihdahuludengankomputermenggunakankabelUSB.KemudianjalankanprogramsepertibiasadenganmenekantombolrunningpadaIDE.Padapilihantargetrunning,deviceandaakanmunculsebagai
PanduanDasarPemrogramanTizen
104HelloWorldTizen
![Page 105: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/105.jpg)
salahsatuopsi.Pilihdeviceanda,danpilihbuttonLaunch.
Penjelasantentangkodeprogram
KarenaTizenSDKdibangundenganbahasaCyangtidakmendukungkonsepOOPlayaknyajava,makakonsepstructdanpointerdiimplementasikanagarmempermudahketerbacaanprogram.
appdata_s
appdata_smerupakanobjectberupastructyangmenampungsemuakebutuhanakanEvas_Objectdariaplikasikita.AdatigaEvas_Objectyangdibutuhkanuntukmenampilkan“HelloTizen”padadeviceTizenkita,yaitu:win,conformdanlabel.
ui_app_lifecycle_callback_s
Sepertiyangdilihatpadapotongankodediatas,event_callbackmerupakanvariabledaritipedatastructbernamaui_app_lifecycle_callback_s.Structinimemilikibeberapaatributcallbackfunctionyangharusdiinisialiasiseperti:
create,fungsiyangakandipanggilketikaaplikasipertamakalidijalankanterminate,fungsiyangdijalankansekali,saataplikasiberhentidigunakanpause,fungsiyangdijalankansaataplikasitidakdigunakandalamwaktutertentudanmenjadiinvisibleterhadapuser
PanduanDasarPemrogramanTizen
105HelloWorldTizen
![Page 106: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/106.jpg)
resume,fungsiyangdipanggilsetelahfasepauseyaitusaataplikasikembalidigunakan.app_control,fungsiyangdipanggilsaataplikasilainmengirimkanrequestuntukmenjalankanaplikasiini.
Padapotongankodediatas,setiapatributinidiinisialisasidenganfungsi-fungsiyangdidefinisikanpadahelloworld.c.Sebagaicontoh,atributecreatediinisialisasidenganfungsiapp_create.
Fungsiapp_createyangadapadagambardiatasbertujuanuntukmelakukaninisialisasiUIketikaaplikasibarusajadijalankan.Padagambardiatasterlihatbahwafungsiapp_creatememanggilfungsicreate_base_gui()yangberfungsisebagaikonfigurasiUIberupawindow,conformant,danlabel“HelloTizen”yangdimunculkanpadaaplikasiHelloWorldini.
PanduanDasarPemrogramanTizen
106HelloWorldTizen
![Page 107: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/107.jpg)
Padafungsidiatas,parameterfungsiyangberupapointeryangmenunjukstructappdata_sdigunakanuntukmenginisialisasiwindowdanconformantdariaplikasiTizenkita.WindowmerupakanlayerpalingbawahdariaplikasiTizen.Untukmengisiwindowdenganelemen-elemenberupabutton,text,radiobuttondsb,diperlukansuatubaselayerbernamaconformant.
Sesuaidengankebutuhanaplikasipertamakitaini,elemenyangcukupditambahkandiatasbaselayeradalahlabel.Labelinibertuliskan<align=center>HelloTizen</align>yangkemudianditampilkansebagaicontentdiatasconformant.
app_event_handler_h
Variabelinidigunakansebagaieventhandleryangdigunakanuntukmenampungalamatfungsi-fungsihandleryangkitainginkan.Secaradefault,terdapat5eventyangdidefinisikanpadafungsimain,yaitu:
eventuntukmeng-handlekondisilowbatteryeventuntukmeng-handlekondisilowmemoryeventuntukmeng-handleperubahanorientasideviceeventuntukmeng-handleperubahanbahasa
PanduanDasarPemrogramanTizen
107HelloWorldTizen
![Page 108: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/108.jpg)
eventuntukmeng-handleperubahanformatregionatauzonawilayah
PanduanDasarPemrogramanTizen
108HelloWorldTizen
![Page 109: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/109.jpg)
ProjectTizenPertamaku:KalkulatorSederhanaMenggunakanUIBuilderPadasub-babkaliini,kitaakanmembuatsebuahprogramkalkulatorsederhanadenganmemanfaatkanfiturWYSIWYG(WhatYouSeeisWhatYouGet)dariTizenSDK.MetodeWYSIWYGinimemungkinkankitauntukmembangunUItizensecaradrag-and-drop.
MembuatProyekBaruUntuklangkahpertama,marikitabuatprojectbarubernamakalkulator.Pertama,pilihMenu>New>Project>TizenNativeProjectdankemudianpilihbuttonNext.KemudianpilihtemplateUIBuilder-SingleViewyangdiperuntukkanuntukdeveloperyanginginmembangunaplikasidengansatutampilanview.GantinamaProjectandadengan“Kalkulator”dankemudianpilihFinish.
MembuatTampilan(UI)Tizen
PanduanDasarPemrogramanTizen
109ProyekTizenPertamaku
![Page 110: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/110.jpg)
TampilanpertamadariIDEandaadalahwindowWYSIWYGdengansebuahfilebernamalayout.tuml.PadabagiankiriterdapatPaletteyangberisikanButton,DisplayUIComponent,InputUI,ItemContainer,UIComponentContainer,ViewContainer,danSnippets.
Tahap1-MendesainUserInterface
Perluandaketahui,bahwasebelummeletakkanberbagaiitemberupabutton,label,textviewdsb,diperlukansebuahobjectcontaineryangdigunakanuntukmenampungsemuaitem-itemini.PenjelasanterkaitcontaineryangdisediakanolehTizenSDK,bisaditemukanpadawebsitetizendevelopment,ataubukupanduankitapadaseriesberikutnya.
Untukmenyederhanakanprogramyangakankitabuat,marikitagunakanUIComponentComponentberupaGrid.ContainerGridinimemungkinkankitauntukmeletakkanberbagaiitempadasetiapzonascreenlayardevice.Langkah-langkahnya,PilihUIComponentContaineryangadapadatabPalette,kemudiandragdandropiconGridkelayardesign.Sebagaihasilnya,secaraotomatis,seluruhscreenlayarmenjadicontainerGrid.Memangtidakadaperubahanyangterlihat,tapipadatabOutlinedibagianbawah,bisadilihatbahwaViewlayoutkitamemilikianakberupacontainerGrid.
Untukmembuatkalkulatorsederhana,kitaakanmenggunakantigaitemutama,yaituButton,Label,danEntry
PanduanDasarPemrogramanTizen
110ProyekTizenPertamaku
![Page 111: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/111.jpg)
KetikaandamelakukandragdandropuntuksetiapitemdariPalette,perhatikantabpropertiesyangadapadapojokkananIDE.UntuksetiapitemandabisamemodifikasiIDdariitem,textyangtertulis,style,dsbpadatabAttributesdariProperties.
Padatampilandiatas,adapunbutton,label,danEntryyangdigunakanmenggunakanIDdantextsebagaiberikut:
ID Text ID Text ID Text
Button1 1 Button7 7 ButtonKurang -
Button2 2 Button8 8 ButtonKali x
Button3 3 Button9 9 ButtonBagi /
Button4 4 Button0 0 ButtonSamaDengan =
Button5 5 EntryLayar 0 ButtonReset C
Button6 6 ButtonTambah + label1 KALKULATORSAYA
Tahap2-MengimplementasikanEventListener
Padatahapini,UserInterfaceyangandainginkantelahselesaidibangun.PadatahapkeduakitaakanmengimplementasikankodeprogramterkaitEventhandlerketikabuttondi-click.PadamekanismeWYSIWYGiniandabisamelakukannyadengancaramemanfaatkanTabEventyangadapadaTabProperties,sepertigambarberikut:
Untuksetiapbuttonyangdi-klik(clicked),kitaimplementasikaneventhandlernyadenganmemilihtanda+padatabProperties/Eventsesuaidengangambardiatasdandilanjutkandenganmemilihtanda→sehinggaIDEakanmenampilkanpotonganfungsiyangdapatdiisi
PanduanDasarPemrogramanTizen
111ProyekTizenPertamaku
![Page 112: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/112.jpg)
sesuaidengankebutuhan.
Untuksetiapbuttonangkadari1,2,3,4,5,6,7,8,9,dan0bisadiimplementasikandenganpotongankodeberikut:
EntryLayarmerupakanIDdarilayarkalkulatorkita.Padafungsidiatas,ketikabuttonangka1diklikmakakitaakanmelakukanupdatekepadalayar.Lakukanhalserupauntukangka-angkalainnya.UntukButtonReset,aturlayarmenjadi0sepertipotongankodeberikut:
Andabisamenyesuaikanimplementasifungsisesuaidengankebutuhananda.Untukprogramkalkulatorsederhanaini,kitamenggunakanbeberapaglobalvariabelyangbisadiaksesdariberbagaifolderprogram.
PanduanDasarPemrogramanTizen
112ProyekTizenPertamaku
![Page 113: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/113.jpg)
Globalvariabelinidideklarasikanpadasebuahheaderfile(disinikitameletakkannyadiapp_main.h).Adabeberapaglobalvariabelyangdigunakansepertiangka,numberIsClicked,operatorIsClicked,danlength.Variabelinidigunakanuntukmembantuprosesperhitungandanvalidasibuttonketikadiklikolehuser.
Nahmudahbukan?Lakukanpulahalyangserupauntukmengimplementasikanbuttonoperatortambah,kurang,bagi,kalidanjugasamadengan.Selamatberlatih:)
PanduanDasarPemrogramanTizen
113ProyekTizenPertamaku
![Page 114: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/114.jpg)
PendahuluanPadasesiinikitaakanmelakukaninstalasidankonfigurasigunamembuataplikasiTizendiatasplatformMac.DisinipenulisakanmenggunakanMacOSXElCapitan(10.11.x)sebagaitestingnya.
PanduanDasarPemrogramanTizen
114PemrogramanTizenuntukPlatformMac
![Page 115: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/115.jpg)
PersiapanuntukInstalasiSecaraumum,halyangperludisiapkandalammembangunlingkunganpengembanganTizensebagaiberikut:
Perangkatkeras:MesinMac,sebisamungkindenganspesifikasiyangmemangdirancanguntukdevelopmentKapasitasmemorysebaiknyaminimal4GBataulebihKetersediahardiskkuranglebih5GB
Perangkatlunak:JavaLegacyuntukMac.InidapatdiunduhdiwebsiteApple.Sebagaicontohinihttps://support.apple.com/kb/dl1572TizenSDK.Inidapatdiunduhdihttps://developer.tizen.org/development/tools/download.DirekomendasikanunduhSDKyangterbaruuntukMac
SebelummelakukaninstalasiSDKTizen,pastikanMacandasudahterinstallXcodeuntukmemastikansemuaprasyaratdevelopmentpadaMacterpenuhi.
Langkahselanjutnya,kitaakanmelakukaninstalasiSDKTizen.
PanduanDasarPemrogramanTizen
115PersiapanInstalasi
![Page 116: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/116.jpg)
InstalasiTizenSetelahunduhfileSDKTizenuntukMacdihttps://developer.tizen.org/development/tools/download,andadapatmenjalankanfilesetup(*.dmg)sehinggaakanmendapatkankotakdialogsepertidibawahini
ProsesinstalasiinimemerlukankoneksiInternetuntukprosesupdatenya.Opsilain,andadapatunduhfileSDKImageterlebihdulu.
Padagambardiatas,klikfileinstallersehinggaandamendapatkankotakdialogsepertipadagambardibawahini.
Pilihlokasiinstalasinya.Jikasudah,klikcheckboxAccept.
PanduanDasarPemrogramanTizen
116InstalasiTizen
![Page 117: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/117.jpg)
Untukmemulaiinstalasi,kliktombollingkanyangdidalamnyaadapanahkebawah.
ProsesinstalasicukuplamauntukandayangmemilikikoneksiInternetyangpelan.
Jikasudahselesaiprosesinstalasinya,andadapatmelihatmenuUpdateManager-x.ydimanax.yadalahversidariTizenUpdateManager.
Langkahselanjutnya,kitaharusmelakukankonfigurasiTizenSDKdanEmulatornya.
PanduanDasarPemrogramanTizen
117InstalasiTizen
![Page 118: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/118.jpg)
KonfigurasiSetelahInstalasiTizenUntukmelengkapidevelopment,kitaharusmenjalankanUpdateManagersebagaibagianpostinstallation.TujuannyauntukinstalasiSDKTizenyangdidalamnyaadaDevelopmenttooldanEmulator.
KetikaUpdateManagerinidijalankan,kitaakanmendapatkankotakdialogsepertidibawahini.
PanduanDasarPemrogramanTizen
118KonfigurasiSetelahInstalasiTizen
![Page 119: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/119.jpg)
PadatabAllPackages,installbagianyangingindiinstall.SebaiknyacentangbagianyangterbarumisalkanuntukMobileatauWearableataukeduanyajikakitainginmembuataplikasidengantargetMobiledanWearable.
ProsesiniakanmemerlukanwaktusesuaidengankecepatanInternetyangdimiliki.
JikapembacamelakukanunduhduluSDKimagesupayamemangkasprosesunduhdariinstalasimakakitabisakonfigurasibagiansettingnya.
Klikikonsettingsepertiyangditunjukkanpanahdigambardibawahini.
PanduanDasarPemrogramanTizen
119KonfigurasiSetelahInstalasiTizen
![Page 120: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/120.jpg)
Setelahdiklik,kitaakanmendapatkotakdialogdibawahini.KlikbagianInstallOption,danpilihSDKImage.KemudianisidenganfileSDKImageyangtelahdiunduhsebelumnya.
PanduanDasarPemrogramanTizen
120KonfigurasiSetelahInstalasiTizen
![Page 121: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/121.jpg)
Jikasudahprosesinstalasinya,andasudahsiapmembangunaaplikasiTizen.
PanduanDasarPemrogramanTizen
121KonfigurasiSetelahInstalasiTizen
![Page 122: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/122.jpg)
MengenalTizenDevelopmentIDESetelahdiinstallsemuaSDKTizentermasukIDEnya,kitaakanmelihatmenuTizenIDEsepertiyangterlihatpadagambardibawahini.
KlikmenuTizenIDE-x.ypadamenuanda.
PanduanDasarPemrogramanTizen
122MengenalTizenDevelopmentIDE
![Page 123: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/123.jpg)
Pertamakalikitaakanditanyakanfolderuntukworking.Pilihfolderkerjaanda.
Jikasudah,kliktombolOK.DanakhirnyakitamendapatkanTizenIDEsepertiyangterlihatpadagambardibawahini.
Secaraumum,TizenIDEmiripdenganEclipse.Ya!!,karenaTizenIDEdikembangkandariEclipseIDE.
PanduanDasarPemrogramanTizen
123MengenalTizenDevelopmentIDE
![Page 124: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/124.jpg)
TizenEmulatorTidakperlumemilikiperangkatberbasisTizenuntukmengujiaplikasiTizenkitaberhasilatautidak.
TizenEmulatormemungkingkankitamembuataplikasiTizendengancepat.
DenganmengklikmenuEmulatorManager-x.ydimanax.yadalahversiaplikasi,kitaakanmendapatkanaplikasiTizenEmulatorManagersepertiyangterlihatpadagambardibawahini.
PanduanDasarPemrogramanTizen
124MengenalTizenEmulator
![Page 125: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/125.jpg)
MembuatTizenEmulatorBaruKitadapatmembuatEmulatorbarumelaluiEmulatorManager.CukupklikCreateNewpadaformmenudepandibagiantabmobile.
Jikasudahdiklik,kitaakanmelihatpropertidariTizenEmulatorini.Contohtampilansepertiyangterlihatpadagambardibawahini.
PanduanDasarPemrogramanTizen
125MengenalTizenEmulator
![Page 126: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/126.jpg)
IsinamaEmulatordanbeberapafiturlainnyasepertiresolusidanMemory.SesuaikandengankapasitasMacyangdimiliki.
Jikasudah,kliktombolConfirmuntukmenyimpannya.Contohhasilnyadapatdilihatpadagambardibawahini.
PanduanDasarPemrogramanTizen
126MengenalTizenEmulator
![Page 127: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/127.jpg)
PanduanDasarPemrogramanTizen
127MengenalTizenEmulator
![Page 128: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/128.jpg)
ApabilakitainginmengeditTizenEmulator,kitacukupklikikonEmulatordanklikikoneditsebelahkanansepertiyangterlihatpanahwarnamerahdigambardibawahini.
MenjalankanTizenEmulatorUntukmenjalankanTizenEmulator,kitadapatlangsungmengklikpanahdariEmulatoryangtelahdibuatsepertiyangterlihatpadagambardibawahini.
PanduanDasarPemrogramanTizen
128MengenalTizenEmulator
![Page 129: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/129.jpg)
SelanjutnyakitaakanmelihatkotakdialogTizenEmulator.ButuhwaktuuntukmenampilkanisidariTizenOSini.
PanduanDasarPemrogramanTizen
129MengenalTizenEmulator
![Page 130: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/130.jpg)
Contohhasilnyadapatdilihatpadagambardibawahini.
GeserpadalayarTizenEmulatordenganmenggunakanMouseuntukmelihatisidariTizenEmulatorini.ContohTizenSmartphoneEmulatoryangmenampilkanisibeberapaaplikasiTizen.
PanduanDasarPemrogramanTizen
130MengenalTizenEmulator
![Page 131: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/131.jpg)
PanduanDasarPemrogramanTizen
131MengenalTizenEmulator
![Page 132: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/132.jpg)
HelloTizenPadasesiinikitaakanmembuatapliaksisederhanayaitu"helloworld"yangmenampilkantulisanpadaaplikasiTizenMobile.
MembuatProyekBaruPadasesiinikitamenggunakanTizenIDEuntukmembuataplikasiTizendengantargetplatformMobile.
PadaTizenIDEklikmenuFile->New->Project.
Setelahdiklikmenunya,kitaakanmelihatkotakdialogpembuatanprojectbaru.PilihTizenNativeProjectpadakategoriTizen.Contohtampilannyasepertipadagambardibawahini.
PanduanDasarPemrogramanTizen
132HelloWorldTizen
![Page 133: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/133.jpg)
KemudianakanmelihatbeberapatemplateprojectyangdisediakanolehTizen.Padakasusini,kitamemilihBasicUIyangberadapadakategoriMobile-x.ydimanax.yversidariSDKnya.
Berinamaprojectsesuaikeinginan,misalkanHelloTizen.Jikasudah,kliktombolFinish.
PanduanDasarPemrogramanTizen
133HelloWorldTizen
![Page 134: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/134.jpg)
Apabilaprojectpembuatanprojectbarusudahselesai,kitaakanmendapatkankodeprogramsesuaidengantemplateyangdipakai.
PanduanDasarPemrogramanTizen
134HelloWorldTizen
![Page 135: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/135.jpg)
MembuatProgramKalaukitaperhatikan,dengantemplateBasicUI,kitaakanmelihatduafile,misalkannamaprojectHelloTizen,yaituhellotizen.hdanhellotizen.c.
PanduanDasarPemrogramanTizen
135HelloWorldTizen
![Page 136: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/136.jpg)
Kalaukitabukafilehellotizen.cdankitaperhatikanfunctioncreate_base_gui(),kitaakanmelihataplikasiiniakanmembuatGUIdanmemasukkansebuahobjeklabeldimanainidibuatdengancaramemanggilelm_label_add().
Kemudianpemberiannilaitextpadaobjeklabel,kitamenggunakanfungsielm_object_text_set().
PanduanDasarPemrogramanTizen
136HelloWorldTizen
![Page 137: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/137.jpg)
Berikutinipotongankodeprogramnya.
PanduanDasarPemrogramanTizen
137HelloWorldTizen
![Page 138: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/138.jpg)
staticvoid
create_base_gui(appdata_s*ad)
{
/*Window*/
/*Createandinitializeelm_win.
elm_winismandatorytomanipulatewindow.*/
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)){
introts[4]={0,90,180,270};
elm_win_wm_rotation_available_rotations_set(ad->win,(constint*)(&rots),4);
}
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);
/*Conformant*/
/*Createandinitializeelm_conformant.
elm_conformantismandatoryforbaseguitohavepropersize
whenindicatororvirtualkeypadisvisible.*/
ad->conform=elm_conformant_add(ad->win);
elm_win_indicator_mode_set(ad->win,ELM_WIN_INDICATOR_SHOW);
elm_win_indicator_opacity_set(ad->win,ELM_WIN_INDICATOR_OPAQUE);
evas_object_size_hint_weight_set(ad->conform,EVAS_HINT_EXPAND,EVAS_HINT_EXPAND);
elm_win_resize_object_add(ad->win,ad->conform);
evas_object_show(ad->conform);
/*Label*/
/*Createanactualviewofthebasegui.
Modifythisparttochangetheview.*/
ad->label=elm_label_add(ad->conform);
elm_object_text_set(ad->label,"<align=center>HelloTizen</align>");
evas_object_size_hint_weight_set(ad->label,EVAS_HINT_EXPAND,EVAS_HINT_EXPAND);
elm_object_content_set(ad->conform,ad->label);
/*Showwindowafterbaseguiissetup*/
evas_object_show(ad->win);
}
Simpansemuakodeprogramnya.
MenjalankanProgramUntukmenjalankanaplikasi,kitamelakukankompilasiprojectkitadengancaramengklikkananprojectnyasehinggakitaakanmendapatkanmenu.PilihBuildProject.
PanduanDasarPemrogramanTizen
138HelloWorldTizen
![Page 139: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/139.jpg)
JalankanProgramkeTizenEmulator
ApabilakitasudahmembuatTizenEmulator,kitadapatmenjalankandenganmengklikkananprojectdanpilihmenuRunAs.
PanduanDasarPemrogramanTizen
139HelloWorldTizen
![Page 140: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/140.jpg)
KemudiankitakanmendapatkankotakdialogTizenEmulator.PilihEmulatornya.JikasudahkliktombolLaunch.
PanduanDasarPemrogramanTizen
140HelloWorldTizen
![Page 141: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/141.jpg)
AplikasiTizenEmulatorakanrunning.
PanduanDasarPemrogramanTizen
141HelloWorldTizen
![Page 142: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/142.jpg)
Jikatidakmunculaplikasinya,lakukanRunAslagisehinggakitaakanmendapatkanaplikasimunculsepertipadagambardibawahini.
PanduanDasarPemrogramanTizen
142HelloWorldTizen
![Page 143: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/143.jpg)
JalankanProgramkePeralatanTizen
UntukmenjalankanaplikasikeTizen,kitahubungkanSmartphoneTizenkekomputerdankonfigurasikedevice.
Kemudianprosesrunningsepertibiasa.
DebuggingBagipembacayangsudahpernahmemilikipengalamanmenggunakanEclipsemakaprosesdebuggingpadaTizenIDEmemilikipengalamanyangsama.
Cukupklikkananpadakodeprogramyangakandianalisadannantiakankeluarmenu,pilihAddBreakPoint.
PanduanDasarPemrogramanTizen
143HelloWorldTizen
![Page 144: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/144.jpg)
Jikasudah,kitaakanmelihatbulatanwarnabirudisampingkodeprogram.
PanduanDasarPemrogramanTizen
144HelloWorldTizen
![Page 145: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/145.jpg)
SekarangkitamelakukandebuggingdengancaramengklikkananprojectnyadanpilihmenuDebugAs.
PanduanDasarPemrogramanTizen
145HelloWorldTizen
![Page 146: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/146.jpg)
Prosessebuggingberjalan.UntuktracebisamenggunakanF5atauF6.
Nantiprosesiniakanmasukkebreakpointyangtelahkitatentukan.
PanduanDasarPemrogramanTizen
146HelloWorldTizen
![Page 147: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/147.jpg)
Kliktombolikonmerahuntukmengakhiriprosesdebugging.
KlikTizenNativebagiankananatasuntukkembalikemodecodeeditorawalnya.
PanduanDasarPemrogramanTizen
147HelloWorldTizen
![Page 148: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/148.jpg)
Ok,cukupmudahbukanprosesdebuggingnya?
PanduanDasarPemrogramanTizen
148HelloWorldTizen
![Page 149: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/149.jpg)
ProjectTizenPertamaku:KalkulatorSederhanaPadasesiinikitaakanmembuataplikasisederhanayaitukalkulatordenganmenggunakanNativeApplication.
TujuanHalyangingindicapaidisiniadalahbagaimanakitamemanfaatkankomponenUIstandardyangdisediakanolehTizenSDKsepertilabel,grid,buttondansebagaimanya.
MembuatProyekBaruPertamakalikitamembuatprojectbarumelaluimenuFile->News->TizenNativeProject.PilihtemplateBasicUIpadakategoriMOBILE.isinamaproject,misalkanMyCalculator.
Jikasudah,kliktombolFinish.
Nantihasildariprojectinikitaakanddapatkanduafile.hdan.c.MisalkannamaprojectnyaadalahMyCalculatormakaakandihasilkanfilemycalculator.hdanmycalculator.c.
PanduanDasarPemrogramanTizen
149ProyekTizenPertamaku
![Page 150: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/150.jpg)
MembuatTampilan(UI)TizenPadapembuatanUIuntukaplikasikitaakanmenggunakanNativeUIbawaandariTizenAPI.Tampilanaplikasiakandibuatpadafilemycalculator.c.
Tampilanyangakandibuatsepertiyangdilihatpadagambardibawahini.
Prosesnyaakandijelaskanpadasesiselanjutnya.
MembuatProgramTizenPertamakalikitamodifikasimycalculator.c.Padastructappdatakitamodifikasi.Asalkodeprogramsebagaiberikut.
typedefstructappdata{
Evas_Object*win;
Evas_Object*conform;
Evas_Object*label;
}appdata_s;
Diubahmenjadisebagaiberikut.
PanduanDasarPemrogramanTizen
150ProyekTizenPertamaku
![Page 151: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/151.jpg)
typedefstructappdata{
constchar*name;
Evas_Object*win;
Evas_Object*bg;
Evas_Object*conform;
Evas_Object*entry;
Evas_Object*basic_content;
Evas_Object*advanced_content;
}appdata_s;
SelanjutnyakitamembuatfungsigunamenampilkanUIbeberapatombolkalkulatorsepertitombol0,1,2...9dantombol+,-,/sejenisnya.
staticEvas_Object*
create_bg(Evas_Object*parent)
{
Evas_Object*bg;
if(parent==NULL)returnNULL;
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);
returnbg;
}
staticEvas_Object*
create_conform(Evas_Object*parent)
{
Evas_Object*conform,*bg;
if(parent==NULL)returnNULL;
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);
returnconform;
}
staticvoid
rotation_cb(void*data,Evas_Object*obj,void*event_info)
PanduanDasarPemrogramanTizen
151ProyekTizenPertamaku
![Page 152: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/152.jpg)
{
appdata_s*ad=data;
intcurrent_degree=elm_win_rotation_get(obj);
if(current_degree!=0&¤t_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);
}
}
staticvoid
clicked_0_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>0</font_size>");
}
staticvoid
clicked_1_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>1</font_size>");
}
staticvoid
clicked_2_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>2</font_size>");
}
staticvoid
clicked_3_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>3</font_size>");
}
staticvoid
clicked_4_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>4</font_size>");
}
staticvoid
clicked_5_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>5</font_size>");
PanduanDasarPemrogramanTizen
152ProyekTizenPertamaku
![Page 153: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/153.jpg)
}
staticvoid
clicked_6_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>6</font_size>");
}
staticvoid
clicked_7_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>7</font_size>");
}
staticvoid
clicked_8_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>8</font_size>");
}
staticvoid
clicked_9_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>9</font_size>");
}
staticvoid
clicked_c_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_set(entry,"<align=right>");
}
staticvoid
clicked_divide_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>/</font_size>");
}
staticvoid
clicked_multi_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>X</font_size>");
}
staticvoid
clicked_plus_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
PanduanDasarPemrogramanTizen
153ProyekTizenPertamaku
![Page 154: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/154.jpg)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>+</font_size>");
}
staticvoid
clicked_minus_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>-</font_size>");
}
staticvoid
clicked_dot_cb(void*data,Evas_Object*objEINA_UNUSED,void*event_infoEINA_UNUSED)
{
Evas_Object*entry=data;
elm_entry_entry_append(entry,"<font_size=50>.</font_size>");
}
staticEvas_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);
PanduanDasarPemrogramanTizen
154ProyekTizenPertamaku
![Page 155: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/155.jpg)
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);
PanduanDasarPemrogramanTizen
155ProyekTizenPertamaku
![Page 156: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/156.jpg)
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);
PanduanDasarPemrogramanTizen
156ProyekTizenPertamaku
![Page 157: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/157.jpg)
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);
returntable;
}
staticEvas_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);
PanduanDasarPemrogramanTizen
157ProyekTizenPertamaku
![Page 158: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/158.jpg)
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>e^x</font_size>");
evas_object_show(button);
elm_table_pack(table,button,0,3,1,1);
PanduanDasarPemrogramanTizen
158ProyekTizenPertamaku
![Page 159: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/159.jpg)
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^2</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>Y^x</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);
returntable;
}
staticEvas_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);
PanduanDasarPemrogramanTizen
159ProyekTizenPertamaku
![Page 160: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/160.jpg)
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);
/*Panelbasiccontent*/
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);
/*Paneladvancedcontent*/
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);
returnpanel;
}
staticEvas_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);
returnentry;
}
Kemudiankitamodifikasifungsicreate_base_gui()dantuliskodeprogramdibawahini.
PanduanDasarPemrogramanTizen
160ProyekTizenPertamaku
![Page 161: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/161.jpg)
staticvoid
create_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)){
introts[4]={0,90,180,270};
elm_win_wm_rotation_available_rotations_set(ad->win,(constint*)(&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);
/*Showwindowafterbaseguiissetup*/
evas_object_show(ad->win);
}
Simpanprogramsemuanya.
MenjalankanProgramTizenkeEmulatorPertamakalidilakukanadalahmelakukankompilasiuntukmemastikantidakadaerrorpadaprogramkita.
PanduanDasarPemrogramanTizen
161ProyekTizenPertamaku
![Page 162: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/162.jpg)
CukupklikkananpadaprojectkitadanpilihBuildProject.
Hasilkompilasinyabisadilihatdibagianbawahnya.
PanduanDasarPemrogramanTizen
162ProyekTizenPertamaku
![Page 163: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/163.jpg)
KlikRununtukmenjalankanemulatorTizen.Danpilihemulatornya.
Jikasudah,kliktombolLaunchuntukmenjalankanemulatornya.
Tekantombolpadakalkulatorsehinggahasilnyaakanmunculdilayar.
PanduanDasarPemrogramanTizen
163ProyekTizenPertamaku
![Page 164: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/164.jpg)
MenjalankanProgramTizenkeSmartphoneTizenUntukmenjalankankeTizensmartphone,kitacukuparahkanketargetperalatanyangsudahterhubung.
Jikasukses,kitaakanmelihataplikasinyamunculpadaTizensmartphonetersebut.
PanduanDasarPemrogramanTizen
164ProyekTizenPertamaku
![Page 165: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/165.jpg)
ResourcesBerikutinibeberapasumberinformasiyangdapatdigunakandalampengembanganaplikasiTizen.
ForumTizen(English),https://developer.tizen.org/forumsKumpulanCodeSnippet,https://developer.tizen.org/community/code-snippetKumpulancontohprogram,https://developer.tizen.org/community/tizen-projectsArtikel(English),https://developer.tizen.org/community/tip-tech
PanduanDasarPemrogramanTizen
165Resouces
![Page 166: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/166.jpg)
PenulisBerikutprofilepenulisdaribukuini.
Fajri
Fajri,S.Kom.M.Kom.lahirdiBukittinggipadatanggal3Oktober1991.IamenyelesaikanstudiSarjanadanMagisterpadaBidangIlmuKomputerdiUniversitasIndonesiadalamwaktu4,5tahundengankeduanyameraihpredikatCumlaude.SampaisaatiniFajrimerupakanseorangpeneliti,developerdanjugadatascientistdiSamsungResearchIndonesiayangaktifbergerakdibidangPerolehanInformasi,PengolahanBahasaManusia,PembelajaranMesindanjugaTizenOperatingSystem.Karya-karyailmiahnyabisadilihatpadajournalIEEE,SpringerdanjugaACM.
PanduanDasarPemrogramanTizen
166ProfilPenulis
![Page 167: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/167.jpg)
Diselawaktunya,Fajrisenangbermainmusikdanbernyanyi(https://soundcloud.com/fajri91),berenang,membacanoveldanjugatraveling.Fajribisadihubungimelaluiakuntwitternya@FajriPhDatauwebpribadinyahttp://fajrikoto.com
GilangKusumaJati
GilangKusumaJati,S.T,M.Kom.LulussebagaiSarjanaTeknikInformatikadariInstitutTeknologiTelkomdanMagisterIlmuKomputerdariUniversitasIndonesia.GilangmemulaikarirnyasebagaiDosendiFakultasIlmuKomputerUniversitasIndonesiadenganmengajarbeberapamatakuliahPemrogramandanStrukturData.BidangketertarikannyaadalahEvolutionaryComputationdanMobileTechnology.Sejakkuliah,GilangaktifikutsertadanmemenangkanbeberapakompetisiITbaiknasionalmaupuninternasional.SaatiniGilangbekerjasebagaiLeadEngineerdiSamsungR&DInstituteIndonesia.Publikasiinternasional
PanduanDasarPemrogramanTizen
167ProfilPenulis
![Page 168: Panduan Dasar Pemrograman Tizen](https://reader031.vdocuments.site/reader031/viewer/2022013117/587dde2c1a28abaf6b8b4cbd/html5/thumbnails/168.jpg)
GilangdapatdilihatpadaIEEE,SpringerdanElsevier.AplikasimobilenyajugadapatdiunduhdiGooglePlayStoredanWindowsPhoneStore.Gilangdapatdihubungimelaluiwebsitepribadinyadihttp://gilangkusumajati.com
AgusKurniawan
AgusadalahpengajardanpenelitidiFakultasIlmuKomputer-UniversitasIndonesiadanSamsungR&DInstituteIndonesia.Diajugaseorangpenulisuntuktopikteknologikomputerdaninternet.BidangketertarikannyamengenaiSekuriti,JaringanKomputer,SoftwareEngineeringdanMachineLearning.
Diselawaktunya,diamengajakkeduaanaknyabermaindanmemilikihobbyuntuktravelling,kuliner,danfoto-fotoasalmemotret.
SaatiniAgussedangmenyelesaikankuliahS3,Doktoral,padajurusanComputerScience,FreieUniversitätBerlin,Germany.Diadapatdihubungimelaluiblogpribadinyadihttp://blog.aguskurniawan.net
PanduanDasarPemrogramanTizen
168ProfilPenulis