티스토리 뷰
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복사가 있다. 이런식으로 가져오게 되면 주소가 조금 바뀌는데
이렇게 = 값이 없어진다.
즉 / 이후로의 값만 가져와야 하는것이다.
그래서 나는 필요한 곳에서 /또는 = 이후부터 가져오도록 코딩하였고,
일반적으로 =다음부터와 / 다음부터 두가지를 비교하면
= 이 붙은곳은 /다음부터보다 =다음부터가 더 짧다
이 원리를 이용하여
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 주소로 인터넷에 올라와 있는 이미지를 불러오는 역할을 한다.