인프런 - 강의/2 - 누구나 할 수 있는 안드로이드 앱 개발 (Kotlin)

1-4 자취생으로 살아남기 앱 제작 - picasso, intent data

개복치 개발자 2019. 8. 18. 16:47

이번에는 url에 있는 이미지 주소를 가져와서 imageview에 넣어주는 작업을 한번 해보겠습니다.

 

일단 1분이라는 사이트에 있는, 자취생으로 살아남기 페이지의 게시글을 가져옵니다.

 

아래의 주소입니다.

 

https://1boon.kakao.com/onehomelife

 

자취생으로 살아남기 페이지

공유하는 즐거움 1boon

1boon.kakao.com

여기에서 게시물을 하나 클릭해서 아래 링크로 들어가줍니다.

 

https://1boon.kakao.com/onehomelife/5d566eb03fc431353649033a

 

일주일 내내 라면먹기 가능한 초간단 라면레시피!

이대로 일주일 라면 레시피 간다...

1boon.kakao.com

여기에서 이미지 링크를 복사합니다.

 

이 이미지 주소를, 가져와서 imageView에 넣어줘야 하는데

 

일단 이미지 주소가 아래와 같이 나옵니다.

 

https://img1.daumcdn.net/thumb/R720x0/?fname=https://t1.daumcdn.net/liveboard/onehomelife/d85051b1db434e21b7ae28614deef43a.png

불러오는 중입니다...

 

자, 이제 저는 당연히, 아래와 같이 검색을 했습니다.

 

 

저는 구글링을 하다가 Picasso라는 라이브러리를 발견해서 한번 사용해보겠습니다.

 

일단 dependencies에 추가해주고

 

한번 잘 되나 사용해보도록, Imageivew를 임시로 만들어봤습니다.

 

그리고 MainActivity에서 아래 코드를 넣어줍니다.

 

Picasso.get().load("https://img1.daumcdn.net/thumb/R720x0/?fname=https://t1.daumcdn.net/liveboard/onehomelife/d85051b1db434e21b7ae28614deef43a.png").into(imageview_test)

 

 

Picasso.get().load("이미지 url").into("Imageview id")

 

이런 형태로 넣으면 됩니다.

 

그렇다면 아래와 같이 잘 나오는 것을 확인할 수 있습니다.

 

 

자, 다시 임시로 만든 것들을 지워주고, 계속 해보겠습니다.

 

저기 List들은 Recyclerview 에서 그려주는 것인데

 

각각의 item들은 Adapter에서 값을 설정해줍니다.

 

일단 Model에 값을 넣어서, Adapter로 넘겨주고 

 

때문에. Adapter에서 값을 세팅해줍니다.

 

ArrayList에 이미지 url과 제목을 넣어줍니다.

 

var modelList = arrayListOf<Model>(

Model("일주일 내내 라면먹기 가능한 초간단 라면레시피!", "https://img1.daumcdn.net/thumb/R720x0/?fname=https://t1.daumcdn.net/liveboard/onehomelife/d85051b1db434e21b7ae28614deef43a.png"),
Model("28가지 요리가 가능한 황금비율 양념장 모음!\n", "https://img1.daumcdn.net/thumb/S560x400/?scode=1boon&fname=https://t1.daumcdn.net/liveboard/onehomelife/e0bdec0198fa46c09ba3563f491c761e.png"),
Model("토요일 8시마다 한다는 한강다리 밑 영화제! (상영표)\n", "https://img1.daumcdn.net/thumb/S560x400/?scode=1boon&fname=https://t1.daumcdn.net/liveboard/onehomelife/b11d046262444cf2a05bfa651de83687.png")


)

 

 

그다음 Adapter 로 넘어와서 하나씩 세팅해줍니다.

 

 

Picasso.get().load(model.image).into(photo) 이미지를 뿌려주면 아래와 같이 나옵니다.

 

 

 

여기까지 했으면, item들을 클릭했을 때, Webview로 넘기는 것을 만들어봐야 하는데

 

일단 model을 조금 수정해줍니다.

 

url을 넣을 수 있는 변수를 하나 만들고

 

Model 에 url을 추가해줍니다.

 

그런 다음, Intent를 이용해 WebViewActivity로 넘겨주는데, url라는 값에 modelList에 있는 url를 하나씩 넣어서 넘겨줍니다.

 

그다음은 WebViewActivity에서 데이터를 받아서 loadUrl로 가져와줍니다.

 

여기까지 하면 이제 잘 동작하는 것을 확인할 수 있습니다.

 

다음시간에는 약간 꾸미는 것들을 해보겠습니다.

 

 

WEBVIEW가 안 띄워지는 url 도 있는데, 아래와 같이 사용하시면 가능합니다.