วันพุธที่ 20 สิงหาคม พ.ศ. 2557

วิธีแก้ error uses-sdk:minSdkVersion xx cannot be smaller than version xx

สวัสดีครับ วันนี้ มีตัวอย่างปัญหาใน android studio มาให้ดูอีกแล้วครับ ปัญหาในวันนี้คือ การที่โปรแกรม แจ้งว่ามี error version ของ sdk ในไฟล์ minifest โดยตัวอย่างข้อความจะเป็นแบบประมาณ

"uses-sdk:minSdkVersion 14 cannot be smaller than version 14 declared in library
 com.android.support:support-v4:21.0.0-rc1"
 
สาเหตุคือเรากำหนด  uses-sdk:minSdkVersion ต่ำไปครับทำให้ไม่สามารถใช้งาน android L ได้วิธีแก้ปัญหาคือ
เราต้องไปแก้ไข
ที่ไฟล์ build.graddle ใน android studio 
 
คือไฟล์ที่ชื่อ build.graddle ซึ่งในภาพจะเห็นว่ามีสองไฟล์ แต่ต่าง path กันนะครับ ให้เปิดไปที่ไฟล์ที่สอง

(ด้านล่างในโฟล์เดอร์ graddle )แก้ไขโดยการ เพิ่ม คำสั่ง

          compile "com.android.support:cardview-v7:21.0.0-rc1"
          compile "com.android.support:recyclerview-v7:21.0.0-rc1"
          compile "com.android.support:palette-v7:21.0.0-rc1"

เข้าไปใน class dependencies  แทนที่ของเดิมซึ่งเป็น

 compile 'com.android.support:support-v4:+'
 
แบบในภาพนี้
 
จากนั้นให้คลิกที่แถบ graddle ด้านข้างหา task ตามภาพ แล้วกดรัน เพื่อให้ โปรแกรมทำการ generate ไฟล์ที่แก้ไข


 แล้วลองกดรันแอพตามปกติ ก็จะสามารถรันได้แล้วละครับ

 

สร้าง AVD ใน android studio ไม่ได้ มีคำตอบ

สวัสดีครับ ท่านผู้อ่าน วันนี้ผมจะมาแชร์ประสบการณ์ในการใช้งาน android studio โดยปัญหาที่พบคือ ผมไม่สามารถ กดปุ่ม OK ในหน้าของการสร้างตัว emulator ได้ เพราะอะไร ทั้งๆ ที่ผมทำการเลือกองค์ประกอบทุกอย่างครบแล้ว เป็นแบบนี้ครับ

ถ้าเป็นแบบนี้ ผู้เริ่มต้นเขียน android app มือใหม่จะปวดหัวมากครับ ทั้งๆที่ทำตามตัวอย่างแล้วแท้ๆ ทำไมยังไม่ได้ คำตอบคือ ครบ แต่ยังไม่สมบูรณ์ครับ ผมจึงขอนำเสนอ วิธีสร้างตัว AVD ใน android studio เผื่อเป็นไกด์ให้ผู้เริ่มต้นได้เข้าใจครับ
1.อันดับแรกเราต้องเปิด SDK Manager ขึ้นมาดูก่อนว่าต้องติดตั้งอะไรเพิ่มเติมบ้าง

ตอนนี้ Android SDK Tools เป็นเวอร์ชั่น 23.0.2 แล้วทำการอัพเดทและติดตั้งให้เรียบร้อย
2.สิ่งต่อมาที่เป็นหัวใจหลักของบทความนี้คือ CPU ในการทำงานของ AVD ครับ สังเกตดูว่าทำการติดตั้ง ARM EABI v7a System Image หรือยัง ถ้ายัง ให้ทำการติดตั้งก่อนจึงจะสามารถสร้าง AVD ได้นะครับ


ตอนนี้ผมยังไม่ได้ติดตั้ง ARM EABI v7a System Image สังเกตุจากสถานะด้านหลังนะครับ ยังเป็น Not installed ผมก็จะทำการติดตั้งใหม่ดังนี้

ติ๊กเลือก
ARM EABI v7a System Image แล้วกด Install package รอดาวน์โหลด และกด acept Licence เท่านี้ก็เสร็จสิ้นแล้วครับ



ทีนี้ก็จะสามารถกดปุ่ม OK เพื่อสร้าง AVD ได้แล้วครับ







วันอังคารที่ 19 สิงหาคม พ.ศ. 2557

แนะนำการพัฒนาแอพพลิเคชั่นแบบ Native และ Hybrid

     

 image from :http://blog.brightcove.com



   ก่อนอื่นต้องขอออกตัวก่อนนะครับว่า ผมไม่ใช่เจ้าของข้อมูลโดยตรงครับ พยายามหาแหล่งอ้างอิงหลายๆที่ และเอามาสรุปแบบรวบยอดให้ได้อ่านกันครับ
      Native app คือ การพัฒนาแอพพลิเคชั่นด้วย library หรือ sdk ของ platform ที่ทำงานอยู่ เช่น ios ก็ใช้ object c ในการพัฒนา android ใช้ sdk ในการพัฒนา สำหรับข้อดีของ native app คือ เป็นภาษาเฉพาะง่ายต่อการพัฒนาไม่ต้องห่วงเรื่อง service อื่นๆ ตั้งหน้าตั้งตาเขียนเพื่อใช้งาน lib ที่มีมาให้ แต่ข้อเสีย คือ เป็นแอพพลิเคชั่นที่มีความยืดหยุ่นน้อยมาก พูดตรงๆ คือ ใช้งานได้แค่ platform เดียว จะข้าม platform ไม่ได้ ทำให้ต้องเสียเวลามาแปลงรูปแบบของแอพพลิเคชั่นไปเป็น platform อื่น ด้วยภาษาที่ต่างกัน พูดง่ายๆ เสียเวลาครับ จึงมีการคิดค้นการพัฒนาแอพพลิเชั่น แบบ Hybrid ขึ้นมา
    Hybrid app เป็นการพัฒนาแอพพลิเคชั่นให้สามารถทำงานได้หลาย platform ยกตัวอย่างง่ายๆ อย่างเกมส์บางเกมส์ที่เราเห็นใน google play และ play store ซึ่งเวลาอัพเดทแพทต่างๆ ทำไมเราถึงสามารถอัพได้พร้อมๆ กันสอง platform คนพัฒนาไม่เสียเวลาในการพัฒนาระบบแบบคู่ขนานเหรอ ? คำตอบคือ เกมส์ประเภทนี้เป็นแบบ hybrid ครับ โดยการไม่ยึดติดกับระบบปฏิบัติการ ขอแค่มีตัวกลางที่เหมือนกัน ก็สามารถทำงานได้แล้ว ยกตัวอย่างตัวกลางง่ายๆ คือ flash player ครับ ทุก platform สามารถรองรับ flash player ได้ โดยทำงานบนพื้นฐานของ html 5+ java script แต่ก่อนที่จะพัฒนาแอพพลิเคชั่นแบบ hybrid ได้ คุณต้องมีพื้นฐาน native app มากพอสมควร เพราะ hybrid ถือได้ว่าเป็นเรื่องที่ค่อนข้างเข้าใจยาก และต้องเป็นขั้นสูงพอสมควร หากต้องการศึกษาจริงๆ คงไม่ใช่เรื่องยาก สำหรับ นักพัฒนาแน่นอนครับ
    แนะนำ website ในการศึกษาเรื่องมือ นะครับ http://phonegap.com เจ้าของ blog เองก้กำลังศึกษาอยู่ครับ เป็น develop ระดับกลาง เพราะงานหลักเป็น java programmer อยู่ ว่างๆ อยากได้เงินเพิ่มแถมไม่ปล่อยเวลาทิ้งไปด้วยครับ มีอะไรใหม่ อะไรดี ยังไงก็ช่วยแนะนำด้วยนะครับ นักพัฒนาไทย ยังไปได้อีกไกลครับ        
    สุดท้ายผมต้องขอขอบคุณที่เข้ามาอ่านนะครับ อะไรที่ผมสรุปผิดไป ข้อมูลไม่ถูกต้อง ติชมกันได้เลยครับ ปกติไม่ค่อยได้เขียน bloger แบบนี้เลยครับ แต่ไม่อยาก copy ข้อมูลจาก blog อื่น เพราะเข้าใจคนเขียนดี คงไม่มีใครอยากให้ข้อมูลที่ตัวเองรวบรวมมา ถูก copy ไปวางในหน้าของคนอื่นแน่นอนครับ