티스토리 뷰
https://jsoup.org/download 에서 jsoup다운로드 후 라이브러리 추가
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="75dp" android:text="갱신하기" android:textSize="40sp" android:gravity="center" android:textStyle="bold" android:background="#ffbebe" android:id="@+id/reload"/> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textBox" android:layout_width="match_parent" android:layout_height="match_parent" android:text="text" /> </ScrollView> </LinearLayout> |
우선 xml
다음과 같이 나온다.
다음은 java파일
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | package com.sup3rd3v3l0p3r.teamvetor.naversearchtop10; import android.os.AsyncTask; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.TextView; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.IOException; public class MainActivity extends AppCompatActivity { TextView textView; //결과를 띄어줄 TextView TextView reload; //reload버튼 Elements contents; Document doc = null; String Top10;//결과를 저장할 문자열변수 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.textBox); reload = (TextView) findViewById(R.id.reload); reload.setOnClickListener(new View.OnClickListener() {//onclicklistener를 연결하여 터치시 실행됨 @Override public void onClick(View v) { new AsyncTask() {//AsyncTask객체 생성 @Override protected Object doInBackground(Object[] params) { try { doc = Jsoup.connect("https://www.naver.com/").get(); //naver페이지를 불러옴 contents = doc.select("span.ah_k");//셀렉터로 span태그중 class값이 ah_k인 내용을 가져옴 } catch (IOException e) { e.printStackTrace(); } Top10 = ""; int cnt = 0;//숫자를 세기위한 변수 for(Element element: contents) { cnt++; Top10 += cnt+". "+element.text() + "\n"; if(cnt == 10)//10위까지 파싱하므로 break; } return null; } @Override protected void onPostExecute(Object o) { super.onPostExecute(o); Log.i("TAG",""+Top10); textView.setText(Top10); } }.execute(); } }); } } |
결과
'배운 것 > 안드로이드' 카테고리의 다른 글
[안드로이드] 날짜를 가져오고 원하는 형식으로 가공시키는 예제 (0) | 2017.08.15 |
---|---|
[안드로이드] 무선으로 디버깅하기! (0) | 2017.08.11 |
안드로이드 .jar파일 라이브러리 추가 (0) | 2017.08.07 |
안드로이드 레퍼런스 목록 (0) | 2017.07.03 |
안드로이드 클립보드에 텍스트를 복사시키기 (0) | 2017.07.03 |
댓글