티스토리 뷰

String id1 = videoInfoArrayList.get(position).url.substring(videoInfoArrayList.get(position).url.lastIndexOf("=")+1); //맨마지막 '/'뒤에 id가있으므로 그것만 파싱해줌
String id2 =videoInfoArrayList.get(position).url.substring(videoInfoArrayList.get(position).url.lastIndexOf("/")+1); //맨마지막 '/'뒤에 id가있으므로 그것만 파싱해줌
String id =id1;

if(id2.length()<id1.length())
id=id2;

Log.d("파싱한 아이디id 값", id);
String url1 ="https://img.youtube.com/vi/"+ id+ "/" + "default.jpg"; //유튜브 썸네일 불러오는 방법
Glide.with(v).load(url1).into(myViewHolder.video_img);

 

 

원리는 아래와 같다.

 

https://img.youtube.com/vi/영상id/default.jpg

 

이 주소로 들어가면

 

그 영상의 가장 기본 해상도의 섬네일을 불러올 수 있다.

 

하지만 문제가 한개 있는데

 

영상 id를 어떻게 가져 올 것인가 이다

 

그 문제는 https://www.youtube.com/watch?v=D0cCA-RwvUk

 

유튜브는 일반적으로 이런식으로 주소가 지정되어있다 (이것은 주소창에 있는 주소 )

 

여기 있는 주소중 =다음부터가 id값이다

 

하지만 이렇게 가져오지 않고 영상에 우클릭을 하면 url복사가 있다. 이런식으로 가져오게 되면 주소가 조금 바뀌는데

https://youtu.be/D0cCA-RwvUk

이렇게 = 값이 없어진다.

 

즉 / 이후로의 값만 가져와야 하는것이다.

 

 

그래서 나는 필요한 곳에서 /또는 = 이후부터 가져오도록 코딩하였고,

 

일반적으로 =다음부터와  / 다음부터 두가지를 비교하면

 

= 이 붙은곳은 /다음부터보다 =다음부터가 더 짧다

 

이 원리를 이용하여

 

String id =id1;

if(id2.length()<id1.length())
id=id2;

 

이렇게 id 값을 조정해 줌으로써 유튜브를 어떤 형태로 링크를 삽입하던 섬네일을 가져올 수 있게 설계하였다.

 

String id1 = "URL 주소".lastIndexOf("=")+1); //맨마지막 '/'뒤에 id가있으므로 그것만 파싱해줌
String id2 ="URL 주소".lastIndexOf("/")+1); //맨마지막 '/'뒤에 id가있으므로 그것만 파싱해줌
String id =id1;

if(id2.length()<id1.length())
id=id2;

Log.d("파싱한 아이디id 값", id);
String url1 ="https://img.youtube.com/vi/"+ id+ "/" + "default.jpg"; //유튜브 썸네일 불러오는 방법


Glide.with(v).load(url1).into(myViewHolder.video_img);

 

이렇게 하면 원하는 값을 입력받아 이미지를 세팅할 수 있게된다.

 

참고로 이미지 세팅은

 

Glide을 사용하였다. 이는 url 주소로 인터넷에 올라와 있는 이미지를 불러오는 역할을 한다.

 

 

댓글
최근에 올라온 글
최근에 달린 댓글
250x250