Xem mẫu
- 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
- 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
- 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
- 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
- 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