메뉴 건너뛰기

조회 수 7221 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

옮겨 놓다가 보니자꾸 안되서 애먹었는데,, 이상하게 네트워크관련해서 

Manifest 요부분에서 

<uses-sdk

  android:target~~/>어쩌구 부분을 지웠더니 된다. 

xml 파싱할때도 네트워킹이니까 주의 하도록해야겠다.

 

xml파서를 하다보니 참이상하게도,, xml데이터가안열리네,,,,이건뭔지

나의 데이터형식은

<item>

<title>~~~~`</title>

<link>~~</link>

</item>

 

<item>

<title>~~~~`</title>

<link>~~</link>

</item>

 

<item>

<title>~~~~`</title>

<link>~~</link>

</item>

.....

이런형식이었는데 자꾸 열면 인터넷상에서 에러가났다.흠 가장상위 태그는 하나만해야되서그런건가??,,, 그래서 고쳐보니

 

<item>

<title>~~~</title>

<link>~~~</link>

 

 

<title>~~~</title>

<link>~~~</link>

 

 

<title>~~~</title>

<link>~~~</link>

</item>

이런식으로 고치니까 웹상에서 문제없이 잘됫다. 이것 또한 참고해야겠다. 일단 오늘은 xml파싱으로 데이터를 가져오는 연습을했는데 이것도 안되다가 되서 너무좋다 ㅜㅜ 근데 옛날꺼라 참고한 곳의 링크가 다사라져버렸네 ㅜㅜ(능력자님들죄송합니다 ㅜㅜ)

 

import java.io.InputStream;

import java.net.URL;

import java.util.ArrayList;

 

import org.xmlpull.v1.XmlPullParser;

import org.xmlpull.v1.XmlPullParserFactory;

 

import android.os.Bundle;

import android.app.Activity;

import android.util.Log;

import android.view.Menu;

import android.widget.TextView;

 

public class XMLText extends Activity{

//여기다가 내가 파싱한것중 title만 뽑아서 가져올것이다. 후에 어레이로변환해서 데이터로 쓰기에는 너무좋은 방법인것같다.

ArrayList<String> titleList;

 

@Override

protected void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_xmltest);

 

String Buffer sb=new StringBuffer();

TextView text=(TextView) findViewById(R.id.text);

//xml파싱시작해야디!!일단 getXmlData()란메소드를 호출하여 데이터가져올것이다.

titleList=getXmlData();

 

for(int i=0;i<titleList.size();i++)}

sb.append(titleList.get(i)).append("\n\n");

}

text.setText(sb.toString());

}

//파싱할것들을 정의해보자 

private ArrayList<String> getXmlData(){

String res="이부분은 내가가져올 서버의 xml이담긴곳의주소를입력한다.";

titleList=new ArrayList<String>();

 

try{//일단 PullParser 인스턴스하나먼저 가져오자

XmlPullParserFactory factory=XmlPullParserFactory.newInstance();

//이것은 네임스페이스를 인지할건지 말건지를 고른다 일단 나는인지하는것으로 했고 디폴트값은 false 이다.

참고하자.이부분에서 네임스페이스에대한내용이상세하다 

blog.naver.com/hkpking?Redirec=Log&logNo=30134247888 (감사합니다.능력자님)

factory.setnamespaceAware(true);

//그뒤에 factory로하여금 pullparser를 가져온다.

XmlPullParser xpp=factory.newPullParser();

//내가지정한 유알엘로 들어가고 

URL url=new URL(res);

//이부분에서 고생을 많이했는데, 역시나 문제는

Manifest에서 INTERNET허용 그리고 책에서 보면 null이 아닌 인코딩값이있는데 내컴퓨터가이상한건지 utf-8이런거하면안된다,,,그래서나는 null

xpp.setInput(url.openStream(),null);

//이것 xml로하여금 데이터를 찾기위해쓰는것이다.

int eventType=xpp.getEventType();

//만약에 데이터가 끝까지가지않았으면 그냥돌아라 라는얘기

while(eventType!=XmlPullParser.END_DOCUMENT){

//만약에 태그가 처음시작되는지점이라면 

if(eventType==XmlPullParser.START_TAG){

//그리고 그태그가 title이면 

if(xpp.getName().equalsIgnoreCase("title"){

//가져오자 그리고넘어가자 정말 좋은것 같다. 

nextText()요녀석이 2개의 역활이나하니까 ㅋ

String title=xpp.nextText();

titleList.add(title);

}

}

//첫번째 메인 태그가 돌았으면 이제그다음태그로간다.

eventType=xpp.next();

}

}catch(Exception e){

e.printStackTrace();

Log.d("asd",e.getMessage());

}

return titleList;

}

}

오늘 xml파싱도 성공!! 아무튼 로직보면 titleList궂이 전역선언안해도 되는데,,그냥이것저것 수정하다보니,,좀무의만 코드가 되었다... 하지만 ㅋ뭐실행잘되니,,, 나중에 한꺼번에 고칠때는 더효율적인 코드로 가야지 ,,!!!

이상열정남이었습니다. 사랑합니다!!


List of Articles
번호 제목 날짜 조회 수
117 Android Push GCM 프로젝트 앱 적용 하기(2) file 2016.03.18 8953
116 네트워크 연결 상태 및 3G/WIFI 연결상태 체크하기 2016.03.18 7131
115 안드로이드용 채팅프로그램 클라이언트(java), 서버(c#) 소스 file 2016.05.19 11723
114 카카오톡 분석하기 (1) - sqlite 파해치기 file 2016.05.26 10453
113 카카오톡 분석하기 (2) - 카카오톡 암호화 함수 찾기 file 2016.05.26 9600
112 카카오톡 대화내용 가져오기(sqlite3, chat_logs) file 2016.05.26 15128
111 Android 와 JSP 간 파라미터 암복호화 (1) file 2016.05.26 7474
110 Android 와 JSP 간 파라미터 암복호화 (2) 2016.05.26 7735
109 Android 와 JSP 간 파라미터 암복호화 (3) file 2016.05.26 8088
108 Intent (인텐트) 2016.06.07 7626
107 암시적 인텐트를 사용한 인터넷열기, 전화걸기, 문자보내기 [Intent (인텐트)] file 2016.06.07 7736
106 간단한 mp3 플레이어 만들기 , 음악넣기 , 노래재생 file 2016.06.07 14624
105 알아놓으면 좋은 내용정리 2016.06.07 7458
104 Activity Switching / 안드로이드 액티비티 전환 / 화면 전환 file 2016.06.07 8311
103 Activity Data Transfor/ 액티비티 이동간에 데이터 전송하기 file 2016.06.07 7676
102 어댑터 뷰(Adapter View) & 어댑터(Adapter) (1) file 2016.06.08 7852
101 노티피케이션(Notification) 사용법 / Notification.Builder , NotificationManager file 2016.06.10 13470
100 버튼(Button) 패딩 제거 2016.06.10 7651
99 AndroidManifest에 선언한 메타데이터(meta-data) 가져오기 2016.06.10 9313
98 안드로이드스택(Android Stack) 확인 file 2016.06.10 7778
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved