Archive

Archive for January, 2015

เว็บสำหรับสร้าง Data Access Object (DAO) จาก Json response

January 29, 2015 Leave a comment

สำหรับผู้เน้นสบายอีกแล้วครับท่าน โยน Json เข้าไป มันจะ Generate ออกมาให้เป็น Class เลย + Getter Setter พร้อมรบ

http://www.jsonschema2pojo.org/

Categories: Android, Java Tags: ,

Android Parcelable การส่งผ่านข้อมูลระหว่าง Activity แบบ Class

January 29, 2015 Leave a comment

ในตอนแรกผมใช้ Serialize ในการส่งผ่านข้อมูลเนื่องจากง่าย แค่ implement ไปก็ใช้ได้เลย

แต่ว่าข้อเสียของมันคือทำให้ช้าเพราะ Serialize เป็นการทำ Class นั้นให้ในรูปแบบ String

แล้วโยนข้าม Activity ทั้งก้อน

คราวนี้เลยมาลองใช้ของเฉพาะสำหรับ Android กันดูบ้าง

Parcelable นั้นเท่าที่ผมลองเล่น คือการส่งแค่ Data ภายใน Class ข้าม Activity กันไปมาเท่านั้น

เช่น ฝั่ง A พอจะส่ง ก็ Write ค่าออกมา แล้วโยนข้าม Activity

พออีกฝั่งรับมาก็จะเอาจะเอาข้อมูลมา Read ลงกลับที่เดิม ดูตัวอย่างแบบง่ายๆ ที่ผมลองทำได้ที่ Url ด้านล่าง

Git hub:

https://github.com/Moomak/Demo-Parcelable-Android/tree/master/app

จากคำแนะนำของ Guru หลายคนก็บอกว่า Parcelable เร็วกว่า Serialize มาก เพราะฉะนั้นจำเป็นต้องศึกษานะครับ 🙂

แถมอีกนิด เว็บสำหรับ Generate Class ของเราให้กลายเป็น Parcelable

http://www.parcelabler.com/

Categories: Android Tags: ,

แก้ Library ZBarAndroidSDK 0.2 ให้ใช้ได้กับ Android Studio

January 15, 2015 Leave a comment

เนื่องจากย้ายจาก Eclipse มาเป็น Android Studio เลยต้องทำการ Library นี้มา

ซึ่งปกติใช้ compile fileTree(dir: ‘libs’, include: [‘*.jar’]) อยู่แล้ว แต่คราวนี้ปรากฎว่ามันไม่ Import iconv.so มาให้ด้วย เพราะว่าเป็น folder และ ตามด้วย *.so

หาข้อมูลในเน็ตก็มีวิธีการเพิ่มส่วน Compile ลงไปใน gradle ซึ่งผมไปเจอวิธีที่ง่ายกว่านั้นคือ

1. สร้าง folder ชื่อ lib ขึ้นมาก่อน (ที่ไหนก็ได้ แค่เอาไว้วางไฟล์)

2. โยน folder armeabi (ที่มี iconv.so ในนั้น) เข้าไปใน folder lib

3. อัด zip folder lib แล้วเปลี่ยนชื่อเป็น armeabi.jar

4. โยน jar ตัวนี้เข้าไปใน folder libs ของ Android Studio

เท่านี้ก็เป็นการ Hack เพื่อ import so แบบง่ายๆ แล้ว

ทำกับตัวอื่นแบบกันให้ครบ armeabi-v7a, x86 ใช้ชื่อ jar ตามชื่อ folder ได้เลย แล้ว Copy ลง libs ให้หมด

เท่านี้ตัว ZBar ก็สามารถทำงานได้ตามปกติ โดยไม่ต้องไปแก้ Gradle เลย

คำเตือน ขั้นตอนที่ 1. ต้องใช้ชื่อเป็น lib เท่านั้น ไม่เช่นนั้นจะไม่สามารถ import *.so เข้าไปได้

สรุป: compress zip => lib/armeabi/[iconv.so],[libzbarjni.so] + rename to armeabi.jar

lib/armeabi-v7a/[iconv.so],[libzbarjni.so] + rename to armeabi-v7a.jar

lib/x86/[iconv.so],[libzbarjni.so] + rename to x86.jar

Categories: Android