เขียนโปรแกรมสร้างลายน้ำบนรูปใน Android App

Turn-Off-Safe-Mode-on-Android-Step-13-Version-3

การสร้างข้อความลายน้ำ (watermark) บนรูปภาพนั้น สามารถใช้เพื่อป้องกันการละเมิดลิขสิทธิ์ได้ หรือจะประยุกต์ใช้เพื่อแสดงข้อมูลที่เกี่ยวข้องกับรูปนั้นๆได้ แอพบนมือถือหลายๆค่ายก็ใช้งานกัน

ในแอนดรอยด์ สามารถเขียนโปรแกรมเพื่อสร้างลายน้ำโดยอาศัยพื้นฐานของบิตแมพ (bitmap) ร่วมกับแคนวาส (canvas) เทียบได้กับการวางรูปภาพแล้วเอาข้อความ หรือกราฟิกใดๆวางซ้อนกันบนผืนผ้านั่นเอง ในที่นี้ขอพูดถึงการวางข้อความเหนือรูปภาพ

Continue reading

Advertisements

ติดตั้ง IntelliJ IDEA ให้เขียนโปรแกรม Android ได้

intellijidea_android

กูเกิล (Google) ประกาศให้แอนดรอยด์สตูดิโอ (Android Studio) เป็นไอดีอี (IDE: Integrated Development Environment) หลักในการพัฒนาแอพสำหรับแอนดรอยด์ ซึ่งพื้นฐานมาจาก IntelliJ IDEA Community Edition นั่นเอง

เราจึงใช้ IntelliJ เขียนโปรแกรมแอนดรอยด์ได้ แต่ต้องติดตั้ง Android SDK และโปรแกรมเสริมผ่าน SDK Manager อยู่พอสมควร ประกอบไปด้วย

  1. Android SDK Tools
  2. Android SDK Platform-tools
  3. Android SDK Build-tools
  4. เลือก Android Platform อย่างน้อย 1 เวอร์ชัน เช่น Android M (API 23) โดยให้เลือกรายการย่อยดังนี้
    • SDK Platform
    • System Image อย่างน้อย 1 ตัว ควรเลือก Google APIs Intel x86 Atom เพื่อความเร็วในการทดสอบกับ AVD (Android Virtual Device) ซึ่งอิมเมจนี้จะมีเอพีไอ (API) ของกูเกิลติดมาด้วย Intel x86_64 นั้น อาจต้องใช้เครื่องที่แรงๆ ส่วน ARM ทางกูเกิลไม่แนะนำให้ใช้แล้ว เพราะทำงานช้ากว่า Intel x86 ประมาณ 10 เท่า
  5. Extras
    • Android Support Repository: ไลบรารี่จาวาในรูปแบบเมเว่นเรโพสิทอรี่ (Maven Repository) ซึ่งไม่มีอยู่ในทั้ง Maven Central และ Jcenter จำเป็นต้องติดตั้ง เพราะตัวช่วยสร้างโปรเจคของ IntelliJ ใช้ไลบรารี่เหล่านี้ ถ้าไม่มีจะคอมไพล์ไม่ผ่าน
    • Google USB Driver: ใช้เพื่อดีบัก (debug) กับโทรศัพท์มือถือโดยตรง
    • Intel x86 Emulator Accelerator (HAXM installer): ตัวติดตั้งไดรเวอร์เพื่อเร่งความเร็วในการทำงานของ AVD ใช้ร่วมกับอิมเมจ Intel x86 จากข้อ 4 ไม่ต้องติดตั้งถ้าใช้ ARM

HAXM ในข้อ 5 เป็นเพียงตัวติดตั้ง ต้องทำการติดตั้งเองโดยเข้าไปยังไดเรกทอรี่ที่ติดตั้ง Android SDK โดยปกติจะอยู่ที่ C:\Users\<ชื่อ user>\AppData\Local\Android\android-sdk จากนั้นเข้าไปที่ไดเรกทอรี่ย่อย extras\intel\Hardware_Accelerated_Execution_Manager ให้ติดตั้งผ่านโปรแกรม intelhaxm-android.exe ซึ่ง HAXM นั้นจะต้องมีแรม (RAM) เหลืออย่างน้อย 2GB โดยไม่รวมกับโปรแกรมอื่นๆที่เปิดอยู่ในขณะเดียวกัน

จากนั้นเปิด IntelliJ ให้เพิ่ม Android SDK ผ่าน settings ก่อน แล้วจึงสร้างโปรเจคแอนดรอยด์ได้ทันที การออกแบบหน้าจอแอพนั้น อาจตามแอนดรอยด์สตูดิโอไม่ทัน ให้ถอยเวอร์ชันของตัวเรนเดอร์ (rendering layout) ลง ขณะที่เขียนนี้เป็น Android N (API 24) ให้ถอยมา Android M (API 23) แทน

เมื่อถึงขั้นตอนการสั่งรัน ให้สร้าง AVD ผ่าน IntelliJ ได้เลย เพื่อความเร็วในการทำงาน โดยส่วนตัวจะเปิด AVD ทิ้งไว้ก่อน เพราะเคยเจอปัญหาว่า IntelliJ มองไม่เห็น AVD ที่ติดตั้งไว้และอาจจะเปิดไม่ขึ้น

ปัญหาเกี่ยวกับ Android Support Repository ที่เจอ แก้ได้โดยคำตอบที่ไม่ได้เป็น Accepted answer ของ Stackoverflow:

สแลช (Slash)