- Cari disini...
- Courses
Kategori
Web Development
Mobile Development
Studi Kasus
Fundamental
Pemula
Teknologi Populer
Laravel
PHP
Kotlin
Android
Javascript
Wordpress
Database
Semua Kelas
Flashsale
Popular
Mentor
Roadmap
- Explore
Karir
Temukan Karirmu
Tutorial & Artikel
Temukan Artikel menarik
Podcast
Podcast seputar pemrograman
Webinar
Ikuti Berbagai Webinar
Event
Temukan Event menarik
Beasiswa
Program Beasiswa
Discord
Komunitas Discord
Forum
Diskusi antar Programmer
Leaderboard
Ranking siswa Codepolitan
- Program
KelasFullstack.id
Belajar Full Stack Web Developer from A to Z
DevSchool
Coding Bootcamp dan Digital Skill Training
- Partnership
For Company
Solusi tepat untuk perusahaan
For School
Kerjasama untuk sekolah
For Campus
Kerjasama untuk kampus
For Mentor
Peluang penghasilan untuk mentor
LoginRegister
Langsung aja berikut cara membuat Aplikasi Web Mobile device Android dengan Framework PhoneGap.
Berikut step by stepnya:
1. Sobat download semua bahan yang diperlukan:
– SDK Android download di //developer.android.com/sdk/index.html
– JDK versi 7u21 download di
//www.oracle.com/technetwork/java/javase/downloads/index.html
– Framework PhoneGap download di //www.phonegap.com/
2. kalau sudah didownload semua langsung aja install JDK yang telah didownload td.
3. Extract SDK Android yang sudah didownload td. kurang lebih isinya akan seperti gambar ini.
-buka folder eclipse dan jalankan eclipse.exe
4. akan muncul tampilan awal ADT /Android Developer tools. dari sini sebenarnya sudah bisa dibuat untuk membuat aplikasi nativ android tapi belum berbasis web. kurang lebih seperti ini Screenshotnya
5. sekarang tinggal kita modif aplikasi nativenya supaya berbau Web dengan framework PhoneGap. Extract dulu phoneGap yang telah kita download kurang lebih isi dari file didalamnya adalah sebagai berikut:
buka folder Lib/Android
tampilan didalam folder
6. sekarang buat aplikasi di ADT-nya:
– buat project baru di Android Aplication Project
– akan tampil dialog box berikut.
– sesuakan setting seperti pada gambar, Aplication name di isi terserah tapi recommended sesuai apa yang saya tulis biar kebelakangnya gampang penyesuaiannya. klick Next.
– klick next lagi. semua sudah default.
– membuat icon setelah dirasa semua pass klick next
– biarkan default aja activity-nya, klick next
– sesuaikan gambar penganturannya, tinggal klick finish.
7.
tahap ini adalah menyatukan ADT dan PhoneGap.
Tampilan awal,
– sekarang yang perlu kita lakukan adalah mengcopy file cordova-2.6.0.jar yanga ada di folder phonegap tadi di lib/android (lihat Langkah 5)
– paste cordova-2.6.0.jar ke C:\Users\handexcel\workspace\App\libs, (handexcel merupakan nama user PC).
8. Buat folder baru di asset kasih nama www, contoh gambar berikut,
klick finish.
9. kita copy Folder XML yang ada di folder Phnoegap lib/android, paste ke C:\Users\handexcel\workspace\App\res
10. tinggal kita isi folder www tadi yang ada di C:\Users\handexcel\workspace\App\assets\www dengan file index terserah apa yang mau di tampilin.
11. setelah itu kita masuk lagi ke aplikasi ADT-nya lalu refresh (F5)
12. sekarang tinggal kita setting bagian config.xml yang ada di folder XML tadi. lihat gambar.
klick dua kali untuk membukanya dan copykan script berikut kedalamnya:
<?xml version=”1.0″ encoding=”utf-8″?><!– Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at //www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.–><cordova> <!– access elements control the Android whitelist. Domains are assumed blocked unless set otherwise –> <access origin=”//127.0.0.1*”/> <!– allow local pages –> <!– <access origin=”//example.com” /> allow any secure requests to example.com –> <!– <access origin=”//example.com” subdomains=”true” /> such as above, but including subdomains, such as www –> <access origin=”.*”/> <!– <content src=”//mysite.com/myapp.html” /> for external pages –> <content src=”index.html” /> <log level=”DEBUG”/> <preference name=”useBrowserHistory” value=”true” /> <preference name=”exit-on-suspend” value=”false” /><plugins> <plugin name=”App” value=”org.apache.cordova.App”/> <plugin name=”Geolocation” value=”org.apache.cordova.GeoBroker”/> <plugin name=”Device” value=”org.apache.cordova.Device”/> <plugin name=”Accelerometer” value=”org.apache.cordova.AccelListener”/> <plugin name=”Compass” value=”org.apache.cordova.CompassListener”/> <plugin name=”Media” value=”org.apache.cordova.AudioHandler”/> <plugin name=”Camera” value=”org.apache.cordova.CameraLauncher”/> <plugin name=”Contacts” value=”org.apache.cordova.ContactManager”/> <plugin name=”File” value=”org.apache.cordova.FileUtils”/> <plugin name=”NetworkStatus” value=”org.apache.cordova.NetworkManager”/> <plugin name=”Notification” value=”org.apache.cordova.Notification”/> <plugin name=”Storage” value=”org.apache.cordova.Storage”/> <plugin name=”FileTransfer” value=”org.apache.cordova.FileTransfer”/> <plugin name=”Capture” value=”org.apache.cordova.Capture”/> <plugin name=”Battery” value=”org.apache.cordova.BatteryListener”/> <plugin name=”SplashScreen” value=”org.apache.cordova.SplashScreen”/> <plugin name=”Echo” value=”org.apache.cordova.Echo” /> <plugin name=”Globalization” value=”org.apache.cordova.Globalization”/> <plugin name=”InAppBrowser” value=”org.apache.cordova.InAppBrowser”/></plugins><plugins> <plugin name=”App” value=”com.phonegap.App”/> <plugin name=”Geolocation” value=”com.phonegap.GeoBroker”/> <plugin name=”Device” value=”com.phonegap.Device”/> <plugin name=”Accelerometer” value=”com.phonegap.AccelListener”/> <plugin name=”Compass” value=”com.phonegap.CompassListener”/> <plugin name=”Media” value=”com.phonegap.AudioHandler”/> <plugin name=”Camera” value=”com.phonegap.CameraLauncher”/> <plugin name=”Contacts” value=”com.phonegap.ContactManager”/> <plugin name=”Crypto” value=”com.phonegap.CryptoHandler”/> <plugin name=”File” value=”com.phonegap.FileUtils”/> <plugin name=”Network Status” value=”com.phonegap.NetworkManager”/> <plugin name=”Notification” value=”com.phonegap.Notification”/> <plugin name=”Storage” value=”com.phonegap.Storage”/> <plugin name=”Temperature” value=”com.phonegap.TempListener”/> <plugin name=”FileTransfer” value=”com.phonegap.FileTransfer”/> <plugin name=”Capture” value=”com.phonegap.Capture”/></plugins></cordova>
– dan jangan lupa save.
13. selanjutnya kita buka AndroidManifest.xml dan copykan script berikut sesudah script android:versionName=”1.0″ >
<supports-screens
android:largeScreens=”true”
android:normalScreens=”true”
android:smallScreens=”true”
android:resizeable=”true”
android:anyDensity=”true”
/>
<uses-permission android:name=”android.permission.CAMERA” />
<uses-permission android:name=”android.permission.VIBRATE” />
<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_LOCATION_EXTRA_COMMANDS” />
<uses-permission android:name=”android.permission.READ_PHONE_STATE” />
<uses-permission android:name=”android.permission.INTERNET” />
<uses-permission android:name=”android.permission.RECEIVE_SMS” />
<uses-permission android:name=”android.permission.RECORD_AUDIO” />
<uses-permission android:name=”android.permission.MODIFY_AUDIO_SETTINGS” />
<uses-permission android:name=”android.permission.READ_CONTACTS” />
<uses-permission android:name=”android.permission.WRITE_CONTACTS” />
<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” /> <uses-permission android:name=”android.permission.GET_ACCOUNTS” />
<uses-permission android:name=”android.permission.BROADCAST_STICKY” />
– atau langsung lengkapnya seperti ini.
<?xml version=”1.0″ encoding=”utf-8″?>
<manifest xmlns:android=”//schemas.android.com/apk/res/android”
package=”com.test.app”
android:versionCode=”1″
android:versionName=”1.0″ >
<supports-screens
android:largeScreens=”true”
android:normalScreens=”true”
android:smallScreens=”true”
android:resizeable=”true”
android:anyDensity=”true”
/>
<uses-permission android:name=”android.permission.CAMERA” />
<uses-permission android:name=”android.permission.VIBRATE” />
<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_LOCATION_EXTRA_COMMANDS” />
<uses-permission android:name=”android.permission.READ_PHONE_STATE” />
<uses-permission android:name=”android.permission.INTERNET” />
<uses-permission android:name=”android.permission.RECEIVE_SMS” />
<uses-permission android:name=”android.permission.RECORD_AUDIO” />
<uses-permission android:name=”android.permission.MODIFY_AUDIO_SETTINGS” />
<uses-permission android:name=”android.permission.READ_CONTACTS” />
<uses-permission android:name=”android.permission.WRITE_CONTACTS” />
<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” /> <uses-permission android:name=”android.permission.GET_ACCOUNTS” />
<uses-permission android:name=”android.permission.BROADCAST_STICKY” />
<uses-sdk
android:minSdkVersion=”8″
android:targetSdkVersion=”17″ /><application
android:allowBackup=”true”
android:icon=”@drawable/ic_launcher”
android:label=”@string/app_name”
android:theme=”@style/AppTheme” >
<activity
android:name=”com.test.app.App_main”
android:label=”@string/app_name”
android:configChanges=”orientation|keyboardHidden”
>
<intent-filter>
<action android:name=”android.intent.action.MAIN” /><category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
<activity android:name=”org.apache.cordova.DroidGap” android:label=”@string/app_name” android:configChanges=”orientation|keyboardHidden”> <intent-filter> </intent-filter> </activity>
</application></manifest>
13. tinggal kita edit bagian, lihat gambar
klick dua kali untuk membuka dan isikan script berikut,
package com.test.app;
import org.apache.cordova.*;
import android.os.Bundle;
//import android.app.Activity;
import android.view.Menu;public class App_main extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl(“file:///android_asset/www/index.html”);
}@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.app_main, menu);
return true;
}}
selesai tinggal priview hasilnya: outputnya bisa seperti ini tergantung isi dari file indexnya:
hufttt panjang juga…. kalau kurang jelas bisa ditanyakan di comment. 🙂