Header Ads

[Android] Youtube -Bài 2: Làm việc với Youtube ! Tạo PlayList cho youtube.

Làm việc với Youtube

Tạo PlayList cho youtube.

        1.       Login Youtube. Xem video và add một số video vào playlist.
        2.       Nhấn vào hình tài khoản chọn “VideoManager”

            3.       Chọn vào playlist bên góc trái, rồi chọn 1 playlist để chơi.
             4.       Khi playlist đã bắt đầu chơi ngó lên thanh địa chỉ.
Ví dụ địa chỉ như sau:
Trong đó thuộc tính list chính là địa chỉ playlist của ta tức là theo địa chỉ trên thì playlist sẽ là:
PLM5NQydODud7vIkTjPtEUa8nDZHR4rvUJ

Xem API của Youtube và test playlist vừa có

      1.       Lên google gõ vào “youtube playlist api” để tìm đến trang chỉ cách phát triển dựa vào api của google. Ta thấy trang
       2.       Đọc hướng dẫn để hiểu rõ hơn về API. Kéo xuống dưới và để ý đoạn truy xuất 1 single playlist như hình
       3.       Đây là đường dẫn sẽ trả về XML  để lấy ra playlist. Copy địa chỉ (chỉ phần http…) thôi. Và paste vào trình duyệt thay phần id playlist bằng id playlist mà ta đã có ở trên để test xem đúng chưa.
       4.       Xem theo kiểu JSON. Bằng cách bổ sung vào sao địa chỉ đối số alt=jsonc
Tham khảo thêm cách tìm video trên youtube:
https://gdata.youtube.com/feeds/api/videos?q=insert_title_here

Bài 1 Đọc thông tin của youtube playlist parser.

       1.       Tạo project mới đặt tên  vd:“youtubeplaylist1”.
       2.       Mở file “manifest.xml” và cấp thêm quyền .
     
       3.       Mở file java chính tạo ra một lớp con tên “ParseVideoYoutube”  kế thừa từ lớp AsyncTask và override lên hàm doInBackGround
    private class ParseVideoYoutube extends AsyncTask<Void, Void, Void> {

        @Override
        protected Void doInBackground(Void... params) {
            return null;
        }  
       
        4.       Trong hàm doInBackground ta khai báo 1 đối tượng URL và một đối tượng URLConnection và và bắt try catch để bẫy ngoại lệ.
            URL jsonURL;
            URLConnection jc;
            try {
               
                
            } catch (Exception e) {
                e.printStackTrace();
                Log.d("loi",  e.toString());
            }
        5.       Trong khối try ta bắt đầu viết. Khởi tạo URL chính là địa chỉ đến youtube playlist. Mở URLConnection,  tạo đối tượng InputStream để lấy dữ liệu từ URLConnection bỏ vào InputStream. Dùng BufferedReader để đọc từng dòng dữ liệu ra nối vào BufferedReader. Cuối cùng đóng kế nối và ép nó về chuỗi. Đến đây ta đã có một chuỗi JSON.
    jsonURL = new URL("http://gdata.youtube.com/feeds/api/playlists/" +
                 "PLM5NQydODud7vIkTjPtEUa8nDZHR4rvUJ" +  
        "?v=2&alt=jsonc");
     jc = jsonURL.openConnection(); 
     InputStream is = jc.getInputStream(); 
    
   //doc du lieu
     BufferedReader reader=
                 new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
   StringBuilder sb=new StringBuilder();
   String line=null;
   while((line=reader.readLine())!=null)
   {
          sb.append(line+"\n");
   }
   is.close();
   String jsonTxt=sb.toString(); //doc StringBuilder vao chuoi
      6.       Tiếp theo ta tạo ra đối tượng JSONObject, tạo tiếp JSONObject để lấy tiếp đến “data”, tạo tiếp 1 mảng đối tượng JSONArray để lấy đến mảng “items”. Mảng items này chứa các thông tin đến các file video có trong playlist. Trong for tạo ra đối tượng để lấy từng item. Từ item vừa lấy Tạo tiếp JSONObject để lấy đến đối tượng “video”. Từ đối tượng “video” ta sẽ lấy từng đối tượng con và lấy dữ liệu chuỗi của từng thằng: title, player, default (chính là link), duration, thumbnail…… Cuối cùng để thuận tiện tạo ra mảng để lưu title, thumbnailUrl, length, link. Xuất ra Logcat để xem trước.
     JSONObject jj = new JSONObject(jsonTxt); 
     JSONObject jdata = jj.getJSONObject("data"); 
     JSONArray aitems = jdata.getJSONArray("items"); 
     for (int i=0;i<aitems.length();i++)
     {
         JSONObject item = aitems.getJSONObject(i); 
         JSONObject video = item.getJSONObject("video");  
         String title = video.getString("title");
         JSONObject player = video.getJSONObject("player");
         String link = player.getString("default");
         String length = video.getString("duration");
         JSONObject thumbnail = video.getJSONObject("thumbnail"); 
         String thumbnailUrl = thumbnail.getString("hqDefault");
         String[] deets = new String[4];
         deets[0] = title;
         deets[1] = thumbnailUrl;
         deets[2] = length;
         deets[3] = link;
         Log.d("dulieu", deets[0]);
         Log.d("duongdan",link);
     }
       7.       Chạy chương trình và theo dõi Logcat để thấy kết quả.

Bài 1: Hướng Dẫn Tạo Api Key Cho Android Youtube Player

Bài 3: phát triển bài 1 lên version cao, đưa hình ảnh (thumbnailUrl), tiêu đề và chiều dài vào listView.



No comments:

Powered by Blogger.