Posts

Showing posts from 2014

[Android] ลงก่อนใคร Android 5.0(Lollipop) สำหรับ Xperia Z

Image
กลับมาอีกครั้งกับบล็อก Custom ROM ฟังดูอันตรายสำหรับโทรศัพท์ที่ใช้ดีๆอยู่แล้วก็เป็นได้ แต่เชื่อผมเถอะครับว่าคนชอบเสี่ยงกันไม่น้อยทีเดียว ฮ่าๆ.. ปลายเดือนที่แล้ว Android 5.0 Lollipop เพิ่งเปิดตัวหมาดๆ หลายค่ายก็ประกาศว่าจะไม่ลอยแพ จะปล่อยให้ภายใน..... สำหรับ xperia z ก็คือ กลางปี 58( http://droidsans.com/sony-announce-android-lollipop-update-to-entire-xperia-z-series ) โอ้วว.. อีกครึ่งปีเลยนะ !!! Android 5.0 Lollipop การเปลี่ยนแปลงแบบ Major change(เปลี่ยนเลขตัวแรก) ซึ่งจะเป็นการเปลี่ยนแปลงสำคัญ ในแง่ของผู้ใช้คือ Material Design แต่ก่อนจะถึงผู้ใช้ได้นักพัฒนาก็ต้องปรับเช่นกัน API21 - Lollipop จะไม่สามารถทำให้ใช้งานกับ API ที่ต่ำกว่าได้ แล้วจะให้รอเครื่องได้ upgrade แล้วจะพัฒนาทันกันไหมล่ะเนี่ยยยย มาเริ่มกันเลยดีกว่า.... วิธีการจะคล้ายกับ  วิธี Root สำหรับ XPERIA : Android 4.3 Jelly Bean  เลยครับ ผมขอย้ายบางส่วนมารวมไว้ในนี้จะได้อ่านกันง่ายๆ Unlock Bootloader (by SONY official) Download  fastboot-driver  แล้วเอาไปวางที่ Android SDK > extras > google โดยการทับไฟล์เก่า

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)

หลังจากที่ผมรู้จัก android มาพักใหญ่ๆ ปัญหาของผู้ใช้งานส่วนนึงมาจากการเล่นนู่นนี่ เช่น  การเล่นกับ Custom Rom   การ Root  เป็นต้น แต่ไม่ได้หมายความว่าการใช้งานแบบปกติ จะไม่ทำให้เกิดอาการแปลกๆกับเครื่องนะครับ อย่างที่รู้กันว่า Android คือ ระบบปฏิบัติการที่ open ให้ค่ายต่างๆเอาไปใช้งาน ทำให้เกิดความแตกต่างระหว่างค่ายที่ใช้ เช่น TouchWiz UI(Samsung), ColorOS(Oppo), Sense(HTC), TimescapeUI(Sony) โดยแต่ละค่ายก็มีจุดเด่นแตกต่างกันไป แต่ถ้าค่ายไหนทำมาไม่ดี ก็อาจประสบปัญหาด้าน OS ต่างๆได้ ปัญหาเรื่องของ การใช้งานแบตเตอรี่(Battery Usage) ความผิดพลาดในการเล่นแอพ(Force close) ก็ยังเป็นอะไรที่พอรับได้ อย่างน้อยเราก็ยังใช้งานได้ปกติ แต่ถ้าเราเปิดเครื่องไม่ได้เลยนี่สิมันแย่สุดๆไปเลยครับ *** Boot Loop อาการที่เมื่อเปิดเครื่องมาแล้ว เข้าสู่หน้า boot screen ซึ่งมักจะเป็น logo ของค่ายต่างๆ ตามมาด้วย animation นิดๆหน่อยๆระหว่างรอ แต่แทนที่จะเข้าสู่หน้า home ของเครื่อง กลับแสดง logo แล้วเริ่ม animation อีกรอบ ซ้ำแล้วซ้ำเล่า น้ำตาเริ่มตก เห้ย!!! เครื่องเสียแล้วหรอเนี่ยยยย ต้องเสียตังค์อีก

ประสบการณ์เปลี่ยน Eclipse ไปยัง Android Studio

Image
การเปลี่ยนแปลง มักจะมีทั้งข้อดีและข้อเสียอยู่เสมอ แต่ถ้าเราไม่คิดจะปรับตัว ก็อาจไม่พบสิ่งที่ดีกว่าก็เป็นได้ โพสนี้ผมเลยอยากเล่าสิ่งที่ผมต้องปรับตัวไว้ให้พิจารณากันว่าควรจะเปลี่ยนได้หรือยัง หรือว่ายังไม่ถึงเวลาที่เหมาะสม (อ้างอิง : Android Studio (Beta) 0.8.9 built on September 3, 2014) Hotkey ปุ่มที่เคยคุ้นเคยจะเปลี่ยนไป ผมก็เป็นคนนึงที่เขียนโปรแกรม Java ผ่าน Eclipse มาระยะเวลาหนึ่ง จนรู้ hotkey ที่จำเป็นมากมาย เช่น open resource, open type, refactor, debug และอื่นๆ ด้วยความเคยชิน พอมาจับ Android Studio ปั๊บ ง่อยเลยครับ ฮ่าๆๆ แต่บางคนอาจคิดว่าผมฉลาดน้อยก็ได้นะ มันมีให้ดูให้แก้ไขได้ ข้อแก้ตัวแรกของผมคือมันอาจจะเรียกคนละอย่างครับแต่ก็ต้องดูบ้างแหละ ข้อแก้ตัวที่สองคือเปลี่ยนแล้วก็อยากเปลี่ยนให้สุดครับ และอีกอย่างคือบางทีการทำงานมันก็ไม่เหมือนกันซะทีเดียว ขออนุญาตแนะนำเว็บรวม hotkey ของ Android Studio นะครับ แต่ผมว่ามันก็ยังไม่พอกับที่ต้องการหรอกนะ http://www.developerphil.com/android-studio-tips-tricks-moving-around/ Project Structure แน่นอน โครงสร้าง เปลี่ยน!! แต่ java ก็ยังค

[Java] Invoke : Java Method Dynamically (Reflection)

          Dynamic Invocation เป็นการเขียนโปรแกรมให้เข้าถึงโครงสร้างของโค้ด เช่น การเรียก method, การเข้าถึง constructor, การอ้างถึง field ซึ่งก็อาจฟังดูปกติ แต่การเรียกใช้ที่ว่านี้ จะเป็นการทำงาน ณ ขณะ runtime ลองยกตัวอย่างแบบง่ายๆ ดูนะครับ           ผมมีโปรแกรมที่จำเป็นจะต้องเรียก method ซ้ำๆ กัน โดยชื่อ method คล้ายๆ กัน มองๆแล้ว ก็เอ๊ะ จะเรียกด้วย for ได้ไหมนะ ??? initialProgram1(); initialProgram2(); initialProgram3(); initialProgram4(); initialProgram5();           ลักษณะความคิดข้างต้นคือ เรากำลังจะยุ่งกับโครงสร้างแล้วล่ะครับ และคำต่อไปที่อยากให้นึกถึงคือ "Reflection"           การเขียน Java Reflection API ทำได้โดยผ่าน package java.lang.reflect.* ซึ่งมีอยู่แล้วใน JDK ครับ เรามาลองดูโค้ดที่ทำงานแบบเดียวกันด้วย reflection กันดูครับ Main obj = new Main(); for(int i=1; i <=5; ++i) {     Method method = obj.getClass().getMethod("initialProgram"+i);     method.invoke(obj); }           จะเห็นว่าเราสามารถเรียกใช้งาน method ด้วย String ที่สามารถเปลี่ยนแปลง

Smartphone สิ่งที่ควรทำ ก่อน-หลัง เครื่องหาย

Image
"Smartphone" โทรศัพท์ยุคใหม่ ที่มาพร้อมอุปกรณ์ภายในมากมายและเป็นประโยชน์ แต่ปัญหาที่ตามมาคือ ราคาก็สูงขึ้น และล่อตาล่อใจให้ ยืม เอาไปใช้ ก่อนเครื่องหาย เราไม่รู้หรอกว่าวันนี้เครื่องเราจะหายไหม เพื่อความปลอดภัยเราจำเป็นต้องเปิดใช้งาน - Internet(3G/Wifi) ซึ่งคนส่วนมากจะเปิดอยู่ตลอดเวลา ทำให้เราสามารถรับ-ส่งข้อมูลระหว่างเครื่องได้ - GPS เป็นอุปกรณ์สำหรับตรวจสอบพิกัดตำแหน่งของเครื่อง - ตั้ง Lock Screen Password เพื่อปกป้องเครื่องของเราในกรณีฉุกเฉิน แต่เท่านี้ยังไม่พอ เราต้องรู้ด้วยว่าในเครื่องเราใช้บริการอะไรสำหรับการติดตามเครื่องกรณีฉุกเฉิน แล้วทำการเปิดใช้งานด้วย บริการดังกล่าว เช่น iOS จะมี Find My iPhone  ส่วน Android ก็มี  Android Device Manager  นอกจากนี้บางค่ายก็อาจมี Software ที่ทำงานคล้ายๆ กันเช่น Find My Mobile  ของ Samsung My Xperia ของ Sony เป็นต้น หลังเครื่องหาย เมื่อเครื่องหายอยากแรกที่เราจะมั่นใจได้คือ Lock Screen Password ช่วยปกป้องข้อมูลของได้ระดับหนึ่ง และยังไม่สามารถเข้าไป ปิด Internet และ GPS ของเราได้อีกด้วย จากนั้นใช้งานระบบติดตามเครื่อง

[Android] เริ่มต้นเขียน App : รู้จักโครงสร้าง Android Project

Image
ก่อนจะเริ่มต้นได้ ตรวจสอบว่ามีเครื่องไม้เครื่องมือพร้อมหรือยังก่อนนะครับ ถ้าแน่นอนว่ายังไม่เรียบร้อยล่ะก็ ตาม Link ไปเลยครับพ้มม >  http://developer.android.com/sdk/index.html Android ใช้ภาษาหลักในการพัฒนาคือ Java ณ ตอนนี้ Google แนะนำให้พัฒนาด้วย editor สองตัวนี้คือ Eclipse และ Android Studio(based on IntelliJ IDEA) แต่ Java Developer มักจะเคยชินกับ Eclipse ซะมากกว่า อีกทั้ง Android Studio ก็ยังเป็น version beta อยู่ เลยยังไม่เป็นที่นิยมมากนัก และในบทความนี้ ผมก็ใช้ Eclipse เช่นกัน เมื่อเรา New Android Application Project แบบไม่สนใจอะไรทั้งสิ้น(กด Next กระจาย) ก็จะได้หน้าตาออกมาประมาณนี้ครับ สิ่งที่เราควรสนใจเป็นหลักคือ 1. AndroidManifest.xml ไฟล์นี้จะเป็นไฟล์สำคัญของ Android ไว้ใช้กำหนดภาพรวมของ Android Project เช่น ชื่อแอพ, เวอร์ชันแอพ, สิทธิ์การเข้าถึงต่างๆ เช่น internet, sdcard เป็นต้น 2. src [source folder] เป็น folder สำหรับเก็บ source code ที่เป็น java ทั้งหมด ซึ่งเราอาจแบ่ง package ได้ตามที่ต้องการ เราสามารถเขียนได้เหมือน java programming บน platform อื่

ประโยชน์ของ NFC นวัตกรรมร่วมกับ AIS mPAY Rabbit

Image
ออกตัวก่อนว่า  ผมไม่ได้มีส่วนได้ส่วนเสียอะไรกับ AIS หรือ Rabbit นะครับ ผมแค่อยากวิจารณ์ในฐานะ "USER" คนนึง NFC เป็นเทคโนโลยีที่กำลังมาแทน RFID ซึ่งมือถือ Android ซะส่วนใหญ่ก็จะติดมาด้วยในตัวอยู่แล้วครับ แต่ผมว่าหลายคนก็ไม่ค่อยได้ใช้มันเท่าไร มาดูกันดีกว่าว่าเราเล่นอะไรกับเจ้าอุปกรณ์ชิ้นนี้ได้บ้าง - เชื่อมต่อ bluetooth *แน่นอนว่าอุปกรณ์ bluetooth ของคุณต้องมี NFC อยู่ด้วย - ส่งข้อมูลระหว่างเครื่อง เช่น การแตะเพื่อส่งรูปจากอัลบัม แตะเพื่อส่งแอพฯ หรือการส่งข้อมูลขนาดใหญ่ผ่าน wifi direct ด้วยโปรแกรม  SuperBeam | WiFi Direct Share  เป็นต้น แต่ผมก็รู้สึกว่า มัน ไร้สาระ อยู่ดี จะแตะไปทำไมในเมื่อถ้า pair ไว้แล้วก็ bluetooth กันไปเลยสิ ง่ายกว่า ได้ไกลกว่า ไม่ต้อง แตะๆ ด้วย การใช้งานผ่าน NFC แค่ช่วยให้เรา pair อุปกรณ์ได้ง่ายขึ้นโดยไม่ต้องมานั่ง search หาก็เท่านั้นเอง (bluetooth เปิดปิดอัตโนมัติ) android เค้าเรียกมันว่า  Android Beam Google Wallet  สามารถใช้ผูกบัตรเครดิตเข้าไปได้ และใช้งานบัตรผ่าน NFC แต่ร้านค้าก็ต้องมีเครื่องอ่าน แน่นอน ณ วันนี้ ไทยยังไม่มี.......

[Android] ใส่รหัส Google Play ก่อนซื้อของทุกครั้ง จะได้ไม่เสียเงินเยอะโดยไม่รู้ตัว

Image
เป็นประเด็น HOT ที่สุด สำหรับช่วงนี้เลยก็ว่าได้ กับเกม COOKIE RUN ที่ทำให้มีผู้ที่ไม่รู้อิโหน่อิเหน่กดไปซื้อของในเกมจนเป็นเรื่องเป็นราวเสียตังกันหลัก แสน เลยทีเดียวเชียว ก่อนอื่นผมจะเล่าถึงการซื้อขาย application ก่อนนะครับ 1. paid app  เราจะเห็นราคาตั้งแต่ก่อน download application มาใช้ คือต้องจ่ายเงินก่อนจะเป็นเจ้าของได้นั่นเอง 2. in-app purchase เป็นระบบการซื้อขายใน application เช่น การซื้อของในเกม การปลดล็อคด่าน ซึ่งผู้พัฒนาเกมอาจให้ download มาใช้งานฟรีแต่หารายได้โดยการซื้อขายภายในเกมนั่นเอง ไม่ใช่แค่ Cookie Run นะ !! จากที่เห็น ผมเอาภาพของเกมอื่นๆ ที่เสียเงินเหมือนกัน เพื่อปรับความเข้าใจผิดว่าเล่น Cookie Run แล้วเสียตัง จะได้แก้ปัญหากันให้ตรงจุดครับ สังเกตกันดีๆ ไม่ว่าเราจะกดจ่ายเงินจากตรงไหนก็จะมี popup ที่เป็นของ Google Play อยู่ดี เราเสียเงินได้ยังไงล่ะ ?? โดยปกติแล้ว Google Play จะให้เราใส่ข้อมูลบัตรเครดิต ( Google Play & Google Wallet กับการซื้อ app. Android ) เพื่อใช้ทำรายการได้ แต่ปัจจุบันได้มีลักษณะ Carrier Billing คือเรียกเก็บเงินจากผู้ให

Relock Bootloader เพื่อลง Install Stock ROM สำหรับ Xperia Z

Image
จาก  วิธี Root สำหรับ XPERIA : Android 4.3 Jelly Bean  ซึ่งผมว่าคุณที่เข้ามาอ่านเรื่องนี้คงได้ผ่านขั้นตอนเหล่านั้นมาแล้วแน่ๆ สำหรับสิ่งที่ผมจะเล่าให้ฟังต่อไปนี้ก็เป็นวิธีกลับกัน คือทำให้เครื่องกลับมาใช้ firmware ศูนย์เช่นเดิม หรือที่เรียกว่า Stock ROM สำหรับกรณีของผมคือ เปลี่ยนจาก Android 4.3 (rooted) ไป Android 4.4 (unroot) ซึ่งแน่นอนว่าถ้าอยากจะ unlock bootloader หรือ root ต้องทำใหม่ครับ Software ที่จำเป็นต้องเตรียมไว้ก่อน FlashTool - ใช้สำหรับการ Relock Bootloader Sony Update Service  - ใช้สำหรับการ Install Stock ROM มาเริ่มกันเลยนะครับ 1. เปิดโปรแกรม Flashtool  2. กดปุ่ม BLU 3. โปรแกรมจะแสดง popup ให้เชื่อมต่อ USB ด้วย flash-mode (ปิดเครื่องโทรศัพท์ -> กด Volume Down พร้อมเสียบสาย USB) 4. จะมี popup เล็กๆ ให้กด relock  *ในขั้นตอนนี้ผมลอง relock แล้วเปิดเครื่อง จะไม่สามารถเปิดได้ แต่ไม่ต้องตกใจไปครับ มี 2 ทางเลือก คือ ไปต่อ หรือ เปลี่ยนใจไม่ทำแล้ว(อันนี้ให้กลับไปทำซ้ำข้อ 1 อีกรอบ แล้วเลือก unlock ที่ขั้นตอนที่ 4 เครื่องจะปกติเหมือนก่อนเริ่มทำครับ) สำหรับคนที่มาถึ

วิธี Root สำหรับ XPERIA : Android 4.3 Jelly Bean

Image
ทดสอบกับ Sony Xperia Z (C6602) เครื่องศูนย์ไทย Android 4.3 Firmware: 10.4.1.B.0.101 (1)   Z_DooMLoRD_AdvStkKernel_FW-4.3-101_v12.zip (2)   UPDATE-SuperSU-v1.93.zip เตรียมความพร้อม กด *#*#7378423#*#* เพื่อตรวจสอบสถานะของเครื่องว่า Unlock ได้หรือไม่ โดยเลือก Service info > Configuration > Rooting Status ถ้า Bootloader unlock allowed เป็น Yes แปลว่าสามารถ Unlock Bootloader ได้ครับ Android SDK เพื่อใช้เป็นตัวเชื่อมต่อระหว่างโทรศัพท์ กับ คอมพิวเตอร์ โดยวางไว้ที่ไหนในเครื่องก็ได้ ภายใน folder Android SDK โหลด  fastboot-driver  แล้วเอาไปวางที่ Android SDK > extras > google โดยการทับไฟล์เก่า Advance kernel with CWM จาก  XDA (1)  วางไว้ที่ SDCard ของโทรศัพท์ โหลด Update-SuperSU (2)  วางไว้ที่ SDCard ของโทรศัพท์ Unlocking Bootloader การ Unlock Bootloader อาจทำให้หมดประกัน หรืออาจทำให้เกิดปัญหากับตัวเครื่องได้ ควรศึกษาข้อมูลให้ละเอียดถี่ถ้วนก่อนครับ  ไปยังหน้าเว็บ unlockbootloader.sonymobile.com  เพื่อศึกษาข้อมูล และยอมรับข้อตกลง ก่อนทำการ Unlock ครับ

Portal คืออะไรกันนะ???

Image
            หลายๆคน อาจจะเคยสงสัย เมื่อได้ยินคำว่า Portal ซึ่งเกมเมอร์ส่วนใหญ่จะคิดว่ามันคือ เกมส์ๆหนึ่งเท่านั้นเอง แต่เชื่อเถอะค่ะ มันมีอะไรมากกว่านั้น....             เรามาเข้าเรื่องกันเลยดีกว่า เริ่มจาก Portal Web คืออะไร  :  เวปพอร์ทัล หรือ Portal web ก็คือเว็บไซต์ที่ถูกออกแบบมาเพื่อเข้าถึงข้อมูลและบริการต่างๆ ที่อยู่ในเวปไซต์เอง รวมทั้งการเชื่อมต่อไปยังเวปไซต์อื่นๆที่เกี่ยวข้อง  ในการใช้งาน Portal web นั้น จะแบ่งเป็นประเภทต่างๆ ตามลักษณะการใช้งานของแต่ละองค์กร  ทำไมต้องเป็น Portal Web : ว่ากันว่า เหตุผลหลักๆ ในการที่หน่วยงานรัฐ หรือ องค์กรเอกชนเลือกใช้ Portal Web นั้น สามารถยกตัวอย่าง เช่น สามารถเข้าถึง content , application หรือ ข้อมูลอื่นๆ ได้จากหน้าเวป หน้าเดียวได้เลย สามารถเพิ่มประสิทธิภาพในการติอต่อสื่อสารกัน ระหว่าง ลูกค้า และองค์กรได้ สามารถเข้าถึงข้อมูลได้โดยตรง สามารถปรับเปลี่ยนและจัดการ content ได้อย่างง่ายดาย   ประเภทของ Portal Web :  เราสามารถพบเห็น portal ได้หลากหลายประเภท ผู้เขียนขออนุญาตแนะนำ portal ที่เราสามารถเห็นได้โดยส่วนมาก ก่อนแล้วกันนะคะ ที่จะ

วิธีอัพ Android Application ขึ้น Google Play ผ่าน Developer Console

Image
Google Play ชื่อใหม่ของ Android Market เป็นแหล่งรวมแอพฯของผู้ใช้ Android เมื่อเราเป็นผู้ใช้มาระดับหนึ่งแล้ว ก็ถึงคราวที่จะต้องลองเป็นผู้พัฒนาบ้าง  อันดับแรก ต้องมี Google Account หรือ Gmail ก่อนครับ ผู้ใช้ android ทุกคนต้องมีอยู่แล้ว แต่จะใช้อันไหนเป็น account สำหรับ developer ก็เลือกตามความเหมาะสมเลยครับ เข้าไปที่  https://play.google.com/apps/publish/ เพื่อสมัครเป็น Google Play Developer  อ่านและยอมรับเงื่อนไข ของ  Developer Distribution Agreement จากนั้นจะเข้าสู่กระบวนการจ่ายเงิน $25 USD ผ่าน Google Wallet เสร็จแล้วจะเข้าสู่หน้าจอ Google Play Developer Console ได้ ซึ่งก็จะมีให้จัดการส่วนต่างๆ เช่น Google Application, Google Play Games Services, Account Detail และอื่นๆ โดยเราสามารถสร้าง Application ไว้ก่อนโดยยังไม่ upload โปรแกรมก็ได้ เช่น description screenshot icon  ไปที่ Android Project ของเรา แล้วดูที่ไฟล์ AndroidManifest.xml  package คือ ชื่อที่จะเป็น url ของ app.  android:versionCode คือ ตัวเลขจำนวนเต็ม ที่เราจะต้องทำให้เพิ่มขึ้นเรื่อยๆ ทุกครั้งที่ upload 

Facebook Comment

Recent Posts

Popular post of 7 days

Portal คืออะไรกันนะ???

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

Popular

[Java] Java 8 DateTime ใหม่ ไฉไลกว่าเดิม

Portal คืออะไรกันนะ???

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

เรื่องของ ++i กับ i++

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

[Java] Java Static Variable และ Static Method

Push Notification คืออะไร มีวิธีทำอย่างไร (No Code)

พิมพ์ซองจากรายชื่อ excel ด้วยวิธี Mail Merge

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)