20.11.2016 Views

ANDROID APP

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

เครือข่ายสังคม<br />

215<br />

Intent i = new Intent(TwitterCookBook.this,<br />

UpdateAndList.class);<br />

startActivity(i);<br />

Editor ed = myprefs.edit();<br />

ed.putString("username",userET.getText().toString());<br />

ed.putString("password",<br />

passwordET.getText().toString());<br />

ed.commit();<br />

finish();<br />

}<br />

}<br />

});<br />

}<br />

} catch (Exception e) {<br />

e.printStackTrace();<br />

Toast.makeText(TwitterCookBook.this, "login failed!!",<br />

Toast.LENGTH_SHORT).show();<br />

}<br />

ในชุดคำสั่งที่ 8.12 เมื่อล็อกอินสำเร็จแล้ว แอคทิวิตี้ UpdateAndList ก็จะเริ่มทำงาน โดยจะ<br />

แสดงออบเจ็กต์ EditText เพื่อให้ผู้ใช้สามารถกรอกข้อความได้รวมถึงปุ่มกดที่ใช้ในการยืนยันการส่ง<br />

ข้อความด้วย ซึ่งในออบเจ็กต์ Twitter จะมีตัวแปร ResponseList ที่ใช้เก็บข้อมูลที่ส่งมาจากออบเจ็กต์<br />

แอคทิวิตี้ getHomeTimeline() มีไว้เพื่ออ่านข้อมูลสถานะของไทม์ไลน์ที่แสดงอยู่ในหน้า<br />

Home ของทวิตเตอร์เมื่อล็อกอิน โดยคำสั่งที่เกี่ยวข้องกับการอ่านข้อมูลจากอินเตอร์เน็ตนั้นจะต้องใส่<br />

ไว้ใน AsyncTask เสมอเพื่อป้องกันหน้าจอค้างในกรณีที่ต้องใช้เวลาในการอ่านข้อมูลนาน เมธอด<br />

getHomeTimeline() จะถูกเรียกใช้ทุกครั้งเมื่อผู้ใช้ส่งข้อความใหม่หรืออัพเดตไทม์ไลน์<br />

คำสั่ง UserTimeLineAdapter ของคลาส BaseAdapter จะใช้ในการแสดงข้อมูลของสถานะ<br />

ไทม์ไลน์ ซึ่งคำสั่งนี้จะใช้ข้อมูล userTimeLine เพื่อแสดงข้อมูลใน ListView<br />

ใน ListActivity จะมีคลาสของ AsyncTask อยู่ 2 ตัว คือ setup และ loadstatus<br />

ซึ่งจะทำงานในลักษณะเดียวกันคือเรียกใช้คำสั่ง getHomeTimeline() แต่จะมีข้อแตกต่างตรงที่<br />

setup จะสร้าง ListActivity โดยใช้ UserTimeLineAdapter แต่ loadstatus จะส่งข้อมูลไป<br />

ยัง UserTimeLineAdapter โดยตรงเมื่อข้อมูลมีการเปลี่ยนแปลง<br />

ชุดคำสั่งที่ 8.12 src/com/cookbook/twitter/UpdateAndList.java<br />

package com.cookbook.twitter;<br />

import twitter4j.ResponseList;<br />

import twitter4j.Status;<br />

import twitter4j.Twitter;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!