Kepingin juga ngoding Android, ya belajarlah koding
Android. Ternyata diperlukan sumber daya yg bener-2 mumpuni. Terpaksalah
ngoding Android ini pake kompi “seadanya” dengan spek core-2-duo, RAM 1GB,
Win7. Spek segini nih gak mampu menjalankan simulator
Android, jadi musti nyiapin HP buat nge-test hasil koding.
Acara dimulai dengan donlot s/w yang diperlukan:
Eclipse dan Android Studio (IDE development), ADT (Android Development Tool)
untuk Eclipse. SDK di donlot menyusul dan hanya ndonlot dikit aja: versi 19
(KitKat) dan 23. Google Play service (diperlukan untuk map/peta, tentunya juga
AdMob) juga harus di donlot. Lanjut dengan instalasi, semuanya dilakukan sambil
jalan dan atas saran mbah G.
Mulai koding Map (peta), ternyata perlu Google
Map API key, ndaftar lagi di situs mbah G. Kepalang tanggung, sekalian
ndaftar AdMob buat ndapatin Ad-unit ID buat masang iklan AdMob.
Buat kalian yang pengin tau 2 item diatas, tanya mbah G aja yah....
Kode program ini gak sepenuhnya saya buat sendiri,
“Cuma” nyontek contoh kode program yang dah setengah jadi dari web juga. Di
stackoverflow.com nyaris ada semua yang diperlukan.
Gitu aja prolognya, ini kode program yang saya
“jahit” dari berbagai sumber
1. strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Qibla Time</string>
<string name="action_peta">Qibla [map]</string>
<string name="action_kompas">Qibla [compass]</string>
<string name="tgl">Date</string>
<string name="lat_lon">Lat / Lon</string>
<string name="alamat">Location</string>
<string name="hi">Altitude (m asl)</string>
<string name="tz">Time zone (GMT+)</string>
<string name="subuh">Subuh</string>
<string name="terbit">Sunrise</string>
<string name="duhur">Zuhur</string>
<string name="ashar">Asr</string>
<string name="maghrib">Maghrib</string>
<string name="isya">Isha</string>
<string name="set_asar">Asr\ntime</string>
<string name="twilit">Twilight\nangle</string>
<string name="cari_almt">Address not found</string>
<string name="no_ijin">Permission denied</string>
<string name="syafi">Syafi\'i</string>
<string name="x_sfafii">Shadow length = object height + 2x long shadow when Duhur</string>
<string name="hanafi">Hanafi</string>
<string name="x_hanafi">Shadow length = 2x object height + 2x long shadow when Duhur</string>
<string name="sudut_if">Dawn angle = </string>
<string name="sudut_is">; Isha = </string>
<string-array name = "spinner_twilit">
<item>Ithna Ashari</item>
<item>University of Islamic Sciences, Karachi</item>
<item>Islamic Society of North America (ISNA)</item>
<item>Muslim World League (MWL)</item>
<item>Umm al-Qura, Makkah</item>
<item>Egyptian General Authority of Survey</item>
<item>Institute of Geophysics, University of Tehran</item>
<item>Indoneisan Ministry of Religion</item>
</string-array>
<string name="kompas_1">Compass sensor accuracy is affected by many things !!!</string>
<string name="kompas_2">There is no compass sensor</string>
<string name="tab_1">Prayer Time</string>
<string name="tab_2">Compass Qibla</string>
<string name="tab_3">Map Qibla</string>
<string name="google_maps_key"
templateMergeStrategy="preserve"
translatable="false">AIzaSyBHfJlwDMNPKXzp0qR0WEvb30V9VFCY1PM</string>
</resources>
Yang warna merah itu unik untuk setiap program, jadi harus
disesuaikan dengan ID milik kalian sendiri.
-
google_map_key diperoleh harus
sesuai dengan nama project
-
banner_ad_unit_id, boleh pake
punya saya dulu kalo mau nyoba, ato hilangin unit iklan di activity.java
2. activity_maps.xml
Spolier activity_maps.xml:
-
Yang warna biru, gambar Ka’bah di folder
drawable (ganti dengan gambar lain juga bisa, nama file harus disesuaikan tentunya) akan jadi tombol untuk “menuju” ke Ka’bah di google map.
3. manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.munengan7camp.kiblatbymap"
android:installLocation="preferExternal"
android:versionCode="2"
android:versionName="1.1" >
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<!--
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
-->
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="26" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="Waktu Kiblat"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.Light.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".WaktuActivity" >
</activity>
<activity
android:name=".KompasActivity" >
</activity>
<activity
android:name=".PetaActivity" >
</activity>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />
</application>
</manifest>
Yang warna ungu, cuma buat aplikasi jadi full-screen, hapus bagian itu juga boleh
4. activity.java
Spoiler Activity.java:
5. gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.munengan7camp.kiblatbymap"
minSdkVersion 8
targetSdkVersion 19
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:support-v4:19.1.0'
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-maps:8.4.0'
}
Yang penting dari gradle ini adalah bagian multiDexEnabled
true, karna kebanyakan program Android yang menggunakan google
play service, bagian header program
akan melar melebihi 65Kbyte. Kalo mau cari info lebih lanjut tentang hal ini,
tanya mbah G dengan keyword Dalvik.
Yang gak sempet ngoding sendiri, donlot aja
Kiblat by Map.apk yang dah jadi liwat link ini.
Belom sempet ngaplod ke google play store karna lom ada modal $25 yang musti
pake CC buat mbuka kapling di sono.
Link itu masih file kompresi 7z, donlot dulu, uncompress dan copy ke Android-mu, trus install.
SKRIN-SOT
kbm_satelit | kbm_road |
1. klik gambar Kaabah di kiri atas untuk menuju Ka'bah
2. Klik MyLocation di kanan atas untuk menuju lokasi kalian
3. Long-klik di peta untuk nggambar garis kiblat dari tempat itu ke Kaabah
4. ganti jenis peta cuma ada di apk yg bisa di dinlot di link diata
[ update 13 juli 2018 via playstore ]
No comments:
Post a Comment