ݺߣ

ݺߣShare a Scribd company logo
สร้างแอปอ่านการ์ตูน
By IamUser773
โดยเริ่มต้นให้ตั้งชื่อโปรเจคตามที่คุณต้องการครับ โดยผมตั้งว่า Comics
และผมตั้งให้รองรับAPI เวอร์ชั่นต่่าที่สุดคือ Level 17
เมื่อติดตั้งเสร็จแล้วก็กด next และเลือก empty activity เป็นอันว่า
สร้างโปรเจคเสร็จเรียบร้อยครับ
โดยสิ่งแรกที่ผมจะท่าคือตั้ง targetsdk เป็นเวอร์ชั่น 22 พอดียังไม่อยาก
เขียนตัว permission แบบใหม่อ่าครับ ^^
ต่อมาเราก็ต้องท่าการก่าหนด ตัวViewPager ลงใน activity_main.xml
โดยผมจะลบตัว padding และก็ตัว TextView ออกไปนะครับ
จะเห็นว่าตัว layout ของเราว่างเปล่าแบบนี้ เราจะท่าการครอบตัว
ViewPager ลงไปและก็ก่าหนดให้มีขนาดกว้างเต็มหน้าจอเลยครับ
ต่อมาเราจะมาเพิ่ม Libraly ที่ชื่อ volley กันนะครับโดยการท่างานและ
การใช้งานผมจะเขียนอธิบายทีหลังนะครับ เมื่อเพิ่มเรียบร้อยแล้วก็กด
Sync Now ได้เลย (รอโหลดซักครู่)
ต่อมาเราต้องสร้าง layout ใหม่ โดยตั่งชื่อว่า image_content.xml
โดยภายใน เราจะท่าการเพิ่มตัว NetworkImageView เพื่อใช้ในการ
cache รูปภาพนั่นเอง(ความจริงใช่ imageview ก็ได้นะ)
ความสามารถหนึ่งของ volley ก็คือการ cache ภาพนั่นเอง
Cache คืออะไร
Cache คือหน่วยความจ่าอย่างนึง มีความเร็วในการเข้าถึงและการ
ถ่ายโอนข้อมูลที่สูง ซึ่งมีหน้าที่ในการเก็บข้อมูลที่เราต้องการจะใช้งาน
บ่อยๆ เพื่อเวลาที่ CPU ต้องการใช้ข้อมูลนั้นๆ จะได้ค้นหาได้เร็ว โดยที่
ไม่จ่าเป็นที่จะต้องไปค้นหาจากข้อมูลทั้งหมด
ซึ่งท่าให้เราสามารถเข้าถึงข้อมูลของเราได้รวดเร็วยิ่งขึ้น
Cache มี 2 แบบคือ
1.disk cache คือการเก็บข้อมูลไว้ในหน่วยความจ่าหลักของเราก่อน เมื่อ
CPU ต้องการจะหาข้อมูล ก็จะหาใน dish cache ก่อนแล้วค่อยเข้าไปค้นหา
ใน Harddisk
2.Memory cache จะดึงข้อมูลมาเก็บไว้ใน memory ซึ่งจะถึงขอ้มูลได้
รวดเร็วกว่า แต่มีความจ่าที่เล็กกว่า
เพราะฉะนั้นถ้า คอมพิวเตอร์เครื่องใดที่มี cache ความเร็วสูงก็จะเข้าถึงข้อมูลได้
ง่าย แต่อย่างไรก็ตามยิ่งขนาดใหญ่ก็เก็บข้อมูลได้เยอะ แต่การเข้าถึงจะช้ากว่า
cache ที่มีขนาดเล็ก
ระบบ Cache นอกจาก ใน computer แล้ว ระบบ Cache ยังเอามาใช้งานบน
เว็บ ด้วย CMSส่วนใหญ่จะมีระบบ Cache เพื่อลดภาระการท่างานของฐานข้อมูล
ลง
ข้อมูลอ้างอิง
http://x86club.fix.gs/index.
php
vaitaro.exteen.com
เราสร้าง viewpager เรียบร้อยแล้วใช่ไหมครับ
สิ่งที่เราจะท่าก็คือน่ารูปภาพมาเรียงต่อกันแบบนี้
รูป1 รูป2 รูป3รูป3
เพราะฉะนั้นเราต้องมี adapter โดยเราจะสร้างclass MyAdapter
และท่าการ Override method ดังนี้
ต่อมาเราจะรับค่า Context จาก Activity ที่เรียกใช้งาน Adapter
กลับไปก่าหนด background เป็นสีแดงเมื่อ view ถูกเพิ่มจะได้รู้
class MyAdapter
ใช้ส่าหรับก่าหนด view ที่น่ามาแสดงใน
adapter
จ่านวนที่น่ามาแสดง
ชนิดของview
ท่าลายitem แต่ละอัน
ต่อมาท่าการก่าหนด adapter เพื่อเรียกใช้งาน
โค้ด๶ต็มๆ
ต่อมาเราจะมาท่าการเรียกใช้ Adapter ในclass MainActivity.java
หลังจากก่าหนด Adapter เรียบร้อยแล้วให้ลองกด Run ดูครับว่าได้
ผลลัพธ์ แบบนี้หรือป่าว ถ้าได้แสดงว่าคุณได้ไปต่อ ถ้าไม่ให้ลองกลับไป
ดูโค้ดอีกทีนะครับ ว่าผิดตรงไหน
ต่อมาเราจะมาสร้าง class ส่าหรับการ cache รูป
โดยก่อนอื่นเราจะสร้างแพ็กเกจ แยกกันก่อนนะครับ และก็ท่าการสร้าง
class BitmapCache และท่าการ implements method โดยกด
alt + enter(คลิกที่เส้นสีแดงก่อนนะครับ)
สร้างแอปอ่านการ์ตูน
ลบออกด้วยนะ
สร้าง method ตามนี้เลยจ้า
ก่อนอื่นเราจะต้องทราบว่าแรมของผู้ใช้มีขนาดเท่าไหร่ เราจึงรับค่าแรม
มาเก็บไว้ในตัวแปร maxMemory และน่ามา หาร8 ยกตัวอย่างแรม
1 G ก็จะได้ความจ่าcache 128 m
ต่อมาก็เป็น method ที่รับค่า URL ของรูปภาพ
เมื่อได้ตัว cache เรียบร้อยแล้วเราก็จะมาเขียน class โหลดข้อมูล
โดยใช้ Volley โดยเราจะตั้งชื่อมันว่า AppController
โดย class นี้จะใช้ในการจัดคิวในการดาวโหลดข้อมูล
ต่อจากด้านบนนะครับ
จ่าclass Bitmap
ได้ไหมครับเราน่ามา
ก่าหนดตรงนี้
เพื่อใช้ในการ
Cache ภาพ
เมื่อเราเขียนคลาสส่าหรับจัดการการดาวโหลดข้อมูลเรียบร้อยแล้วเราก็
มาก่าหนด permission ในการเข้าถึง Internet กันต่อเลย
โดย permission ตัวแรกที่เราจะขอก็คือการเข้าถึง internet ส่วนตัวที่
สองก็คือการเช็คสถานะการเชื่อมต่อ
ต่อมาก็มาเพิ่ม Appcontroller ในการท่างานส่วน subclass
เมื่อทุกอย่างเสร็จแล้วเราก็มาลองโหลดข้อมูลกันหน่อยดีกว่าครับ
โดยผมจะสร้างข้อมูล json ชุดหนึ่งโดยวิธีการสร้างนั้นให้เราไปที่เว็บ
http://myjson.com/
โดยข้อมูลที่ผมจะใส่เข้าไปก็คือ url ของรูปภาพครับ
สร้างแอปอ่านการ์ตูน
ต่อมาเราก็เอา url ของมันมาใช้งาน
https://api.myjson.com/bins/2ew9o
และก็ท่าการโหลดข้อมูล โดยผมจะเขียน Log เพื่อแสดงผลการท่างาน
ถ้าหากโหลดข้อมูลได้ก็จะแสดง Log response พร้อมข้อมูล
ถ้า Error ก็จะแสดง Log Error พร้อม ข้อมูลerror
ถ้า Run แล้วได้ข้อมูลประมาณนี้แสดงว่าถูกต้องนะครับ แต่ถ้ามีerror
ก็ลองดูนะครับว่ามัน error อะไรแล้วลองไป search google ดูนะครับ
เมื่อเราได้ข้อมูลมาแล้วเราก็ต้องท่าการแปลงข้อมูล และก็แยกข้อมูลแต่
ละอัน และก็ส่งไปให้class Adapter เพื่อน่าurl ไปset ก็เป็นอันเสร็จ
สิ้นการท่างานครับ
โดยก่อนอื่นเรามาเพิ่ม ProgressBar เพื่อแสดงการโหลดข้อมูลก่อน
ดีกว่า โดยเราจะสร้าง FramLayout และก็เอาเจ้า ProgressBar ไป
ทับเจ้า ViewPager ซะก่อน
สร้างแอปอ่านการ์ตูน
ต่อมาก็มาประกาศมันใน class MainActivity
ต่อมาเราก็มาท่าการแยกข้อมูลนะครับแต่ข้อมูลของเรามีแค่ url อย่าง
เดียวเราเลยไม่ต้องเขียนclass model โดยเราจะเอา url เก็บไว้ในตัว
แปร Arraylis เลยนะครับ
ต่อมาเราก็มาท่าการแยกข้อมูลนะครับแต่ข้อมูลของเรามีแค่ url อย่าง
เดียวเราเลยไม่ต้องเขียนclass model โดยเราจะเอา url เก็บไว้ในตัว
แปร Arraylist เลยนะครับ
ต่อมาเราก็ท่าการโหลดข้อมูล และส่งข้อมูลไปให้ Adapter เละท่าการ
ซ่อน ProgressBar
แต่ถ้าโหลดข้อมูลไม่ได้ก็ให้แสดงข้อความแจ้ง User
ต่อมาก็ส่งรับข้อมูลในฝั่ง Adapter
และก็น่ารูปภาพไป set
สร้างแอปอ่านการ์ตูน
โดยเราจะเปลี่ยน getCount เป็นขนาดของข้อมูลนะครับ
เป็นอันเสร็จเรียบร้อย ทดสอบRun ดูเลย
สร้างแอปอ่านการ์ตูน
จบแล้วครับ โปรดติดตามตอนต่อไป

More Related Content

สร้างแอปอ่านการ์ตูน