การทำ Android Application ภายใน 24 ชั่วโมง

การทำ Android application ภายใน 24 ชั่วโมง ที่ว่านี้ต้องบอกก่อนว่าไม่ได้เป็นการอดหลับอดนอนเพื่อมาทำแอปให้เสร็จภายใน 24 ชั่วโมงนะ แต่คือเราได้ทำแอปนี้ 3 วันวันละ 8 ชั่วโมงนั่นเอง โดยทีมของผมมีกันถึง 2 คน และก่อนจะทำแอปพลิเคชันขึ้นมา ก็มาคุยไอเดีย แนวคิดกันก่อนว่าจะทำแอปอะไร แอปแบบไหน และมีสโคปงานขนาดไหน ที่จำสามารถทำได้ในเวลาที่เหลือ

และต้องขอบอกอีกอย่างคือทีมของเรานี้ก็ไม่ได้ถึงขั้นระดับมือโปรที่รู้และจำได้ทุกอย่างเกี่ยวกับการเขียน Android แม้แต่ Syntax ของ Java ยังจำไม่ได้หมดเลย แต่ก็อาศัยการค้นหาเพิ่มเติมนี่แหละ อยากได้อะไรก็หา หรือบางฟังก์ชันที่เค้าเขียนมาแล้วมันโอเคก็ไปก็อบมาเลย หรือจะหา lib ต่างๆ มาช่วยก็ได้เช่นกัน

พอคุยๆ กันก็มีไอเดียเป็นแอปพลิเคชันที่เกี่ยวกับการ Generate Password ซึ่งแนวคิดนี้ก็เกิดจากการที่มีการคิดรหัสผ่านไม่ออก และสุ่มไปมั่วๆ พอถ้าเราสุ่มมั่วๆเอง ไม่นานเดี๋ยวก็ลืม หรือถ้า Generate Password มาก็อาจจะลืมได้เช่นกัน ก็เลยได้เพิ่มฟีเจอร์การจัดการรหัสผ่านมา เพื่อที่จะสามารถเก็บรหัสผ่าน ที่เราสุ่มขึ้นมาได้ทันที

หลังจากที่ได้มีการสรุปไอเดีย  และสโคป ต่างๆของตัวแอปเรียบร้อย ก็ทำการออกแบบคร่าวๆ ของโฟลการทำงาน และหน้าตาของแอป ด้วยกระดาษ กับปากกา นี่แหละเพียงเท่านี้ก็หมดแล้วสำหรับ 8 ชั่วโมงแรก

สรุปงาน 8 ชั่วโมงแรก

คือการสร้างแอปพลิเคชันตัวนึงเกี่ยวกับการสุ่มและจัดการรหัสผ่าน โดยมีฟีเจอร์ดังนี้คือ

  • สุ่มรหัสผ่าน
  • จัดการรหัสผ่าน (เพิ่ม, ลบ, แก้ไข)
  • มีการล็อกก่อนเข้าแอปพลิเคชัน
  • เปลี่ยนรหัสผ่านหน้าล็อกแอป

และได้ออกแบบ UI ร่างไว้ในกระดาษคร่าวๆ

.

.

.

วันต่อมาก็ได้เริ่มสร้างแอปพลิเคชันแล้วเย้! ซึ่งมีชื่อว่า IPassword จากนั้นก็อัพขึ้น BitBucket และแบ่งงานกับทีมโดยวันนี้จะเป็นการเขียนโค้ดทั้งหมด

ซึ่งเวลาเหลืออีก 16 ชั่วโมง จึงใช้ฐานข้อมูลภายในเครื่องของ Android เลยเพื่อที่จะเก็บข้อมูลรหัสผ่านต่างๆ  โดยเทคโนโลยีที่ใช้มีดังนี้

  • Java – เป็นภาษาที่ใช้ในการพัฒนา
  • SQLite – เป็น DBMS ที่ใช้ในการติดต่อกับฐานข้อมูล ซึ่งในการพัฒนา Android จะใช้เป็นตัวนี้อยู่แล้ว

สรุปงาน 8 ชั่วโมงที่สอง

ก็มีฟีเจอร์ที่เสร็จแล้วดังนี้คือ

  • สุ่มรหัสผ่าน
  • การเพิ่มรหัสผ่าน
  • การลบรหัสผ่าน
  • การล็อกก่อนเข้าแอปพลิเคชัน

             

.

.

.

พอถึงวันสุดท้าย ก็ทำฟีเจอร์ที่เหลือ เก็บรายละเอียดต่างๆ ติดโฆษณา แล้วเตรียมอัพขึ้น Play Store เลย!! และฟีเจอร์ที่จะทำวันนี้เหลือไม่มาก จึง Setup ต่างๆเตรียมพร้อมที่จะอัพของ Play store และออกแบบต่างๆ เช่น ไอคอนแอป และกราฟฟิกแอป เพราะต้องใช้ในการ อัพขึ้น Play Store ส่วนโปรแกรมที่ใช้ก็เป็น Photoshop นี่แหละ

ภาพต่างๆที่ใช้ในการอัพขึ้น Play store

  • ภาพหน้าจอ (อันนี้ Capture จากโทรศัพท์มาได้เลย)
  • ไอคอนขนาด 512×512
  • ภาพกราฟฟิค ขนาด 1024×500

ก่อนจะอัพขึ้นได้เนี่ยก็ต้องสมัครเป็น Android Developer ก่อนเนาะ และถ้าจะติดโฆษณาก็สมัคร Admob อีกอันนึง

เพียงเท่านี้ก็ได้ แอปพลิเคชันของเราวางอยู่บน Play strore แล้ว อ้อแต่ตอนอัพต้องรอการตรวจสอบก่อนประมาณ 10 – 30 นาทีได้

สรุปงาน 8 ชั่วโมงสุดท้าย

  • ทำฟีเจอร์ที่เหลือ
    • แก้ไขรหัสผ่าน
    • เปลี่ยนรหัสผ่านหน้าล็อกแอป
  • ทำหน้า About us เพิ่ม
  • ติดโฆษณา
  • เตรียมข้อมูลผลิตภัณฑ์ใน Store และ อัพขึ้น Play store

   

 

นี่แหละคือการทำ Android Application ภายใน 24 ชั่วโมง ที่เริ่มตั้งแต่ยังไม่มีไอเดียจนมาเป็นแอปพลิเคชันตัวนึงที่วางอยู่ใน Play Store ได้เนี่ยไม่ได้ยากอย่างที่คิดใช่มั้ยหล่ะครับ แต่แอปพลิเคชันนี้ก็ยังต้องการการพัฒนาต่อ ให้มันดียิ่งขึ้นไปอีกในภายหลัง แต่ก็แสดงให้เห็นว่า ภายในเวลา 24 ชั่วโมงนี้ก็สามารถที่จะทำแอปพลิชั่นเล็กๆ ให้สำเร็จได้นั่นเองครับผมมม

Generating Android app screenshot with Screengrab

Screengrab is a part of Fastlane. It can help us to generate screenshot with different languages.

Before you use Screengrab, you need to write UI test with Espresso. Because Screengrab capture screenshot through Espresso.

Create simple application are text view and button with two locales English and Thai.

screenshot-2016-08-09-21-09-42

 

Read more  

Testing elapsed time with Espresso IdlingResource

The original blog is Espresso: Elapsed time.

When do you need to write the test that needs to wait, you need to use IdlingResource. Because Espresso does not wait for you.

Create simple elapsed time application, with one button and one text view. When to clicking the start button, the number will run until click stop button.

screenshot-2016-07-28-23-53-34

 

Read more  

Android Push Notification using Firebase

Firebase

Firebase has tools and infrastructures to build the app. It contains a lot of features, in this blog we will take a look at how to setting up Android application for receive notification from Firebase Cloud Messaging.

If you are using Google Cloud Messaging, Google recommended to upgrading FCM, because FCM is a new version of GCM.

Setup

First, go to Firebase console, log in your account then click to create a new project, fill your project name and region.

screenshot-2016-05-29-21-55-46

Read more