2011-05-02 6 views
0

내 앱에서 JSON을 사용하고 있으며 RSS 피드를보고 싶은 버튼을 클릭 한 후 "RSS"버튼이 있습니다. 로그인하는 동안 JSON도 사용하지만 모든 것이 백그라운드에서 수행되고 다음 뷰는 JSON 객체에 의존하지 않습니다. LogCat에서는 다음과 같은 것을 볼 수 있습니다 {"response":{"@attributes":{"count":"4","all_results_count":"4","page":"1"},"news":[{"content_id":"43366","date_added":"04-01-2010","content_title":"New News","content_data":"mika"},{"content_id":"111443","date_added":"04-11-2008","content_title" .....하지만 어떻게 실제로 Android 화면에 표시 할 수 있습니까?안드로이드에 RSS를 표시하는 방법?

답변

1

사용 JSONTokener는 JSON 문자열을 구문 분석합니다.

string json = getYourFeed() // some method to retrieve the json response. 

JSONObject object = (JSONObject) new JSONTokener(json).nextValue(); 
int count = JSONObject response = object.getJSONObject("response").getJSONObject("@attributes").getInt("count"); 
JSONArray array = object.getJSONObject("response").getJSONArray("news"); 
for (int i=0; i<count; i++) { 
    JSONObject newsItem = array.getJSONObject(i); 
    Log.d("RSSReader", newsItem.getString("content_title"); 
} 

JSONObject의 get ... 메소드를 사용하여 나머지를 동일한 방식으로 검색하십시오.

귀하의 의견을 바탕으로 업데이트 : : 간단하게 시작한 다음 이러한 컨트롤에 대한 느낌을 얻으면서 더 복잡한 내용을 추가 할 것입니다. 뉴스 제목이있는 문자열 [] 배열을 만들고 ArrayList 어댑터를 사용하여 목록에 추가하십시오. 사용하기가 매우 쉽습니다. 전체 내용이 ToastOnItemClickListener을 추가하십시오.

그런 다음 ListView 및 전체 뉴스가 표시된 TabActivity의 여러 열로 SimpleAdapter 버전으로 이동할 수 있습니다.

http://ykyuen.wordpress.com/2010/01/03/android-simple-listview-using-simpleadapter/

http://developer.android.com/resources/tutorials/views/hello-tabwidget.html

+0

그리고 그것을 표시하려면 XML 레이아웃을 사용해야하고 TextView에 "for"반복마다 "rss"문자열을 추가하면됩니다. – lomza

+0

@lomza 당신은 [ListViews] (http://developer.android.com/reference/android/widget/ListView.html)에 대해 읽고 싶을 것입니다. 예제보기 [here] (http://developer.android.com/resources/tutorials/views/hello-listview.html) – Aleadam

+0

OK, jsonHelper 클래스에서 public static News [] getNews (JSONObject 객체)'를 작성하는 데 사용됩니다. 그리고 저는이 [Screen Layout] (http://developer.android.com/reference/android/app/ListActivity.html)을 사용하지만, 여전히 그들을 연결하는 방법을 모른다. 나는 [NewsList] (http://codeviewer.org/view/code:1a25) (DataRequest는 JSON 구문 분석이 일어나는 클래스이다). 이제 News 버튼을 누르면 Null Pointer Exception을 얻습니다. 실제로 이상하지 않습니다. – lomza

-1

출력물을 얻으려면 어떤 코드를 사용하고 있습니까?

나는 'SAXParser를'같은 뭔가를 구문 분석하고 '목록보기'를 사용하여 표시 할 ...

+0

JSON 출력 뭐가 잘못? 그리고이 데이터에 SAX 파서를 어떻게 사용합니까? – Aleadam

+0

이미 JSON 구문 분석을 사용하고 있고 다른 것을 사용하면 좋은 스타일이 아닐 것입니다. – lomza

+0

Arg ... 제대로 읽지 못했습니다. 죄송합니다. –

관련 문제