Python 연구 노트-Chaquopy를 사용하여 AndroidStudio에서 Python 라이브러리 호출

소개

이전 기사에 이어이 기사에서는 파이썬 라이브러리를 소개하고 메서드를 호출하려고합니다.
(이전 기사 : Python 연구 노트-Chaquopy를 사용하여 AndroidStudio, Java 및 Python 상호 변조에 Python 환경 추가 )
Chaquopy에서 지원하는 Python 라이브러리는 다음 링크에서 찾을 수 있습니다. https://chaquo.com/pypi-2.1/

계속해서 파이썬 라이브러리에 호출을 추가합니다.

app 디렉터리의 build.gradle에 표시된대로 이전에 추가 한 python 구조에 pip 명령을 추가합니다.
설치 라이브러리는 Chaquopy에서 지원하는 라이브러리에 있어야합니다. 지원되지 않는 라이브러리는 실행시 오류를 발생시킵니다.
여기에 사진 설명 삽입
그런 다음 python 디렉토리에 새 callPyLib.py 파일을 만듭니다.
여기에 사진 설명 삽입
코드는 다음과 같습니다. crawler + numpy 호출, 그리고 ❤

from bs4 import BeautifulSoup
import requests
import numpy as np

# 爬取网页并解析
def get_http():
    requests.packages.urllib3.disable_warnings()
    r = requests.get("https://www.baidu.com/",verify=False)
    r.encoding ='utf-8'
    bsObj = BeautifulSoup(r.text,"html.parser")
    for node in bsObj.findAll("a"):
        print("---**--- ", node.text)

# 使用numpy
def print_numpy():
    y = np.zeros((5,), dtype = np.int)
    print(y)

def Love():
    print('\n'.join([''.join([(''[(x-y) % len('wwb_nb')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0else' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))

그런 다음 MainActivity에 호출 메서드를 추가합니다.

void callPythonCodeFromLib(){
    
    
        Python py = Python.getInstance();
        py.getModule("callPyLib").callAttr("get_http");
        py.getModule("callPyLib").callAttr("print_numpy");
        py.getModule("callPyLib").callAttr("Love");
    }

onCreate에서 메소드를 호출합니다.
여기에 사진 설명 삽입
웹 페이지를 크롤링하려면 네트워크 권한도 필요합니다. AndroidManifest.xml에 네트워크 권한을 추가하세요.

<uses-permission android:name="android.permission.INTERNET"/>

휴대폰에 연결 후 실행하면 logcat에서 출력 결과를 볼 수 있습니다.
(안드로이드 스튜디오 에뮬레이터가 인터넷에 연결되어 있다면 에뮬레이터를 설정해야합니다. 바이두로 이동하세요.)

어레이를 인쇄합니다.
여기에 사진 설명 삽입

웹 사이트 크롤링 인쇄 :
여기에 사진 설명 삽입

인쇄 ❤ Hahahaha
여기에 사진 설명 삽입
전체 프로젝트 : https://download.csdn.net/download/wwb1990/12120537

위 ~

추천

출처blog.csdn.net/wwb1990/article/details/104053465