메뉴 건너뛰기

조회 수 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
번호 제목 날짜 조회 수
257 Activity Data Transfor/ 액티비티 이동간에 데이터 전송하기 file 2016.06.07 7676
256 Activity Switching / 안드로이드 액티비티 전환 / 화면 전환 file 2016.06.07 8311
255 Android Login and Registration with PHP, MySQL and SQLite file 2015.07.16 14178
254 Android Navigation Drawer API 공개! 디자인 가이드 살펴보기 file 2015.07.29 8141
253 Android Push GCM 서버 구성 하기(3) file 2015.12.14 6388
252 Android Push GCM 프로젝트 앱 적용 하기(2) file 2016.03.18 8953
251 android SMS 리시버 2015.06.29 6871
250 Android Studio에서 SQLCipher 라이브러리 추가 방법 file 2018.10.02 1776
249 Android TIP] strings.xml 에서 특수문자 사용하기 2015.12.15 6629
248 Android 간단한 회원 가입 폼 만들기 for Mac (PHPMyAdmin 이용) file 2015.07.10 10508
247 Android 와 JSP 간 파라미터 암복호화 (1) file 2016.05.26 7474
246 Android 와 JSP 간 파라미터 암복호화 (2) 2016.05.26 7735
245 Android 와 JSP 간 파라미터 암복호화 (3) file 2016.05.26 8088
244 android.support.v4.content.FileProvider not found file 2020.12.14 308
243 AndroidManifest에 선언한 메타데이터(meta-data) 가져오기 2016.06.10 9313
242 Android] Fragment 내부의adapter에서 startActivity 하기 2015.12.15 6487
241 Android] 안드로이드 홈 디렉토리 알아내기 2015.12.15 6895
240 Apk manager 이용해 Decompile (디컴파일) 하기 file 2021.03.16 1620
239 App 실행 file 2021.03.31 244
238 CSS3 Rounded Corner, 그림자 효과 사용하기 file 2014.09.04 6760
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved