읽기 부분에서 알고리즘을 알 수 없습니다. (저는 영어를 거의 알지 못합니다) 알고리즘에 단 하나의 실수가있는 것 같아요. 또한 전화 번호부 백업 예제 응용 프로그램을 찾고 있습니다.
도와 주시면 기뻐요
ArrayList<String> ad;
ArrayList<String> phone_no;
ad = new ArrayList<String>();
phone_no = new ArrayList<String>();
try { File file = new File("/sdcard/TELEFON_YEDEK/yedek.xml");
InputStream is = new FileInputStream(file.getPath());
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new InputSource(is));
doc.getDocumentElement().normalize();
NodeList nodeList = doc.getElementsByTagName("TelefonRehberi");
NodeList n = doc.getElementsByTagName("kisi");
for (int i = 0; i < n.getLength(); i++) {
Node node = n.item(i);
Element fstElmnt = (Element) node;
ad.add(fstElmnt.getAttribute("adSoyad"));
count = Integer.parseInt(ad.get(i));
}
for (int j = 0; j < count; j++) {
Node node = n.item(j);
Element fstElmnt = (Element) node;
phone_no.add(fstElmnt.getAttribute("telefon"));
Log.d("adsoyadlar",fstElmnt.getAttribute("telefon"));
}
} catch (Exception e) {
Toast.makeText(MainActivity.this,"okunamadı",Toast.LENGTH_SHORT).show();
}
이 코드를 사용하여 xml에서 읽습니다.
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.*;
import android.os.Environment;
import android.util.Log;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
import android.content.Context;
try {
FileInputStream fis;
ArrayList<String> ad;
ArrayList<String> phone_no;
ad = new ArrayList<String>();
phone_no = new ArrayList<String>();
// temp holder for current text value while parsing
String curText = "";
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser xpp = factory.newPullParser();
// Open up InputStream and Reader of our file.
fis = new FileInputStream(new File("/sdcard/TELEFON_YEDEK/yedek.xml"));
BufferedReader reader = new BufferedReader(new InputStreamReader(fis));
// point the parser to our file.
xpp.setInput(reader);
// get initial eventType
int eventType = xpp.getEventType();
// Loop through pull events until we reach END_DOCUMENT
while (eventType != XmlPullParser.END_DOCUMENT) {
// Get the current tag
String tagname = xpp.getName();
// React to different event types appropriately
switch (eventType) {
case XmlPullParser.TEXT:
//grab the current text so we can use it in END_TAG event
curText = xpp.getText();
break;
case XmlPullParser.END_TAG:
if (tagname.equalsIgnoreCase("adSoyad")) {
// if </adSoyad> add on adSoyad
ad.add(curText);
} else if (tagname.equals("telefon")) {
// if </telefon> use setLink() on telefon
phone_no.add(curText);
}
break;
default:
break;
}
//move on to next iteration
eventType = xpp.next();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
fis.close();
}catch(Exception e){
Log.i("Problem closing", "Closing fis");
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다