protected override async void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.SearchLayout); List <MovieDetails> moviedetails = new List <MovieDetails>(); font = Typeface.CreateFromAsset(Assets, "Womby.ttf"); lv = FindViewById(Resource.Id.lv) as ListView; string searchresults = Intent.GetStringExtra("searchResult"); ActionBar.Title = "Search result for: " + searchresults; Dictionary <int, string> currentID = GetSearchResultID(searchresults); foreach (var item in currentID) { if (item.Value == "tv") { MovieDetails current1 = await getDataFromApi.GetMovieDetails(item.Key.ToString(), "tv"); moviedetails.Add(current1); } else if (item.Value == "movie") { MovieDetails current2 = await getDataFromApi.GetMovieDetails(item.Key.ToString(), "movie"); moviedetails.Add(current2); } } lv.Adapter = new SearchlistviewAdapter(this, moviedetails, font); lv.ItemClick += (object sender, AdapterView.ItemClickEventArgs e) => { var activity2 = new Intent(this, typeof(FullMovieActivity)); activity2.PutExtra("movieID", moviedetails[e.Position].ID.ToString()); foreach (var item in currentID) { if (item.Key == moviedetails[e.Position].ID) { activity2.PutExtra("type", item.Value.ToString()); break; } } StartActivity(activity2); }; }
private async void GridView_ItemClick(object sender, AdapterView.ItemClickEventArgs e) { MovieDetails current1 = await getDataFromApi.GetMovieDetails(moviedetails[e.Position].ID.ToString(), "movie"); var activity2 = new Intent(this, typeof(FullMovieActivity)); activity2.PutExtra("movieID", moviedetails[e.Position].ID.ToString()); activity2.PutExtra("type", "movie"); StartActivity(activity2); }
protected override async void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.SearchLayout); txt = FindViewById(Resource.Id.seartchtxt) as TextView; img = FindViewById(Resource.Id.searchphoto) as ImageView; string searchresult = Intent.GetStringExtra("searchResult"); MovieDetails current = await getDataFromApi.GetSearchResult(searchresult); txt.Text = current.title; img.SetImageBitmap(current.poster); }
public static async Task <MovieDetails> GetBasicInfo(string movieID, string type) { string key = "253ceb1e198e26b094348524da5bc8ab"; string query = string.Format("https://api.themoviedb.org/3/{0}/{1}?api_key={2}", type, movieID, key); var result = downloadjson.getJson(query); MovieDetails current = null; if (type == "movie") { //create new object current = new MovieDetails(); try { current.title = result["original_title"].ToString(); } catch (Exception ex) { Console.Write(ex.ToString()); }; try { current.ID = (int)result["id"]; } catch (Exception ex) { Console.Write(ex.ToString()); } try { Java.Net.URL link2 = new Java.Net.URL("http://image.tmdb.org/t/p/w185/" + result["poster_path"].ToString()); await Task.Run(() => { current.poster = BitmapFactory.DecodeStream(link2.OpenStream()); }); } catch (Exception ex) { Console.Write(ex.ToString()); } } else if (type == "tv") { //create new object current = new MovieDetails(); try { current.title = result["name"].ToString(); } catch (Exception ex) { Console.Write(ex.ToString()); }; try { current.ID = (int)result["id"]; } catch (Exception ex) { Console.Write(ex.ToString()); } try { Java.Net.URL link2 = new Java.Net.URL("http://image.tmdb.org/t/p/w185/" + result["poster_path"].ToString()); await Task.Run(() => { current.poster = BitmapFactory.DecodeStream(link2.OpenStream()); }); } catch (Exception ex) { Console.Write(ex.ToString()); } } return(current); }
public static async Task <MovieDetails> GetMovieDetails(string movieID, string type) { string key = "253ceb1e198e26b094348524da5bc8ab"; string query = string.Format("https://api.themoviedb.org/3/{0}/{1}?api_key={2}", type, movieID, key); var result = downloadjson.getJson(query); MovieDetails current = null; if (type == "movie") { //create new object current = new MovieDetails(); try { current.title = result["original_title"].ToString(); } catch (Exception ex) { Console.Write(ex.ToString()); }; try { current.ID = (int)result["id"]; } catch (Exception ex) { Console.Write(ex.ToString()); } try { current.imdbID = result["imdb_id"].ToString(); } catch (Exception ex) { Console.Write(ex.ToString()); } try { current.budget = (string)result["budget"]; } catch (Exception ex) { Console.Write(ex.ToString()); } try { current.overview = result["overview"].ToString(); } catch (Exception ex) { Console.Write(ex.ToString()); } try { current.release_date = result["release_date"].ToString(); } catch (Exception ex) { Console.Write(ex.ToString()); } try { current.duration = (int)result["runtime"]; } catch (Exception ex) { Console.Write(ex.ToString()); } try { current.revenue = (int)result["revenue"]; } catch (Exception ex) { Console.Write(ex.ToString()); } try { Java.Net.URL link2 = new Java.Net.URL("http://image.tmdb.org/t/p/w185/" + result["poster_path"].ToString()); await Task.Run(() => { current.poster = BitmapFactory.DecodeStream(link2.OpenStream()); }); } catch (Exception ex) { Console.Write(ex.ToString()); } //**************** SKATIOMA ZANRUS *************************** JArray items = (JArray)result["genres"]; int length = items.Count; string[] ar = new string[length]; for (int i = 0; i < length; i++) { ar[i] = result["genres"][i]["name"].ToString(); } current.genres = ar; try { query = string.Format("http://api.themoviedb.org/3/movie/{0}/videos?api_key={1}", movieID, key); var objectas = downloadjson.getJson(query); current.trailer = objectas["results"][0]["key"].ToString(); } catch (Exception ex) { Console.Write(ex.ToString()); } } else if (type == "tv") { current = new MovieDetails(); try { current.title = result["name"].ToString(); } catch (Exception ex) { Console.Write(ex.ToString()); }; try { current.ID = (int)result["id"]; } catch (Exception ex) { Console.Write(ex.ToString()); } try { current.imdbID = result["imdb_id"].ToString(); } catch (Exception ex) { Console.Write(ex.ToString()); } try { current.overview = result["overview"].ToString(); } catch (Exception ex) { Console.Write(ex.ToString()); } try { current.first_air_date_date = result["first_air_date"].ToString(); } catch (Exception ex) { Console.Write(ex.ToString()); } current.duration = (int)result["episode_run_time"][0]; try { Java.Net.URL link2 = new Java.Net.URL("http://image.tmdb.org/t/p/w185/" + result["poster_path"].ToString()); await Task.Run(() => { current.poster = BitmapFactory.DecodeStream(link2.OpenStream()); }); } catch (Exception ex) { Console.Write(ex.ToString()); } //**************** SKATIOMA ZANRUS *************************** JArray items = (JArray)result["genres"]; int length = items.Count; string[] ar = new string[length]; for (int i = 0; i < length; i++) { ar[i] = result["genres"][i]["name"].ToString(); } current.genres = ar; try { query = string.Format("http://api.themoviedb.org/3/tv/{0}/videos?api_key={1}", movieID, key); var objectas = downloadjson.getJson(query); current.trailer = objectas["results"][0]["key"].ToString(); } catch (Exception ex) { Console.Write(ex.ToString()); } current.created_by_name = Lolas(result, "created_by", "name"); current.seasons = Lolas(result, "seasons", "id"); current.networks_id = Lolas(result, "networks", "name"); current.status = result["status"].ToString(); current.number_of_seasons = result["number_of_seasons"].ToString(); current.number_of_episodes = result["number_of_episodes"].ToString(); current.release_date = result["first_air_date"].ToString(); } return(current); }
protected override async void OnCreate(Bundle savedInstanceState) { ActionBar.Hide(); base.OnCreate(savedInstanceState); font = Typeface.CreateFromAsset(Assets, "Womby.ttf"); SetContentView(Resource.Layout.FullMovieLayout); title = FindViewById(Resource.Id.title) as TextView; overview = FindViewById(Resource.Id.overview) as TextView; rating = FindViewById(Resource.Id.IMDBrating) as TextView; genres = FindViewById(Resource.Id.genres) as TextView; redate = FindViewById(Resource.Id.Movieredate) as TextView; poster = FindViewById(Resource.Id.poster) as ImageView; backdrop = FindViewById(Resource.Id.backdrop) as ImageView; playtrailer = FindViewById(Resource.Id.playtrailer) as Button; CastView = FindViewById(Resource.Id.lv2) as GridView; SeasonView = FindViewById(Resource.Id.lv3) as GridView; duration = FindViewById(Resource.Id.Movieduration) as TextView; budget = FindViewById(Resource.Id.Moviebudget) as TextView; rating.SetTypeface(font, TypefaceStyle.Normal); seasons = FindViewById(Resource.Id.seasons) as FrameLayout; string movieID = Intent.GetStringExtra("movieID"); string type = Intent.GetStringExtra("type"); MovieDetails current = await getDataFromApi.GetMovieDetails(movieID, type); List <Bitmap> img = await getDataFromApi.GetBackdrop(current.ID.ToString(), type); if (type == "movie") { seasons.Visibility = ViewStates.Gone; try { title.Text = current.title; duration.Text = current.duration.ToString() + " min."; redate.Text = current.release_date; budget.Text = "$ " + current.budget; poster.SetImageBitmap(img[1]); if (current.genres != null) { for (int i = 0; i < current.genres.Count(); i++) { if (i == current.genres.Count() - 1) { genres.Text += current.genres[i]; break; } genres.Text += current.genres[i] + " | "; } } backdrop.SetImageBitmap(img[0]); overview.Text = current.overview; IMDb imdb = new IMDb(current.title, true); rating.Text = imdb.Rating; for (int i = 0; i < 10; i++) { try { CastDetails currentPerson = await getDataFromApi.GetCast(current.ID.ToString(), i, type); CastList.Add(currentPerson); } catch (Exception ex) { } } CastView.Adapter = new CastAdapter(this, CastList, font); CastView.ItemClick += (object sender, AdapterView.ItemClickEventArgs e) => { Toast.MakeText(this, CastList[e.Position].Name, ToastLength.Short).Show(); }; } catch (Exception ex) { Console.Write(ex.ToString()); } } else if (type == "tv") { seasons.Visibility = ViewStates.Visible; title.Text = current.title; //Setup directors budget.Text = "Directed by: "; if (current.created_by_name != null) { for (int i = 0; i < current.created_by_name.Length; i++) { if (i == current.created_by_name.Length - 1) { budget.Text += current.created_by_name[i]; break; } budget.Text += current.created_by_name[i] + " and "; } } //******************* duration.Text = current.status; redate.Text = current.first_air_date_date; poster.SetImageBitmap(img[1]); if (current.genres != null) { for (int i = 0; i < current.genres.Count(); i++) { if (i == current.genres.Count() - 1) { genres.Text += current.genres[i]; break; } genres.Text += current.genres[i] + " | "; } } backdrop.SetImageBitmap(img[0]); overview.Text = current.overview; IMDb imdb = new IMDb(current.title, true); rating.Text = imdb.Rating; //SETTING UP SEASONS**************************************************** for (int i = 0; i < current.seasons.Length; i++) { try { CastDetails currentPerson = await getDataFromApi.GetSeasons(current.ID.ToString(), i.ToString()); SeasonsList.Add(currentPerson); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } SeasonView.Adapter = new CastAdapter(this, SeasonsList, font); SeasonView.ItemClick += (object sender, AdapterView.ItemClickEventArgs e) => { Toast.MakeText(this, SeasonsList[e.Position].Name, ToastLength.Short).Show(); }; //********************************************************************* //**SETING UP CAST***************************************************** for (int i = 0; i < 10; i++) { try { CastDetails currentPerson = await getDataFromApi.GetCast(current.ID.ToString(), i, type); CastList.Add(currentPerson); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } CastView.Adapter = new CastAdapter(this, CastList, font); CastView.ItemClick += (object sender, AdapterView.ItemClickEventArgs e) => { Toast.MakeText(this, CastList[e.Position].Name, ToastLength.Short).Show(); }; } playtrailer.Click += delegate { var webView = FindViewById(Resource.Id.videoView) as WebView; webView.Visibility = ViewStates.Gone; WebSettings settings = webView.Settings; settings.JavaScriptEnabled = true; webView.SetWebChromeClient(new WebChromeClient()); webView.LoadUrl("http://www.youtube.com/embed/" + current.trailer); }; }
// To animate view slide out from right to left protected override async void OnCreate(Bundle bundle) { font = Typeface.CreateFromAsset(Assets, "Womby.ttf"); base.OnCreate(bundle); SetContentView(Resource.Layout.Main); ActionBar.Hide(); string[] movies = await getDataFromApi.GetPopular("movie", "popularity.desc", 20); appname = FindViewById(Resource.Id.appname) as TextView; tvlbl = FindViewById(Resource.Id.tv) as TextView; movieslbl = FindViewById(Resource.Id.movies) as TextView; searchimg = FindViewById(Resource.Id.search) as ImageView; searchmovie = FindViewById(Resource.Id.searchbaredit) as EditText; placeformovies = FindViewById(Resource.Id.placeformovies) as GridView; moviebar = FindViewById(Resource.Id.moviebar) as RelativeLayout; searchbar = FindViewById(Resource.Id.searchbar) as RelativeLayout; placefortv = FindViewById(Resource.Id.placefortv) as GridView; placefortv.ItemClick += Placefortv_ItemClick1; placeformovies.ItemClick += GridView_ItemClick; placefortv.Visibility = ViewStates.Gone; searchbar.Visibility = Android.Views.ViewStates.Gone; searchmovie.EditorAction += Searchmovie_EditorAction; searchimg.Click += delegate { searchbar.Visibility = Android.Views.ViewStates.Visible; moviebar.Visibility = Android.Views.ViewStates.Gone; }; tvlbl.Click += async delegate { placeformovies.Visibility = ViewStates.Gone; placefortv.Visibility = ViewStates.Visible; moviedetails.Clear(); movies = await getDataFromApi.GetPopular("tv", "popularity.desc", 10); for (int i = 0; i < movies.Length; i++) { current = await getDataFromApi.GetBasicInfo(movies[i], "tv"); moviedetails.Add(current); } placefortv.Adapter = new movieAdapter(this, moviedetails, font); }; movieslbl.Click += async delegate { placeformovies.Visibility = ViewStates.Visible; placefortv.Visibility = ViewStates.Gone; moviedetails.Clear(); movies = await getDataFromApi.GetPopular("movie", "popularity.desc", 10); for (int i = 0; i < movies.Length; i++) { current = await getDataFromApi.GetBasicInfo(movies[i], "movie"); moviedetails.Add(current); } placeformovies.Adapter = new movieAdapter(this, moviedetails, font); }; //Nuskaitomi visi filmai ir paduodami i gridVIEW for (int i = 0; i < movies.Length; i++) { current = await getDataFromApi.GetBasicInfo(movies[i], "movie"); moviedetails.Add(current); } placeformovies.Adapter = new movieAdapter(this, moviedetails, font); // placeformovies.ItemClick += GridView_ItemClick; //******* appname.SetTypeface(font, TypefaceStyle.Normal); movieslbl.SetTypeface(font, TypefaceStyle.Normal); tvlbl.SetTypeface(font, TypefaceStyle.Normal); searchmovie.SetTypeface(font, TypefaceStyle.Normal); }