Exemplo n.º 1
0
        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);
            };
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
            };
        }
Exemplo n.º 7
0
        // 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);
        }