Cara Optimasi Mysql Server Di KloxoMR


Tidak sedikit user yang menggunakan database mysql untuk server database di instansinya masing-masing, dengan kemampuan database mysql yang tergolong diatas rata-rata walaupun mysql tersebut merupakan database yang open source, bila kita bisa mengoptimalkan hasilnya akan lebih powerfull delam kita menggunakan database mysql. Saya akan sedikit share tentang pengalaman saya menggunakan database Mysql agar bisa melakukan optimasi database mysql kita.
Cara optimasi ini yang kita lakukan adalah kita menyesuaikan kemampuan database mysql kita dengan resource komputer server yang kita gunakan untuk server database kita, jadi kita tidak bisa memaksakan dengan konfigurasi mysql yang maksimal dengan resource yang tidak sesuai. Cara yang saya lakukan dalam mengoptimasi mysql database saya yaitu menggunakan mysql tuner. Para DBA yang menggunakan mysql sering menggunakan salah satu cara ini untuk melakukan optimasi terhadap databasenya.
Langsung saja kita uji cobakan di server Ubuntu server punya saya :
    1. Yang pertama kita lakukan adalah download file mysqltuner.pl terlebih dahulu, bisa juga menggunakan perintah command line
      wget mysqltuner.pl
    2. Path terlebih dahulu menggunakan perintah
      PATH=$PATH:/usr/local/mysql/bin

  • Jalankan mysqltuner dengan perintah
    ./mysqltuner.pl
  • Hasil dari menjalankan mysqltunerMysqltuner
  • Dari hasil tersebut kita bisa melihat mana konfigurasi yang perlu dioptimalkan, yang statusnya berwarna merah adalah yang perlu diperhatikan.
  • Kemudian edit konfigurasi file
    /etc/my.cnf
    dengan perintah dicommand line
    nano /etc/my.cnf
  • Kita bisa tambahkan konfigurasi seperti ini


# The MySQL server
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
#skip-locking
key_buffer = 1024M
max_allowed_packet = 1M
table_cache = 2000
#sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

skip-name-resolve
thread_cache_size=64
table_cache=1024
local-infile=0
innodb_file_per_table=1
query_cache_limit=1M
max_connections=500
key_buffer_size=1024M
join_buffer_size=256M
query_cache_type=1
query_cache_size=64M
max_tmp_tables=1
tmp_table_size=64M
max_heap_table_size=64M
default-storage-engine=MyISAM
log-slow-queries=/var/lib/mysql/slow.log
open_files_limit=2324
innodb_buffer_pool_size=2G
8. Setelah konfigurasi semua selesai, restart service mysql dan kembali jalankan perintah
./mysqltuner.pl
lihat hasilnya ada    perbedaan atau tidak, biasanya perubahan konfigurasi akan kelihatan dihari berikutnya.
source: http://www.infokah.com/cara-optimasi-mysql/

Cara Setting Waktu dan Date Time di ubuntu via terminal


Sebagai SysAdmin tentu dengan hal dalam mengatur / men-setting waktu sudah menjadi hal yang dasar. jika menggunakan GUI sangat mudah tetapi jika menggunakan CommandLine (Terminal) pasti harus tau perintah yang digunakan. Berikut saya akan berikan cara men-setting waktu (buat jaga-jaga jika lupa… WARNING: “SysAdmin juga manusia” )

Lihat Waktu

Untuk melihat tanggal dan waktu perintahnya cukup
$ date
 

Mengatur Waktu

Mengatur waktu bearti mengubah waktu atau menetapkan waktu yang baru kedalam sistem. untuk mengatur waktu anda bisa menggunakan sintax berikut:
$ sudo date [nnddhhmmyyyy.ss]
nnddhhmmyyyy.ss merupakan format penulisan tanggal dan waktu yang baru sesuai dengan penjelasan berikut
  • nn adalah bulan dua digit, antara 01 sampai 12
  • dd adalah hari dua digit, antara 01 dan 31, dengan aturan reguler untuk hari sesuai dengan bulan dan tahun menerapkan
  • jj adalah dua jam digit, menggunakan periode 24-jam sehingga itu adalah antara 00 dan 23
  • mm digit dua menit, antara 00 dan 59
  • yyyy adalah tahun, bisa dua digit atau empat digit: pilihan Anda. Saya lebih suka menggunakan empat digit tahun kapan pun saya bisa untuk kejelasan lebih baik dan tidak membingungkan
  • ss adalah dua detik digit. Perhatikan periode ‘.’ sebelum ss tersebut.
Contoh anda akan mengatur tanggal 31 Januari 2012 7:10:12
$ sudo date 013107102012.12
 

Mengubah Zona Waktu

Anda dapat memperbarui atau mengubah zona waktu Anda dengan
$ dpkg-reconfigure tzdata
Perintah ini akan memandu Anda melalui proses pengaturan zona waktu yang baru. Anda juga dapat memilih UTC (GMT) jika Anda ingin. Jika sistem Anda tidak memiliki tzdata, instal sebagai berikut:
$ sudo apt-get install tzdata
 

Sinkronisasi Waktu via NTP

Jika Anda ingin untuk melakukan sinkronisasi dengan NTP jam Anda server, juga sangat mudah. Hanya pastikan Anda memiliki file file ntp.conf di /etc
$ ls /etc/ntp.conf
Jika Anda melihat /etc/ntp.confsebagai hasilnya, Anda sudah memiliki file tersebut. Jika perintah ls memberikan kesalahan, Anda tidak memilikinya. Jika demikian, Anda dapat membuat sendiri.
$ sudo nano /etc/ntp.conf
Di sini Anda dapat mengganti, menambah, dan / atau menghapus setiap server yang Anda inginkan. Anda akan menemukan daftar server waktu dari daftar server waktu NTP publik. Anda dapat secara manual sync jam menggunakan berikut
$ sudo ntpdate servername
Contoh
$ sudo ntpdate pool.ntp.org
Jika Anda tidak memiliki ntpdate terinstal, Anda dapat menginstalnya melalui:
$ sudo apt-get install ntpdate
 

Catatan Tambahan

Untuk melihat hardware clock
$ hwclock -r
Jika sudah mengatur waktu di system maka bisa menerapkan ke hardware (bios) dengan cara berikut
$ hwclock -w

Cara Install PHP 5.4 on CentOS/RHEL 7.1, 6.7 and 5.11 via Yum

PHP 5.4.44 has been released on PHP.net on 6th August 2015, and is also available for CentOS/RHEL 5.11, 6.7, 7.1 at Webtatic via Yum.
Update 2013-07-21 – A new package “php54w-mysqlnd” has been added as an alternative to “php54w-mysql”. This will instead provide mysql, mysqli, and pdo_mysql built against the PHP MySql native driver rather than the system default libmysqlclient. It will replace “php54w-mysql55″, as it will work with MySQL 5.0/5.1/5.5 server)
Update 2013-06-20 – Webtatic now has released PHP 5.5.0 for CentOS/RHEL 5 and 6
Update 2013-05-26 – CentOS/RHEL 5.x now supported.
Update 2013-05-18 – A new package “php54w-pecl-zendopcache” has been added, Zend Optimizer Plus opcode cache.
Update 2012-08-26 – APC is stable enough now and so the extension has been added
Update 2012-07-22 – memcache and xdebug extensions have been added
Update 2012-04-29 – mcrypt, tidy, mssql, interbase have been added back in to the repository.

PHP 5.4.0 adds new features such as:
  • Traits
  • Built-in web server
  • Array short notation
  • Array return value de-referencing
  • Finally killing off magic-quotes and safe-mode
To see what else has been added, check out the changelog.
To install, first you must add the Webtatic EL yum repository information corresponding to your CentOS/RHEL version to yum:
CentOS/RHEL 7.x:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
CentOS/RHEL 6.x:
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
CentOS/RHEL 5.x:
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
Now you can install php by doing:
yum install php54w
If you would like to upgrade php to this version it is recommended that you check that your system will support the upgrade, e.g. making sure any CPanel-like software can run after the upgrade.
Unless you know what you are doing, it is risky upgrading an existing system. It’s much safer to do this by provisioning a separate server to perform the upgrade as a fresh install instead.
If you know what you are doing, you can upgrade PHP by:
yum install yum-plugin-replace
 
yum replace php-common --replace-with=php54w-common
It will likely give you a message “WARNING: Unable to resolve all providers …”. This is normal, and you can continue by tying “y“. You will be given a chance to see what packages will be installed and removed before again being given a chance to confirm.

Packages

Package Provides
php54w mod_php, php54w-zts
php54w-bcmath
php54w-cli php-cgi, php-pcntl, php-readline
php54w-common php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib
php54w-dba
php54w-devel
php54w-embedded php-embedded-devel
php54w-enchant
php54w-fpm
php54w-gd
php54w-imap
php54w-interbase php_database, php-firebird
php54w-intl
php54w-ldap
php54w-mbstring
php54w-mcrypt
php54w-mssql
php54w-mysql php-mysqli, php_database
php54w-mysqlnd php-mysqli, php_database
php54w-odbc php-pdo_odbc, php_database
php54w-pdo
php54w-pecl-apc
php54w-pecl-gearman
php54w-pecl-geoip
php54w-pecl-memcache
php54w-pecl-zendopcache
php54w-pecl-xdebug
php54w-pgsql php-pdo_pgsql, php_database
php54w-process php-posix, php-sysvmsg, php-sysvsem, php-sysvshm
php54w-pspell
php54w-recode
php54w-snmp
php54w-soap
php54w-tidy
php54w-xml php-dom, php-domxml, php-wddx, php-xsl
php54w-xmlrpc

Opcode Caches

A precompiled PHP APC package is available as an opcode cache, which is recommended for performance reasons. It can be installed via:
yum install php54w-pecl-apc
Zend have now released Zend Optimizer Plus opcode cache as open source, and is now known as Zend OPcache. As it’s more actively maintained than APC, it has been added as a package to the Webtatic EL6 repository. It can be installed via:
yum install php54w-pecl-zendopcache

error_reporting E_ALL now includes E_STRICT

You may get a lot more errors coming out of your error logs if by default your error_reporting is set to E_ALL now without explicitly turning off E_STRICT. The default php.ini that comes with the PHP package turns this off by default, but if you are upgrading from an existing installation, your php.ini may not be updated, meaning this will likely be turned on.

Source: https://webtatic.com/packages/php54/

Oracle Instant Client and PHP OCI8 on Debian Squeeze | Install OCI8 Di Debian


Because there is no deb package for PHP OCI8 for Debian, here is a simple tutorial how to install Oracle Instant Client and use PHP OCI8 on Debian Squeeze.

Install dependencies and required packages

This will install Apache with PHP5 support and all required packages to configure OCI8.

aptitude install php-pear php5-dev build-essential unzip libaio1

Download the software from Oracle website where you will need a Oracle account. You can create one for free if you don’t have one. Go to this link and choose your platform: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

You need yo download the following packages:
Instant Client Package - Basic
Instant Client Package - SDK

Now we are going to create the location where we are going to store Oracle Instant Client files
mkdir -p /opt/oracle/instantclient
cd /opt/oracle/instantclient
unzip instantclient-basic-linux.x64-11.2.0.3.0.zip
unzip instantclient-sdk-linux.x64-11.2.0.3.0.zip
mv instantclient_11_2/* ./
rm -r instantclient_11_2/ instantclient-basic-linux.x64-11.2.0.3.0.zip 
instantclient-sdk-linux.x64-11.2.0.3.0.zip

Now we need to create the missing simlinks
ln -s libclntsh.so.11.1 libclntsh.so
ln -s libocci.so.11.1 libocci.so

Now we are going to install the PHP part and OCI8 package
pecl install oci8 (when asked for ORACLE_HOME directory type: 
instantclient,/opt/oracle/instantclient)

At the and load OCI8 as extension and restart apache
echo "extension = oci8.so"> /etc/php5/conf.d/oci8.ini
/etc/init.d/apache2 restart

You should now be able to see OCI8 as module in phpinfo() or type:
php-i | grep oci

you will get:
oci8
oci8.connection_class => no value => no value
oci8.default_prefetch => 100 => 100
oci8.events => Off => Off
oci8.max_persistent => -1 => -1
oci8.old_oci_close_semantics => Off => Off
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20

Also the easiest way i’ve found to connect to a remote Oracle database is with this code:
<?php
$db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 192.168.XX.XXX)(PORT = 1521)))(CONNECT_DATA=(SID=XXXX)))";
$c1 = oci_connect("name","password",$db);
?>

I hope this will help you and here are some related links:
PHP OCI8 manual: http://php.net/manual/en/book.oci8.php
Oracle Database: http://www.oracle.com

Download Video Ceramah Ust. Adi Hidayat, MA


1. Keutamaan Menuntut Ilmu (Disc 1) ⇨ http://bit.ly/1Dstxcp
2. Keutamaan Menuntut Ilmu (Disc 2) ⇨ http://bit.ly/1Dstxcx
3. Keutamaan Menuntut Ilmu Bagian Kedua (Disc1) ⇨ http://bit.ly/1UmhJwL
4. Keutamaan Menuntut Ilmu Bagian Kedua (Disc 2) ⇨ http://bit.ly/1IoA58O
5. Anatomi Kebaikan (Ust. Adi Hidayat, MA) Disc 1 ⇨ http://bit.ly/1SLtsaZ
6. Anatomi Kebaikan (Ust. Adi Hidayat, MA) Disc 2 ⇨ http://bit.ly/1SLtuiR
7. Anatomi Kebaikan - Bagian Kedua (Disc 1) ⇨ http://bit.ly/1M41HVl
8. Anatomi Kebaikan Bagian Kedua (Disc 2) ⇨ http://bit.ly/1SLtuiT
9. Ceramah Islam: Anatomi Kebaikan Bagian Ketiga Disc 1 ⇨ http://bit.ly/1M41HVr
10. Ceramah Islam: Anatomi Kebaikan Bagian Ketiga Disc 2 ⇨ http://bit.ly/1M41HF3
11. Ulumul Hadits (Ilmu-Ilmu yang Berkaitan Dengan Hadits) Disc 1 ⇨ http://bit.ly/1IoA44R
12. Ulumul Hadits (Ilmu-Ilmu yang Berkaitan Dengan Hadits) Disc 2 ⇨ http://bit.ly/1SLtsaM
13. Seri Kajian Hidup dalam Naungan Sunnah Nabi (Kajian Pengantar) ⇨ http://bit.ly/1M41FNk
14. Hidup Dalam Naungan Sunnah Nabi: Bagaimana Nabi SAW Bangun Dari Tidurnya ⇨ http://bit.ly/1SLtsaT
15. Bagaimana Rasulullah saw Bangun Dari Tidurnya ⇨ http://bit.ly/1DstzB0
16. Hidup Dalam Naungan Sunnah Nabi: Bagaimana Rasulullah SAW Masuk dan Keluar Kamar Mandi? ⇨ http://bit.ly/1M41FNs
17. Tuntunan Shalat Sesuai Al-Qur'an dan As-Sunnah ⇨ http://bit.ly/1Dstxcv
18. Cara Shalat Tahajud Rasulullah Saw (1) ⇨ http://bit.ly/1Dstxcr
19. Cara Shalat Tahajud Rasulullah Saw (2) ⇨ http://bit.ly/1M41HVn
20. Cara Berdoa Rasulullah SAW Setelah Selesai Shalat Tahajud ⇨ http://bit.ly/1M41HVv
21. Shalat Tahajud yg Bisa Mendatangkan Kesuksesan di Dunia Maupun di Akhirat (1) ⇨ http://bit.ly/1UmhJwN
22. Shalat Tahajud yg Bisa Mendatangkan Kesuksesan di Dunia Maupun di Akhirat (2) ⇨ http://bit.ly/1SLtsaR
23. Selesai Shalat Tahajud, Apa yang Dicontohkan Rasulullah Hingga Salat Fajar? ⇨ http://bit.ly/1DstzB3
24. Hadits tentang Makanan Haram dan Korelasinya dengan Terkabulnya Doa KE 1 ⇨ http://bit.ly/1UmhHox
25. Hadits tentang Makanan Haram dan Korelasinya dengan Terkabulnya Doa KE 2 ⇨ http://bit.ly/1UmhHoz
26. Metodologi/Cara Penentuan Awal Ramadhan (Disc 1) ⇨ http://bit.ly/1DstzB8
27. Metodologi/Cara Penentuan Awal Ramadhan (Disc 2) ⇨ http://bit.ly/1M41FNo
28. Menyambut Ramadhan, Cara Penentuan Awal Ramadhan, Mengapa Terjadi Perbedaan? (1) ⇨ http://bit.ly/1SLtsb1
29. Menyambut Ramadhan, Cara Penentuan Awal Ramadhan, Mengapa Terjadi Perbedaan? (2) ⇨ http://bit.ly/1M41FNl
30. Sunnah Nabi Kaitannya dengan Ibadah Haji (Disc 1) ⇨ http://bit.ly/1DstzB2
31. Sunnah Nabi Kaitannya dengan Ibadah Haji (Disc 2) ⇨ http://bit.ly/1SLtsaV
32. Khutbah Idhul Adha 1435 H/2014M: Mengail Hikmah dari Kisah Keluarga Nabi Ibrahim AS ⇨ http://bit.ly/1SLtuiZ
33. Memaknai Tahun Hijriah ⇨ http://bit.ly/1M41HVp
34. Ust. H. Adi Hidayat, Lc ⇨ http://bit.ly/1DstzAY
35. Ust. H. Adi Hidayat, Lc ⇨ http://bit.ly/1M41FNq
36. Ust. H. Adi Hidayat, Lc ⇨ http://bit.ly/1M41HF4
37. KKMI Adi Hidayat 1/4 ⇨ http://bit.ly/1M41G3G
38. KKMI Adi Hidayat 2/4 ⇨ http://bit.ly/1SLtuiU
39. KKMI Adi Hidayat 3/4 ⇨ http://bit.ly/1DstzB6
40. KKMI Adi Hidayat 4/4 ⇨ http://bit.ly/1M41HVs
41. Memperbanyak Bacaan Al-Qur'an Setelah Selesai Berdoa dari Shalat Tahajud (Ust. Adi Hidayat, Lc, MA) ⇨ http://bit.ly/1M41MbN
42. Manhaj Menghafal Al-Qur'an (Ust. Adi Hidayat, Lc, MA) ⇨ http://bit.ly/1SLtEqz
43. Bersahabatlah Dengan Al Quran Oleh Ust Adi Hidayat Lc MA ⇨ http://bit.ly/1IoA6tB
44. As Sunnah An Nabawiyah Oleh Ust Adi Hidayat Lc MA ⇨ http://bit.ly/1M41MbP
45. Apa yang Dilakukan Rasulullah SAW setelah Dikumandangkan Adzan Subuh (Ust. Adi hidayat, Lc, MA) ⇨ http://bit.ly/1DstJIF
46. Persiapan Ramadhan oleh Ustadz Adi Hidayat Lc., MA ⇨ http://bit.ly/1M41Ms7
47. Tanya Jawab Keislaman Bersama Ust. Adi Hidayat, Lc, MA ⇨ http://bit.ly/1SLtEqB
48. Kajian Ustadz Adi Hidayat, Lc, MA - Birohis BKKBN ⇨ http://bit.ly/1SLtEqD
49. Persiapan Ramadhan 2 ustad Adi Hidayat Lc MA ⇨ http://bit.ly/1SLtEqx
50. Ramadhan 2015 by Ust Adi Hidayat Lc MA ⇨ http://bit.ly/1M41Kka
51. Ramadhan dengan Sunnah Oleh Ustadz Adi Hidayat Lc MA ⇨ http://bit.ly/1M41MbQ
52. DA'WA AGAMA UST,ADI HIDAYAT ,LC.MA 2015 -24 ⇨ http://bit.ly/1M41Ms5
53. Persoalan-Persoalan Seputar Ramadhan (Ust. Adi Hidayat, Lc, MA) ⇨ http://bit.ly/1DstJIH

Silahkan disebar!!!

Dari Abu Hurairah raḍyAllāhu 'anhu, ia berkata: sesungguhnya Rasulullah ﷺ bersabda : “siapa saja yang mengajak kepada kebenaran/kebaikan, maka ia memperoleh pahala seperti pahala orang yang mengerjakannya tanpa dikurangi sedikitpun. Dan siapa saja yang mengajak kepada kesesatan, maka ia mendapat dosa seperti dosa orang yang mengerjakan tanpa dikurangi sedikitpun” (HR Muslim)

Free Antivirus Terbaik Portable untuk Usb Flashdisk

Kumpulan Antivirus Portable untuk Usb Flashdisk


Antivirus Portable dapat digunakan tanpa harus di install. Jadi tools ini dapat dibawa menggunakan USB flashdisk ataupun kepingan CD / DVD. Hal ini dapat digunakan untuk membersihkan komputer yang terkena virus dan tidak mempunyai antivirus sama sekali. Atau hanya sekedar jaga jaga dan disimpan di flash disk jika anda berpergian.
Antivirus ini juga dapat diupdate virus definition nya. Tapi kelemahnnya aplikasi ini adalah antivirus ini tidak dapat digunakan untuk real time protection.
Berikut adalah Kumpulan Antivirus Portable Terbaik dan Gratis


Portable Antivirus ini cukup  populer dan merupakan aplikasi open source dan memiliki ukuran 6Mb saja.

Tools gratis yang disediakan oleh Kaspersky untuk membersihkan komputer yang terinfeksi virus.

Program ini tersedia dalam dua tampilan antarmuka pertama dengan berbasis GUI   dan lainnya command line based scanner.

Tools ini bersifat standalone dan digunakan untuk mendeteksi dan menghapus virus tertentu.

sumber:http://edward-munich911.blogspot.co.id

First PhoneGap App with Android using Eclipse Step by Step on Windows

Hi there! Today i'm gonna show you, how to create your first PhoneGap App with Android using Eclipse on Windows in a few minutes. While searching the web for a "Hello World Project" i found a lot of posts but no one had a good quality or was detailed enough, so anyone could understand it if starting by zero.
So i'm trying to simplify this process as much as possible and give this know how further to you all. Pre-requisite is that you have read and done all the steps from the post: How to install PhoneGap on Windows. So i'll assume you have done those steps and are ready to start. 

ATTENTION: In this post we are gonna see a PhoneGap Project (with plain javascript).
If you are looking for an Android App Project (with plain Java) so go to: First Android App Step by Step

We will learn how to:
  • download and install PhoneGap
  • create a new Android App Project
  • change the project from Java to Javascript
  • prepare the Activity-Class to work with PhoneGap
  • create a simple index.html file to run on the App
  • prepare the Manifest-file before running it
  • to run the App
  • shortcut all those steps

Download and install PhoneGap

Go to PhoneGap and download the newst version of it and unzip it in any place you want. (at the time i wrote this post it was PhoneGap 2.2.0) I recommend to unzip it in the development directory C:\development as described in the post How to install PhoneGap on Windows. You should see a structure like this bellow.


So before going ahead lets do some changes here. Select the folder phonegap-phonegap-8a3aa47 and press Ctrl+X, go into C\development and paste it here with Ctrl+V and rename it to phonegap-2.2.0 so that you have the new structure as shown bellow. After that delete the empty folder called: phonegap-phonegap-2.2.0-0-g8a3aa47.

Creating a new Android App Project

Ok, now lets create a normal Android App Project first before comming back to this new PhoneGap structure. Start Eclipse if not already running and press Ctrl+N to start the project wizard and create a new project like that: (See picture sequence bellow and don't worry about the details at this point. As soon as we get further we will understand it.)






Thats the result if everything goes fine. At this point this App is still a plain java project. We will change it now to a PhoneGap App in a few minutes. Don't worry about the App name or other properties at this point of the post. We can change everything if we want. Let's keep the focus on the really important setup things we shall know.


Changing the project from Java to Javascript PhoneGap App

First create a new folder called www and a new file called index.html. both in the project folder assets. By me it looks like this:



Ok, that's the interresting part of it. To do this, go back now to the PhoneGap structure we've unzipped in the C:\ directory and look for the android folder in it. By me it looks like C:\development\phonegap-2.2.0\lib\android and then you should see the picture bellow: (locate the points 1) 2) and 3) of it)



Copy now the point 1) 2) and 3) in the project structure the way you see bellow.


Prepare the Activity-Class

Ok we are almost done. Just a few changes before running it. In the eclipse locate the src-folder and open the MainActivity.java class in it and change it that way you'll see bellow: (I leave the comments so you can see what I've changed)

import org.apache.cordova.DroidGap;

import android.os.Bundle;
import android.view.Menu;

public class MainActivity extends /* Activity */DroidGap {

    // @Override
    // protected void onCreate(Bundle savedInstanceState) {
    // super.onCreate(savedInstanceState);
    // setContentView(R.layout.activity_main);
    // }

    @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.activity_main, menu);
        return true;
    }

} 

Content of Index.html

Ok now copy paste this HTML-Code into the index.html file we've created in the assets-folder.
<!DOCTYPE HTML>
<html>
  <head>
    <title>First App</title>
  <script src="cordova-2.2.0.js"></script>
  <script>
     function onLoad(){
          document.addEventListener("deviceready", onDeviceReady, true);
     }
     function onDeviceReady(){ navigator.notification.alert("PhoneGap is working!!");
     }
  </script>
  </head>
  <body onload="onLoad();">
       <h1>Welcome to PhoneGap</h1>
       <h2>Edit assets/www/index.html</h2>
  </body>
</html>

Prepare the Manifest-File before launching

In the manifest file called AndroidManifest.xml make sure you have inserted the following code in it:(Tip: in order to not do it all by hand, look at C:\development\phonegap-2.2.0\lib\android\example\AndroidManifest.xml and copy/paste it from there.)

Running the App

Select your MainActivity.java file and run it as Android application. (make sure you've an AVD installed as we have seen in the post How to install PhoneGap on Windows) If everything goes well you'll see that picture bellow. Thats all. From here you can now develop your app further.



Setup-Shortcut for the Developers under us

Ok there is a even better way to do this.(I've shown all steps first so we do not overwhelm us with to much stoff)  Delete the folder www in the eclipse project. Then look into PhoneGap directory C:\development\phonegap-2.2.0\lib\android\example\assets There you'll encounter a sample structure. Just copy it into assets folder like i did bellow instead of doing it by hand. It should look like this if you run it:




Another good short-cut the youtube video PhoneGap Android Tutorial.
That's all. Now let's develop some "real" PhoneGap Apps. ;-)) Have fun!