วันเสาร์ที่ 12 มีนาคม พ.ศ. 2554

Android: Download File from URL and Save it in SDCard

download file from url and save it in SDCard
หลังจากนั่่งเขียนโปรแกรมโหลดภาพจากเซิฟเวอร์ลง SD card เป็นเวลากว่า 5 ชั่วโมง และแล้วก้อสำเร็จจนได้ *0* เอาสาเหตุก่อนหละกันว่าทำไมต้องทำ เนื่องจากว่า โปรแกรมที่ผมกำลังทำอยู่นั้นมีภาพประกอบจำนวนมากกว่า 400 ภาพ และเมื่อนำมาใส่ในโปรเจ็ค android แล้วประมาณ 100 กว่าภาพ emulator ก้อโหลดไม่ขึ้นแล้ว และ โปรแกรมยังจะมีไฟล์เสียงอีก 30 กว่าเมกอีก โอ้วปวดหัวเลย... วันนี้จึงต้องทำการบ้านว่า ทำอย่างไรโปรแกรมของเราถึงจะสามารถรันได้ และมีรูปกับไฟล์เสียงครบถ้วน และวิธีมันก้อคือ โหลดทั้งไฟล์รูปไฟล์เสียงทั้งหมดใส่ SD Card นั้นหละจบเลย


ขั้นตอนนั้นผมก้อหาจากเน็ตนั้นหละครับ หาไปเรื่อยๆ ทดลองผิดเยอะมากๆ จึงได้วิธีมาดังนี้

1. นำไฟล์เข้าเซิฟเวอร์ก่อนเลย

2. เขียนโปรแกรมดึงภาพ 1 ภาพจาก URL และเก็บลงใน SDCard
http://www.androidsnippets.com/download-an-http-file-to-sdcard-with-progress-notification

3. เรียกภาพจาก SDCard ขึ้นมาแสดงบน ImageView ด้วย BitmapFactory.decodeFile(path)
http://android-er.blogspot.com/2010/01/how-to-display-jpg-in-sdcard-on.html

4. เพื่อนๆ สามารถศึกษาเทคนิคเพิ่มเติมในการโหลดไฟล์จาก URL ได้ตามลิ้งต่อไปนี้
lhttp://android-developers.blogspot.com/2010/07/multithreading-for-performance.htm

ตัวอย่างที่ผมทดลองทำ โหลดมาเก็บไว้ที่ SDCard แล้วโหลดมันขึ้นมา


เดี๋ยวเอาไว้เท่านี้ก่อน เทคนิคเชิงลึกๆ ในการโหลดภาพทีหละหลายๆ ไฟล์พร้อมกัน การจัดเก็บไฟล์ต่างๆ จะมาเขียนให้อ่านกันคราวหน้าครับ วันนี้ราตรีสวัสดิ์

adaydesign :)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น