Xem mẫu

  1. Trung tâm Tin học – ĐH KHTN Lấy dữ liệu từ File Ngoài DataBase bằng SQLite như 1 bài viết mà mình đã đăng. Ta còn có th ể l ấy d ữ kiệu trực tiếp bằng File XML. Cách lấy dữ liệu kiểu này khá đơn giản nh ưng l ại gây 1 số khó khăn cho quá trình quản lý. Nên có thể tùy ứng d ụng mà bạn s ử d ụng. Các bạn tạo 1 Project như sau: Project name: AccessFile Build Target: Android 2.3.3 Application name: AccessFile Package name: com.dac.AccessFile Create Activity: AccessFile Trong phần giao diện đơn giản như sau: Để tạo cơ sở dữ liệu XML ta tạo folder mới mang trên raw trong folder res. Sau đó ta tạo 1 file Words.xml trong folder raw và có code như sau: Lập trình Android – http://laptrinhdidong.vn Page 1
  2. Trung tâm Tin học – ĐH KHTN Vậy ta đã tạo được 1 tập hợp các từ làm dữ liệu. Vậy nên ta code trong file AccessFile.java như sau: package com.dac.AccessFile; import java.io.InputStream; import java.util.ArrayList; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import android.app.ListActivity; import android.os.Bundle; Lập trình Android – http://laptrinhdidong.vn Page 2
  3. Trung tâm Tin học – ĐH KHTN import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; public class AccessFile extends ListActivity { TextView selection; ArrayList items=new ArrayList(); /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); selection=(TextView)findViewById(R.id.Selection); try { InputStream in=getResources().openRawResource(R.raw.words); DocumentBuilder builder=DocumentBuilderFactory .newInstance() .newDocumentBuilder(); Document doc=builder.parse(in, null); NodeList words=doc.getElementsByTagName("word"); for (int i=0;i
  4. Trung tâm Tin học – ĐH KHTN items.add(((Element)words.item(i)).getAttribute("value")); } in.close(); } catch (Throwable t) { Toast .makeText(this, "Exception: "+t.toString(), 2000) .show(); } setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, items)); } public void onListItemClick(ListView parent, View v, int position, long id) { selection.setText(items.get(position).toString()); } } Kết quả: Lập trình Android – http://laptrinhdidong.vn Page 4
  5. Trung tâm Tin học – ĐH KHTN Vậy ta đã lấy được dữ liệu từ file XML và khi bấm vào 1 tên bất kỳ thì TextView s ẽ hi ện ra tên đó. Mọi ý kiến đóng góp các bạn vui lòng gữi bài viết vào forum www.laptrinhdidong.vn . Rất mong nhận được sự phản hồi của các bạn Lập trình Android – http://laptrinhdidong.vn Page 5
nguon tai.lieu . vn