Я разрабатываю приложение для отображения списка видео из плейлиста YouTube, и в моем приложении есть кнопка «Поделиться» в просмотре карты. Когда эта кнопка нажата, видео загружается в телефон, а фактическое видео кому-то передается. .
Я пытался использовать YoutbeExtractor в адаптере RecyclerView, но не получил
как использовать эту библиотеку и где использовать это в моей программе.
public class MainActivity extends AppCompatActivity {
private RecyclerView mRecyclerView;
private VideoAdapter mVideoAdapter;
private RequestQueue mRequestQueue;
private ArrayList<Videos> mVideoList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Error here
mRecyclerView = findViewById(R.id.recycler_view);
mRecyclerView.setLayoutManager (new LinearLayoutManager(this));
mVideoList = new ArrayList<>();
mRequestQueue = Volley.newRequestQueue(this);
parseJson();
}
private void parseJson() {
String url = "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=PLrnPJCHvNZuBCiCxN8JPFI57Zhr5SusRL&key=AIzaSyCEynSidiZ7QOucFLLWiq--IMDRTmMOzL0";
final JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArray = response.getJSONArray("items");
for(int i = 0; i<jsonArray.length(); i++){
JSONObject items = jsonArray.getJSONObject(i);
JSONObject snip = items.getJSONObject("snippet");
JSONObject ThumbNail = snip.getJSONObject("thumbnails");
JSONObject def = ThumbNail.getJSONObject("medium");
JSONObject resId = snip.getJSONObject("resourceId");
String title = snip.getString("title");
String thumbnailUrl = def.getString("url");
String VideoId = resId.getString("videoId");
String YoutubeUrl = "youtube.com/watch?v=" + VideoId;
mVideoList.add(new Videos(thumbnailUrl,title,VideoId));
}
mVideoAdapter = new VideoAdapter(MainActivity.this,mVideoList);
mRecyclerView.setAdapter(mVideoAdapter);
} catch (JSONException e) {
e.printStackTrace();
}
Log.d("RES", String.valueOf(response));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
mRequestQueue.add(request);
}
}