วันอังคารที่ 30 ตุลาคม พ.ศ. 2555

Review Tablet Scopad (แท็บเลท ป.1)สไตล์กาก กาก

Review Tablet Scopad
รอบนี้เนื้อหามีไม่มาก ถ่ายวีดีโอก็ไม่ดี เอาแบบสรุปๆไปเลยก็แล้วกัน

Spec
Model : HERCULES (SP0718, Gray color) 
Display :  7", IPS Panel ,resolution 1024X600
Operating System :  Android 4.1.1
CPU :  Rockchip RK3066 ARM Cortex-A9 dual core processor 1.5GHZ 
VGA : Mali-400MP
Memory :   1GB
Storage :  8 GB (Int. 1GB, Available 5.4GB)
Camera :  2 MP(Front) 
Interfaces :  USB 2.0 highspeed port, OTG 
Network :  WI-FI 
Bluetooth : No
GPS : No
3G : No (น่าจะสามารถต่อ 3G aircard usb ได้ ไม่มีอุปกรณ์ลอง)
Battery :  3500 mAH
Dimensions :  184*131*11.9 mm
weight :  350 g. 


งานประกอบโดยรวม อยู่ในเกณฑ์ดี แต่ด้านบนของจอ(ด้านที่มีกล้องมีอาการจอเผยออยู่นิดหน่อย น่าจะเป็นทุกเครื่อง เพราะตอนที่ลอง ขอคนขายลอง 2 เครื่อง แล้วเป็นเหมือนกัน)
หน้าจอ ติดฟิล์มกันรอยมาแล้ว แล้วมีแผ่นพลาสติกติดมาอีก 1 ชั้น

video review

Aututu - 7704
แรงมากสำหรับ CPU 2 core
ยิ่ง VGA นี่แรงสู้ Tegra 3 สบายๆ

Con
เครื่องแรงดี ชอบ
น้ำหนักเบาดี
ถูกมาก

Dis
จอสะท้อนแสงไปหน่อย
bug น่ารำคาญ
แบตน้อยไปหน่อย
bluetooth ไม่มี ทำให้การใช้งานบางสถานการณ์ลำบากมาก

Bug
  • แสดงแบตไม่ตรงกับความจริง : แบตอยู่ดีๆก็ลดไปจนเกือบหมด พอปิดแล้วเปิดใหม่ กลับมาเท่าๆเดิม
    • วิธีแก้ - ยังไม่รู้
  • keyboard : เปลี่ยนได้ แต่พอเปิดปิดเครื่องแล้วจะกลับมาใช้ keyboard ที่อยู่ลำดับแรกสุดเสมอ
    • วิธีแก้ - root เครื่องแล้วลบ keyboard ที่ไม่ได้ใช้ออกให้หมด แล้วลงแค่ตัวที่ใช้ตัวเดียว
  • ภาษา : ถ้าเป็นเป็นภาษาไทย จะใช้งาน app บางตัวไม่ได้ แต่พอเปลี่ยนกลับเป็นภาษาอังกฤษใช้ได้ ไม่แน่ใจว่าเป็นกับภาษาอื่นหรือไม่
    • วิธีแก้ - ใช้ภาษาอังกฤษ


tip
เรื่อง root ใช้ SuperOneClick – Short Fuse(mod)  กับ moborobo ก็ root ได้สบายๆแล้ว


ข้อมูลเพิ่มเติม
http://www.pantip.com/cafe/mbk/topic/T12838489/T12838489.html
http://wansone.blogspot.com/2012/10/tablet-pc.html
http://www.pdamobiz.com/forum/forum_posts.asp?TID=597655&PN=1&TPN=1
http://www.pdamobiz.com/forum/forum_posts.asp?TID=598357&PN=1

วันพุธที่ 24 ตุลาคม พ.ศ. 2555

3 วันมหัศจรรย์ เขียน App ซักตัวไม่ง่าย เมื่อมันไม่ง่าย

ขึ้นชื่อว่า Open Source อะไรๆมันก็น่าจะง่าย ติดปัญหาอะไร Google ไปเดี๋ยวก็เจอ เพราะยังไงเราก็คงไม่ใช่คนแรกที่เจอ หรือถ้าเป็นคนแรกที่เจอปัญหาจริงๆ เดี๋ยวก็จะมีคนอื่นเจอปัญหาแบบเดียวกับเรา แล้วเดี๋ยววิธีแก้ก็จะอยู่ใน Google เอง ไม่ยาก ที่ยากคือวิธีแก้ปัญหามันจะให้ผลลัพท์อย่างที่ต้องการหรือไม่

นอกเรื่องไปไกล เรื่องของเรื่องที่เขียนบล็อกนี้ ก็คือ ว่างจัดเลยจัด app android ซักตัว ประโยชน์ใช้งานเอาที่ใกล้ตัว กับมีคนทำเป็นแนวทางใน iOS แล้ว นั่นคือแอฟเช็คตารางเรียนของนักศึกษามหาวิทยาลัยนเรศวร เหมือนจะง่าย แต่ไม่ง่าย เนื่องจากระบบไม่ได้เปิด service อะไรไว้เลย เพราะฉะนั้นก็น่าจะเหลือวิธีเดียวคือ parseHTML มาตรงๆเลย(คือคิดออกแค่นี้)

ต่อมาเรื่องออกแบบตัว app จาก http://developer.android.com/design/index.html บอกไว้เยอะมาก ก็อิงตามในนี้แหละ จัดไปให้ครบทั้ง flow program, หน้าตา UI ฯลฯ จะว่าไปอันนี้ก็ลำบาก เพราะวิธีออกแบบ UI มันคนละแนวก็ iOS จริงๆ ก็เอาเป็นว่า UI ของใครของมัน ระบบใครระบบมัน ไม่ดันทุรังทำแบบเดียวกันหมด จบ

ทีนี้ตอนที่ค้นหาตารางเรียน ลองเขียนเป็น Java ธรรมดาดูก่อน เพราะมันเทสง่ายกว่า มาดูที่ระบบต่อ ระบบเว็บค้นหาตารางเรียนมันมีให้ใส่อยู่ 3 fields ซึ่งดูเหมือนว่าตัวเงื่อนไขที่เช็คใน SQL จะเป็น and ซะด้วย 0_o เอาละสิ นี่แปลว่าถ้าจะค้นอะไรแบบไม่คิดมาก ต้องส่ง query ไป 3 ครั้ง แล้วมาดักแกะข้อมูลเอาเฉพาะตัวที่ไม่ซ้ำกันออกมาสินะ อย่าเลย ลำบากเปล่าๆ ก็แยก input ใน app เราตามเค้าไปเลย โอ้ววววลืมไปว่าถ้าค้นหาเป็นชื่อหรือนามสกุล มันจะมีโอกาสที่ผลการค้นหาจะมีหลาย record เอาไงดีหว่า บังคับให้ใส่เฉพาะรหัสนักศึกษาอย่างเดียวดีกว่า แล้วเวอร์ชันหน้าค่อยเพิ่มให้ค้นหาจากชื่อและนามสกุลได้ด้วยละกัน ไม่งั้นจะเสียเวลามานั่งทำ parseHTML มากไป เพราะตัวเว็บนี่ก็ไม่มี div ไม่มี id ให้หาด้วยนะ ต้องจับจาก table อย่างเดียว โอยย น่าจะใส่ id รึ name รึ class มาซะหน่อยจะได้จับง่ายๆ ok ไม่เป็นไร อย่างน้อยก็ดึงข้อมูลมาได้ละ ใช้ Jsoup มาช่วยตัดเอาเฉพาะส่วนที่ต้องการได้อีกด้วย ยอดเยี่ยม

เอาละต่อไปก็แค่เอาโค๊ดจากตัวทดสอบที่เป็น Java มาใส่ Android ง่ายๆเลย แต่..... โอ้ว error อะไรหว่าไม่เคยเจอ ตอนเป็น Java มันไม่มีปัญหาอะไร พอมารันบน Android เป็นเรื่องเลย ก็ไม่เป็นไร Google ช่วยได้เสมอ แล้วก็ช่วยได้จริงๆ มันเป็นปัญหาเรื่อง UI Thread เอ่ออันนี้ลืมไปจริงๆ เพราะตอนที่ทำตัวทดสอบนี่ console ล้วนๆ ก็ไม่ยาก AsyncTask รับหน้าที่นี้ไป ตอนแสดงผลก็ไม่ยากอะไร ได้มาเป็น HTML ก็ยัดใส่ Webview ไปตรงๆเลย จะใช้ parseHTML มาตัดเลย ก็จะเก่งเกินไป เพราะพวกเล่นมีแต่ table ไม่ div ก็ไม่รู้จะไปจับมายังไง ใส่ไปตรงๆเลยจบ ยังไม่จบสิ ยังเหลืออีกกรณีคือจะดึงข้อมูลตารางเรียนมาได้ต้องมี internet แล้วถ้าไม่มีรึมีแต่ใช้ไม่ได้ เอาไงดี มันโชคดีตรงที่ AsyncTask มีมาให้ครบเลยว่าถ้า onCancel จะเอาไงดี เยี่ยม ประหยัดเวลาไปเยอะ ก็แค่ try catch ไว้ตรงที่มันดึงข้อมูล มีปัญหาก็ cancel() ไป ไม่มีก็รอด เย่

ปัญหาต่อมา(ไม่นับว่าเป็นปัญหาก็ได้) app android พอทำเป็น .apk ต้อง sign ด้วย ไม่งั้นจะไม่ยอมติดตั้ง ก็แค่สร้าง keystore มาซักตัว กะว่าใช้ยาว ก็จบเรื่องนี้ไป

ก็เป็นอันสำเร็จกับ 3 วันมหัศจรรย์  เขียน App ซักตัวไม่ง่าย เมื่อมันไม่ง่าย มีประโยชน์ใช้งานได้จริง(ถึงจะเอาไว้โชว์มากกว่าก็เหอะนะ)