Mình làm 1 ứng dụng nhỏ là load các video của 1 playlist và title của video lên 1 listview trong android. Để khi click vào mỗi items đó thì video sẽ bung ra.
Mình muốn lấy các thuộc tính của chuỗi json như link: https://www.googleapis.com/youtube/v...ioRyvr8koUY6rk
Mình muốn lấy ra các thuộc tính:
Code:
"items":[
{
snippet
{
title,
thumbnails -> default {url, width, height},
resourceId
{
videoId": "yjmp8CoZBIo,
}
}
Đó là các thuộc tính mình muốn lấy trong mỗi item snippet.
Đoạn code để parse của mình như sau:
MainJava. Mình làm chưa ra do mình không biết parse json ở hàm này. Mọi người giúp mình review cái hàm này với ạ.
Code:
protected Void doInBackground(Void... params)
{
URL jsonURL;
URLConnection jc;
try
{
jsonURL = new URL("https://www.googleapis.com/youtube/v3/playlistItems…" + "UUbW18JZRgko_mOGm5er8Yzg" + "&key=AIzaSyC2fE273wmaEev3NrclEioRyvr8koUY6rk");
Log.d("aip", ""+jsonURL+"");
jc = jsonURL.openConnection();
InputStream is = jc.getInputStream();
//doc du lieu
BufferedReader reader= new BufferedReader(new InputStreamReader(is,"UTF-8"),8);//iso-8859-1
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
Log.d("jsonTxt length: ", jsonTxt.length() + " dòng.");
Log.d("jsonTxt",""+jsonTxt+"");
JSONObject jj = new JSONObject(jsonTxt);
Log.d("jj",""+jj+"");
JSONObject jdata = jj.getJSONObject("items");
Log.d("jdata",""+jdata+"");
JSONArray aitems = jdata.getJSONArray("snippet");
Log.d("aitems",""+aitems+"");
for (int i=0;i<aitems.length();i++)
{
JSONObject item = aitems.getJSONObject(i);
String title = item.getString("title");
Log.d("item",""+item+"");
Log.d("title",title);
JSONObject video = item.getJSONObject("resourceId");
String link = video.getString("videoId");
JSONObject thumbnail = item.getJSONObject("thumbnails");
String thumbnailUrl = thumbnail.getString("default");
Log.d("url", thumbnailUrl);
Log.d("link", link);
Log.d("title", title);
HashMap<String,String> hashmap=new HashMap<String,String>();
hashmap.put("title",title);
hashmap.put("thumbnailUrl", thumbnailUrl);
//hashmap.put("length",length);
hashmap.put("link",link);
menuitems.add(hashmap);
//lay hinh bo vao mang hinh truoc, khong doi den getView duoc
URL url = new URL(thumbnailUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
InputStream ishinh = connection.getInputStream();
Bitmap img = BitmapFactory.decodeStream(ishinh);
manghinh.add(img);
Log.d("dulieu", title);
Log.d("duongdan",link);
Log.d("hinh",thumbnailUrl);
}
}
catch (Exception e)
{
e.printStackTrace();
Log.d("loi", e.toString());
}
return null;
}
Giúp mình với ạ!!!!!!!!
Bookmarks