반응형

크롤링(crawling)

 - 크롤링은 웹페이지의 내용을 그대로 가져와 데이터를 추출하는 행위 입니다.

 

서울날씨

위 사진은 현재 서울기준 네이버 날씨이며, 포커싱 된 부분의 글자를 추출하여 기기 화면으로 가져오는 코드를 Jsoup 라이브러리를 통하여 작성해보겠습니다.


build.gradle

// jsoup
    implementation 'org.jsoup:jsoup:1.13.1'

 

xml

<TextView
        android:id="@+id/tv_temper"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="온도"
        android:gravity="center"
        android:textSize="15sp"/>

MainActivity

// 날씨 크롤링
    TextView tv_temper;
    String tem;
    private String URL = "https://m.search.naver.com/search.naver?sm=mtp_sly.hst&where=m&query=%EC%84%9C%EC%9A%B8+%EB%82%A0%EC%94%A8&acr=1";
    
    ...
    
     tv_temper = findViewById(R.id.tv_temper);
        final Bundle bundle = new Bundle();

        new Thread() {
            @Override
            public void run() {
                try {
                    Document doc = Jsoup.connect(URL).get();
                    Elements temper = doc.select(".temperature_text");
                    tem = temper.get(0).text().substring(5);
                    bundle.putString("temperature", tem);

                    Message msg = handler.obtainMessage();
                    msg.setData(bundle);
                    handler.sendMessage(msg);


                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }.start();
        
        ...
        
         // 날씨 handler
    Handler handler = new Handler() {
        @Override
        public void handleMessage(@NonNull Message msg) {
            Bundle bundle = msg.getData();
            tv_temper.setText("" + bundle.getString("temperature") + "도");
        }
    };
반응형
반응형

build.gradle

// cardview
    implementation 'androidx.cardview:cardview:1.0.0'

XML

    <androidx.cardview.widget.CardView
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        app:cardCornerRadius="26dp"
        android:layout_margin="20dp"
        android:backgroundTint="#FBEB58"
        app:cardElevation="8dp">
        
        // 내용
        
    </androidx.cardview.widget.CardView>

결과

Cardview

내용 추가 시 Cardview 내부에 Layout 을 추가한 후에 사용 하시면 됩니다.

반응형
반응형

Android JNI 관련 설정 후 빌드과정에서 발생한 에러

 

Android.mk 파일에서 아래 코드 추가 

LOCAL_PATH := $(call my-dir)
반응형
반응형

Unsupported class file major version 55

현재 jdk버전과 호환되지 않을때 발생하는 에러


JDK 설치

https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html

 

Java Archive Downloads - Java SE 11

WARNING: These older versions of the JRE and JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production. For production use Oracle recommends downlo

www.oracle.com

 

위 oracle 홈페이지에서 적절한 버전의 jdk를 설치 후에 설정 해주시면 됩니다.

 

File -> settings -> Build, Excution, Deployment -> Build Tools -> Gradle

Gradle JDK

Gradle JDK 선택

반응형

+ Recent posts