Invert Pro

Selamat Datang...

OkeApk.com menyediakan berbagai koleksi game android apk terbaru yang siap untuk di download dan siap untuk menerima request download game bagi pecinta game android.

MULAIGabung

Senin, 11 Juli 2016

Download APK Pokemon GO

Download APK Pokemon GO - game pokemon Go merupakan game yang viral baru-baru ini. game yang sebenarnya diangkat dari film kartun pokemon kini dikembangkan dalam bentuk yang lebih realistis, dimana penggunanya bisa merasakan sensasi permainan yang begitu nyata.


Download APK Pokemon GO adalah game yang paling ditunggu-tunggu oleh penggemarnya yang sekarang sudah rilis! Namun belum bisa di dapatkan di App Store dan Play Store Indonesia soalnya baru dibuka dalam wilayah negara Amerika dan Australia saja. tetapi tidak usah kawatir, kami akan membuatkan tutorial cara Download Pokemon Go dimana kalian bisa menggunakan smartphone IOS maupun Android sehingga kalian dapat memainkan game ini sekarang.
 

berikut adalah Cara Download APK Pokemon GO dan cara menginstall Pokemon Go :


smartphone Android:
  1. Download dulu aplikasinya(.apk) nya disini
  2. Install Pokemon Go sesuai dengan petunjuk installasi di smartphone kalian.
  3. selesai.

smartphone apple(IOS):
Untuk smartphone apple (IOS) agak ribet dikit, berikut caranya:

  1. Buka url ini ios.hipstore.mobi
  2. Kemudian, ketikkan "Pokemon Go" dalam kotak pencarian(search)
  3. Terus Download lalu install.
  4. Saat game dijalankan atau di running maka akan muncul keterangan UNTRUSTED DEVELOPER
  5. Masuk ke menu settings > general > device management, ada pilihan Yectech Technology, di klik > trust
  6. Setelah itu Buka ulang game Pokemon Go nya.
sekian cara Download APK Pokemon GO dan cara install Pokemon GO di smartphone kalian masing-masing. 
Have Fun dan selamat bermain Pokemon Go !

Kamis, 24 Maret 2016

Tutorial Membuat Aplikasi Perpustakaan Berbasis Web dengan PHP & MySql

Tutorial Membuat Aplikasi Perpustakaan Berbasis Web dengan PHP & MySql
Tutorial Membuat Aplikasi Perpustakaan Berbasis Web dengan PHP & MySql

Bidang Teknologi Informatika sedang digemari oleh banyak kalangan sekarang ini, terutama jurusan rekayasa perangkat lunak. Swasta maupun Pemerintah sedang berlomba­lomba meningkatkan sistem informasi manajemen di perusahaan mereka. Permintaan akan lulusan IT pun semakin meningkat, bukan hanya dari kuantitas sumber daya manusia tetapi juga kualitas ilmu pengetahuan sumber daya manusia di dunia IT.

PHP Indonesia berkolaborasi dengan MGMP Kudus ­ Jepara ­ Demak mengadakan pelatihan pembuatan website bagi guru SMK IT jurusan rekayasa perangkat lunak di kota Kudus ­ Jepara ­ Demak. Pada pelatihan ini PHP Indonesia akan berbagi tips tentang bagaimana cara membuat ​ website​ . Tujuan akhir dari pelatihan ini adalah peserta mampu membuat sebuah relasi data, pembuatan sistem mengunggah foto, pembuatan halaman login atau autentikasi, pembuatan sistem yang di dalamnya terdapat create, update, delete, input, proses dan output. Peserta juga diharapkan mampu membedakan kegunaan dari masing­masing teknologi yang digunakan.

Modul ini disusun dengan tekad yang besar demi memajukan kualitas programmer di Indonesia. Modul dengan mengambil studi kasus Sistem Informasi Perpustakaan ini diharapkan bisa menjadi materi dasar untuk berkembang dari Junior Programmer hingga menjadi Expert Programmer.

Modul dibagi menjadi beberapa bagian yaitu yang pertama instalasi XAMPP dan Tools pendukung, pada bagian ini akan dibahas peralatan apa saja yang dibutuhkan dalam pembuatan sebuah ​ website​ . Kedua adalah ​ database atau basis data, bagian ini berisi penjelasan tentang apa itu basis data dan penerapan basis data dalam suatu Sistem Informasi Perpustakaan. Yang ketiga adalah HTML dan CSS, bagian ini berisi penjelasan singkat tentang apa itu HTML dan CSS, kegunaan HTML dan CSS serta penerapan HTML dan CSS dalam membuat tampilan sebuah ​ website ​ yang lebih interaktif bagi pengguna. Keempat adalah PHP,    bagian ini berisi tentang apa itu PHP dan implementasi PHP di dalam sebuah Sistem Informasi Perpustakaan.

STUDI KASUS

Pada studi kasus kali ini akan dibuat sebuah sistem informasi perpustakaan. Sistem Informasi Perpustakaan dipilih karena sistem ini memiliki komponen­komponen yang cukup lengkap namun juga lebih sederhana, sehingga sesuai untuk dijadikan pembelajaran. Komponen­komponen yang dimaksud antara lain:
1. Terdapat pengaplikasian CRUD
2. Terdapat relasi data antar tabel di database
3. Terdapat fitur login (authentication), upload file/gambar
4. Terdapat pemrosesan data (peminjaman buku, pengembalian buku dan perhitungan denda).

Sistem informasi perpustakaan ini dibuat untuk memudahkan dalam pencarian koleksi buku yang ada, pengelolaan buku dan memudahkan proses transaksi pengembalian dan peminjaman buku. Sistem informasi perpustakaan ini melibatkan anggota dan petugas perpustakaan.
Aktifitas yang ada di sistem ini sebagai berikut :
1. Pendaftaran Anggota
Pengunjung yang belum terdaftar sebagai anggota dapat melakukan pendaftaran dengan mengisi formulir pendaftaran anggota yang terdapat pada sistem.
2. Pengelolaan buku
Petugas dapat melakukan pengelolaan data buku dengan input data buku, edit data buku dan hapus data buku.
3. Peminjaman
Buku yang sudah dikelola oleh petugas perpustakaan dapat dipinjamkan kepada anggota pepustakaan.Anggota perpustakaan adalah pengunjung yang sudah melakukan proses pendaftaran anggota.Input data peminjaman dilakukan oleh petugas perpustakaan.
4. Pengembalian
Buku yang sudah dipinjam oleh anggota input data pengembaliannya dilakukan oleh petugas perpustakaan.Sistem akan memberikan laporan apakah pengembalian tepat waktu atau tidak, jika tidak sistem akan menghitung denda yang harus dibayar oleh anggota yang meminjam buku tersebut.

download modul lengkap disini

thanks to:
php indonesia dan php joglo raya

tag:
aplikasi perpustakaan berbasis web dengan menggunakan php mysql dan barcode, aplikasi perpustakaan berbasis web gratis, aplikasi perpustakaan menggunakan php, cara membuat aplikasi perpustakaan berbasis web, cara membuat program perpustakaan dengan php, contoh aplikasi perpustakaan berbasis web, contoh aplikasi perpustakaan dengan php, contoh aplikasi web perpustakaan, contoh program perpustakaan php, contoh program perpustakaan sekolah dasar, contoh sistem informasi perpustakaan berbasis web, download aplikasi perpustakaan berbasis web dengan php dan mysql, download aplikasi perpustakaan php mysql, download script web perpustakaan, download sistem informasi perpustakaan berbasis web, membuat aplikasi perpustakaan berbasis web, membuat aplikasi perpustakaan dengan php, membuat program perpustakaan dengan php, program perpustakaan menggunakan php, script web elibrary v3 sistem, sistem informasi perpustakaan berbasis web dengan php dan mysql, source code aplikasi perpustakaan berbasis web, source code aplikasi perpustakaan php, source code perpustakaan dengan vb, source code perpustakaan online php, source code perpustakaan php, source code sistem informasi geografis berbasis web, source code sistem informasi perpustakaan berbasis web, source code sistem informasi php berbasis web, tutorial membuat aplikasi perpustakaan berbasis web, tutorial membuat aplikasi perpustakaan berbasis web dengan php & mysql,
Penargetan Untuk Facebook Ads

Penargetan Untuk Facebook Ads


Pentargetan Facebook Ads


Assalamu’alaikum warohmatullahi wabarokatuh,
Salam sejahtera untuk kita semua...
Note ini dibuat untuk memenuhi janji saya beberapa waktu lalu Facebook Ads...
Tidak perlu bertele-tele lagi, kita langsung saja ya :)
Banyak orang kesusahan dalam penargetan untuk produknya, padahal banyak yang bisa kita explorer.
Tidak hanya terhadap interest-interest yang berhubungan langsung, tapi juga berhubungan tidak langsung.
Tidak hanya terhadap demografi yang langsung menjadi sasaran, tapi juga demografi yang berhubungan tidak langsung.
jadi intinya disini adalah....
Ada 2 yang bisa kita explorer untuk penargetan, yaitu :
  • INTEREST
  • DEMOGRAFI (Jenis Kelamin, Umur, Status, slll)
Dan masing-masing, ada 2 bagian yang kita targetkan yaitu :
  • Sasaran yang BERHUBUNGAN LANGSUNG dengan produk
  • Sasaran yang TIDAK BERHUBUNGAN LANGSUNG dengan produk
Mari kita bongkar satu persatu..

Penargetan berdasarkan INTEREST

  • Interest yang BERHUBUNGAN LANGSUNG dengan produk
Ini maksudnya interest-interest yang kita masukkan itu terkait langsung dengan produk yang kita jual. Semua yang terkait langsung bisa jadi pilihan. Beberapa diantaranya adalah :
  1. Interest tentang produk
  2. Interest merk produk sejenis
  3. Interest jenis-jenis produk turunan
  4. Interest tempat2 yang berhubungan dengan produk
  5. Interest siapa yang membutuhkan produk
  • Interest yang TIDAK BERHUBUNGAN LANGSUNG dengan produk
Kalau ini maksudnya, interest-interest yang kita masukkan itu jika digunakan atau dibeli, maka akan menunjang / mendukung atau menambah pengaruh dengan membeli produk yang kita jual. Beberapa diantaranya adalah :
  1. Interest tentang produk pendukung
  2. Interest tentang merk produk pendukung

Penargetan Berdasarkan DEMOGRAFI

  • Target yang BERHUBUNGAN LANGSUNG dengan produk
Ini maksudnya, market yang akan mempergunakan atau benar-benar memerlukan produk yang kita jual.
  • Target yang TIDAK BERHUBUNGAN LANGSUNG dengan produk
Dan kalau ini maksudnya adalah market yang tidak membutuhkannya secara langsung tapi bisa membelinya untuk orang lain. Bisa karena hubungan keluarga, bisa karena hubungan cinta, bisa juga karena hubungan pertemanan.
Ambil Contoh
Biar menjadi jelas, saya kasih contoh jika yang dijual itu adalah produk KOSMETIK. Dari keterangan2 diatas, maka penentuan interest masing-masing jenis dapat kita buat seperti ini :
Interest yang BERHUBUNGAN LANGSUNG dengan produk :
- Interest tentang produk
kosmetik, kecantikan, perawatan diri, salon kecantikan, skin care, beauty care,
pemutih kulit, dll
- Interest merk produk sejenis
Lore'al, Garnier, Pond's, Revlon, Olay, Maybelline, MAC Cosmetik dll
- Interest jenis-jenis produk turunan
Toner, Mascara, Lotion, Cleanser, Moisturizer, Lipstik, Wringkle, dll
- Interest tempat2 yang berhubungan dengan produk
Natasha Skin Care, Sariayu Martha Tilaar, Facial Care Centre, dll
- Interest siapa yang membutuhkan produk
Pekerjaan yang memakai kosmetik : sales / marketing, sekretaris, administrasi
Interest yang TIDAK BERHUBUNGAN LANGSUNG dengan produk :
- Interest tentang produk pendukung
jilbab, tas, sepatu, baju, kacamata, soft lens, parfum, dll
- Interest tentang merk produk pendukung
Bata, Gucci, Luis Vitton, Armani, dll
Dan untuk target demografinya, misalkan :
Target yang BERHUBUNGAN LANGSUNG dengan produk
Gender : Female
Age : 22-50
Status : Menikah
Target yang TIDAK BERHUBUNGAN LANGSUNG dengan produk
Hubungan keluarga (Suami)
Gender : Male
Age : 25-60
Status : menikah
Hubungan Keluarga (Ibu)
Gender : Female
Age : 45+
Tapi yang perlu diperhatikan disini adalah :
TARGET yang BERHUBUNGAN LANGSUNG dengan produk, harus diikuti dengan INTEREST2 yang BERHUBUNGAN LANGSUNG atau TIDAK LANGSUNG dengan produk tersebut.
Untuk target yang TIDAK BERHUBUNGAN LANGSUNG dengan produk, tidak ada keharusan.
Gimana, udah mulai tercerahkan?
Apa yang saya sampaikan disini hanya contoh-contoh saja, silahkan teman-teman coba dengan produk yang teman-teman jual. Bisa jadi nanti malah teman-teman akan menemukan klasifikasi interest yang berbeda. :)
Terus bagaimana dari interest-interest yang sudah didapatkan untuk diletakkan dalam sebuah iklan di Facebook Ads?
Nanti akan saya buatkan di lain waktu... Ngeliat dulu tanggapan teman2 soal note ini :)
Kalau banyak yang suka, semangat saya untuk buatkan lebih cepat 

Wassalam,
tag:
Penargetan Untuk Facebook Ads, Facebook Ads, Penargetan Untuk Facebook Ads, belajar iklan facebook, biaya fb ads, cara belajar facebook ads, cara beriklan di facebook ads, cara beriklan di facebook secara gratis, cara beriklan di facebook tanpa kartu kredit, cara beriklan di fb ads, cara beriklan melalui facebook, cara buat fb ads, cara buat fb ads murah, cara buat fb baru, cara buat fb baru di gmail, cara buat fb baru lewat hp, cara buat fb dari yahoo, cara buat fb di hp, cara buat fb tanpa email, cara buat iklan d fb, cara fb ads, cara guna fb ads, cara iklan fb ads, cara iklan lewat facebook, cara memasang iklan di facebook, cara memasang iklan di facebook ads, cara memasang iklan di fb, cara memasang iklan lewat facebook, cara membuat akun iklan di facebook, cara membuat fb ads, cara membuat iklan di facebook, cara membuat iklan di fb, cara mempromosikan halaman fb tanpa bayar, cara menggunakan fb ads, cara menghapus iklan ads, cara menghilangkan iklan ads, cara mengiklan di facebook, cara ngiklan di facebook, cara pasang fb ads, cara pasang iklan di facebook ads, cara pasang iklan gratis di google, cara pembayaran fb ads, contoh iklan di facebook, daftar fb, dark post profits vs fb ads cracked, donald wilson's ads cracked reloaded, facebook coupon, fb ads cracked, fb ads cracked 2.0 reloaded blackhat, fb ads cracked by don wilson, fb ads cracked price, fb ads cracked video, fb ads gratis, fb ads manager, fb ads murah, fb ads size, fb ads tips, how much are fb ads, iklan di facebook, iklan fb, iklan fb ads murah, jasa fb ads, jasa fb ads murah, jasa fbads murah, jasa iklan facebook ads, jasa iklan facebook ads murah tertarget, jasa iklan facebook murah, jasa iklan facebook terpercaya, jasa iklan fanspage, jasa iklan fb ads murah, jasa iklan fb ads terpercaya, jasa pasang iklan facebook ads, jasa pasang iklan facebook murah, jasa pasang iklan fb, jasa pasang iklan fb ads, jasa pasang iklan fb murah, kupon fb ads murah, learning fb ads, panduan membuat iklan di facebook, sifu fb ads, tips fb ads murah, trik iklan di facebook, tutorial pasang iklan di facebook,

Sabtu, 26 Desember 2015

Tutorial Belajar Membuat Aplikasi Android dengan MIT App Inventor 2 - PaintPot[bagian 1]

Tutorial ini memiliki dua bagian: Bagian 1 | Bagian 2

Tutorial ini memperkenalkan komponen kanvas untuk membuat grafik dua dimensi sederhana. Anda akan membangun sebuah aplikasi yang memungkinkan Anda menggambar di layar ponsel dalam berbagai warna.

Catatan sejarah: PaintPot adalah salah satu program pertama kali dikembangkan untuk menunjukkan potensi komputer pribadi, sejauh tahun 1970-an.



Download Book Chapter PDF

Dengan aplikasi PaintPot, Anda dapat:
  • Mencelupkan jari Anda ke dalam panci cat virtual untuk menarik warna itu.
  • Seret jari Anda di sepanjang layar untuk menggambar garis.
  • Ketuk layar untuk membuat titik-titik.
  • Gunakan tombol di bagian bawah untuk menghapus layar bersih.
  • Sertakan gambar sebagai latar belakang gambar.
Tutorial ini mengasumsikan bahwa Anda telah menyelesaikan tutorial HelloPurr. Tutorial ini memperkenalkan berikut App Inventor konsep:
  • Kanvas komponen untuk menggambar.
  • Mengontrol tata letak layar dengan komponen Arrangement.
  • Penangan acara yang mengambil argumen.
  • Variabel
Sebelum memulaiPastikan komputer Anda dan telepon Anda diatur untuk menggunakan App Inventor. Memulai sebuah proyek baru di jendela Designer, dan nama itu "PaintPot". Buka Blok Editor, klik Connect to Phone, dan pastikan ponsel telah mulai App Inventor app.

Judul layarUntuk memulai, pergi ke panel Properties di sebelah kanan Designer dan mengubah Judul layar untuk "PaintPot". Anda akan melihat perubahan ini di telepon, dengan judul baru yang menunjukkan dalam judul bar.
Ada tiga nama di App Inventor, dan sangat mudah untuk membingungkan mereka:

  1. Nama yang Anda pilih untuk proyek Anda saat Anda bekerja di atasnya (dalam hal ini, PaintPot). Ini juga akan menjadi nama dari aplikasi jika Anda paket untuk telepon.
  2. Nama "Screen1", yang merupakan nama dari komponen layar. Anda akan melihatnya tercantum dalam Komponen panel di Designer. Anda tidak dapat mengubah nama komponen Layar pertama dalam versi saat ini dari App Inventor tetapi Anda dapat membuat layar tambahan dengan nama apa pun yang Anda harus memilih. 
  3. Judul milik layar, yang adalah apa yang akan Anda lihat di bar judul telepon. Judul adalah properti dari komponen layar. Judul dimulai menjadi "Screen1", yang adalah apa yang Anda gunakan di HelloPurr. Namun, Anda dapat mengubahnya, seperti yang Anda lakukan untuk PaintPot. Untuk mengulangi, nama dan judul Screen1 awalnya sama, tetapi Anda dapat mengubah judul jika Anda ingin.
 Mengatur Komponen
Anda akan menggunakan komponen ini untuk membuat PaintPot:

  1. Tiga Tombol untuk memilih merah, biru, atau cat hijau, dan tombol lain untuk menyeka gambar. 
  2. Sebuah kanvas, permukaan gambar. Kanvas ini memiliki backgroundImage, yang kitty ini dari tutorial HelloPurr. Anda juga dapat menarik sebuah kanvas kosong. Itu hanya sebuah kanvas tanpa gambar latar belakang. 
  3. Ada juga komponen Anda tidak melihat: Anda menggunakan HorizontalArrangement untuk membuat tombol warna tiga berbaris.
Itu membuat lima komponen dalam semua. Mari kita mendapatkan mereka dan membangun aplikasi.Tombol warna
  1. Tarik komponen Button ke Viewer dan mengubah teks tombol ini atribut untuk "Merah" dan membuat backgroundColor merah. 
  2. Klik Button1 dalam daftar komponen dalam Viewer untuk menyorotnya (mungkin sudah disorot) dan menggunakan Rename ... tombol untuk mengubah namanya dari "Button1" untuk "ButtonRed". 
  3. Demikian pula, membuat dua tombol lebih untuk biru dan hijau, bernama "ButtonBlue" dan "ButtonGreen", menempatkan mereka secara vertikal di bawah tombol merah.
Berikut adalah cara ini akan terlihat pada designer, dengan nama-nama tombol muncul dalam daftar komponen proyek. Dalam proyek ini, Anda mengubah nama-nama komponen daripada meninggalkan mereka sebagai nama default seperti yang Anda lakukan dengan HelloPurr. Menggunakan nama-nama bermakna membuat proyek Anda lebih mudah dibaca untuk diri sendiri dan orang lain.



Anda juga harus melihat tiga tombol pada layar ponsel.
Tata letak dengan Layar Arrangement

Anda sekarang harus memiliki tiga tombol, satu di atas yang lain. Langkah selanjutnya adalah membuat mereka berbaris horizontal. Anda melakukan ini dengan menggunakan komponen HorizontalArrangement.
  1. Dari kategori Layout Palette ini, tarik keluar komponen HorizontalArrangement dan tempat di bawah tombol. Mengubah nama komponen ini dari "HorizontalArrangement1" untuk "ThreeButtons". 
  2. Pada panel Properties, mengubah Lebar ThreeButtons untuk "Isi Parent ..." sehingga memenuhi seluruh lebar layar. 
  3. Memindahkan tiga tombol berdampingan ke dalam komponen HorizontalArrangement. Petunjuk: Anda akan melihat garis vertikal biru yang menunjukkan di mana potongan Anda menyeret akan pergi.
Jika Anda melihat di daftar komponen proyek, Anda akan melihat tiga tombol menjorok di bawah ThreeButtons untuk menunjukkan bahwa mereka sekarang subkomponen yang. Perhatikan bahwa semua komponen yang menjorok di bawah Screen1.
 
 
Anda juga harus melihat tiga tombol Anda berbaris dalam satu baris pada layar ponsel, meskipun hal-hal mungkin tidak terlihat persis seperti pada Designer. Misalnya, garis besar Arrangement ini menunjukkan dalam Designer tetapi tidak di telepon.
Secara umum, Anda menggunakan layar Pengaturan untuk membuat layout vertikal atau horizontal sederhana. Anda dapat menciptakan lebih banyak layout kompleks dengan komponen bersarang Layar Arrangement. Ada juga komponen TableArrangement (tidak tercakup dalam tutorial ini).Kanvas dan menghapus tombol
Dua komponen terakhir adalah kanvas dan tombol menghapus.

1. Dari Menggambar dan Animasi kategori Palette ini menyeret komponen kanvas ke Viewer. Mengubah nama menjadi "DrawingCanvas". Set yang Lebar untuk "Isi Parent" dan mengatur tinggi untuk 300 piksel. 
 
2. Tambahkan Gambar Latar Belakang kanvas. Klik pada bidang yang mengandung "Tidak ..." sebelah backgroundImage di panel Properties kanvas itu. Anda dapat menggunakan file kitty.png yang sama, jika Anda masih memilikinya di desktop Anda dari tutorial sebelumnya. Atau Anda dapat menggunakan gambar lain.
note:
Anda dapat menggunakan gambar apapun yang Anda suka, tetapi Anda akan mendapatkan hasil terbaik jika ukuran gambar (dalam pixel) dekat dengan ukuran di mana Anda akan menunjukkan itu di telepon. Juga, gambar besar akan memakan waktu yang lama untuk memuat, dan mungkin melebihi kapasitas memori mengalokasikan telepon untuk aplikasi. 
 
3. Dari Palette, tarik tombol akhir ke layar, menempatkannya di bawah kanvas. Ganti nama komponen tombol ini untuk "ButtonWipe" dan mengubah teks yang atribut untuk "Lap".

Anda sekarang telah menyelesaikan langkah-langkah untuk mengatur tampilan aplikasi Anda. Berikut adalah cara ini akan terlihat di Designer. Berikutnya, Anda akan menentukan bagaimana komponen berperilaku.
 
 
Tambahkan perilaku untuk komponen

Klik tombol Blok untuk beralih ke Blok Editor. Pertama Anda akan mengatur tombol yang mengubah warna cat. Kemudian Anda akan menambahkan blok untuk memutuskan apa yang terjadi ketika seseorang menyentuh atau menyeret layar.
 
Tambahkan tombol event handler
 In the Blocks Editor:
  1. Open the drawer for ButtonRed and drag out the when ButtonRed.Click block.
  2. Open the DrawingCanvas drawer. Drag out the set DrawingCanvas.PaintColor to block (remember that the set block of components is a dropdown so PaintColor is a selection in the dropdown) and place it in the do section of when ButtonRed.Click .

  1. Open the Colors drawer and drag out the block for the color Red and put it into set DrawingCanvas.PaintColor to . (Clicking on a color block after it's been placed will display a table of colors that you can select from.)
  2. Repeat steps 2-4 for the blue and green buttons.
  3. The final button to set up is the Wipe button. Make a click event handler for ButtonWipe by dragging when ButtonWipe.Click from the ButtonWipe drawer. From the DrawingCanvas drawer, drag call DrawingCanvas.Clear and place it in the do area of the when ButtonWipe.Click block.
The blocks for the buttons should look like this:

Add Touch-event Handlers

Now for the next step: drawing on the Canvas. You'll arrange things so that when you touch the canvas, you get a dot at the spot where you touch. If you drag your finger slowly along the canvas, it draws a line.
  • In the Blocks Editor, open the drawer for the canvas and drag the when DrawingCanvas.Touched block to the workspace. As soon as you drag the block out, you may notice three argument names (highlighted in orange) located at the top of the block x, y, and touchedSprite. These arguments are also known as local variables and can get accessed by using the get or set block found in the Variables drawer and then selecting the proper variable in the drop drown menu. You can also access these variables by moving your cursor over to the highlighted name and selecting the variable you would like to use.
You've already seen button click events. Clicks are simple, because there's nothing to know about the click other than that it happened. Other event handlers such as when ... Touched need information about the event. In App Inventor, this information is expressed as the value of arguments associated with the event handler. For the when ... Touched event, the first two arguments stand for the x and y coordinates of where the touch happened. We'll save touchedSprite for a later tutorial.
  • For this touch event, make the canvas draw a small circle at the point with coordinates (x, y). Drag out a call DrawingCanvas.DrawCircle command from the canvas drawer and place it in the do section of when DrawingCanvas.Touched.
On the right side of the call DrawingCanvas.DrawCircle block are three sockets where you must specify values for the x and y coordinates where the circle should be drawn, and r, which is the radius of the circle. For x and y, you'll use values of the arguments that were supplied to the Touched handler:
  1. Move your cursor over the x variable (highlighted in orange). Find the get x block and drag it into the corresponding x socket in the when DrawingCanvas.Touched block.
  2. Do the same for the y variable.
  3. You'll also need to specify the radius of the circle to draw. Five (pixels) is a good value for this app. Click in a blank area of the screen and type the number 5 followed by return to create a number block with a value of 5. Typing on the blank area of the screen is called typeblocking and is a useful shortcut to know. This can be done for any block, not just numbers. Plug the block for 5 into the radius slot.
Click on the following links for more information on arguments and typeblocking.
Here's how the touch event handler should look:

Try out what you have so far on the phone. Touch a color button. Now touch the canvas, and your finger should leave a spot at each place you touch. Touching the Wipe button should clear your drawing.

Add Drag Events

Finally, add the drag event handler. Here's the difference between a touch and a drag:
  • A touch is when you place your finger on the canvas and lift it without moving it.
  • A drag is when you place your finger on the canvas and move your finger while keeping it in contact.
When you drag your finger across the screen, it appears to draw a giant, curved line where you moved your finger. What you're actually doing is drawing hundreds of tiny straight lines: each time you move your finger, even a little bit, you extend the line from your finger's immediate last position to its new position.
A drag event comes with 6 arguments. These are three pairs of x and y coordinates that show:
  • The position of your finger back where the drag started.
  • The current position of your finger.
  • The immediately previous position of your finger.
There's also a sprite, which we'll ignore for this tutorial.
Now make dragging draw a line between the previous position and the current position by creating a drag handler:
  1. From the DrawingCanvas drawer, drag the when DrawingCanvas.Dragged block to the workspace.
  2. Also from the DrawingCanvas drawer, drag the call DrawingCanvas.DrawLine block into the do slot of the when DrawingCanvas.Dragged block.
  3. Drag a get prevX block to the open x1 slot in when DrawingCanvas.DrawLine. Do the same for the other spaces: y1 should be get prevY, x2 should be get currentX, and y2 should be get currentY.
Here's the result:
Test your work by trying it on the phone: drag your finger around on the screen to draw lines and curves. Touch the screen to make spots. Use the Wipe button to clear the screen.
In PaintPot Part 2, you'll see how to use global variables to create dots of different sizes.

Review

Here are some of the ideas covered in this tutorial:
  • You can use Screen Arrangement components to specify screen layouts other than just placing components one under the other.
  • The Canvas component lets you draw on it. It can also sense touches and drags.
  • Some event handlers are called with information about the event, such as the coordinates of where the screen was touched. This information is represented by arguments. When you select an event handler that has arguments, App Inventor creates value blocks for these.

Scan the Sample App to your Phone

Scan the following barcode onto your phone to install and run the sample app.



Or download the apk