Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- adapter
- package com.skmobile.cataloguemovieuiux;
- import android.content.Context;
- import android.icu.text.DateFormat;
- import android.icu.text.SimpleDateFormat;
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ImageView;
- import android.widget.RelativeLayout;
- import android.widget.TextView;
- import com.bumptech.glide.Glide;
- import java.text.ParseException;
- import java.util.ArrayList;
- import java.util.Date;
- import butterknife.BindView;
- import butterknife.ButterKnife;
- /**
- * Created by ADMIN on 03/12/2017.
- */
- public class MovieAdapter extends RecyclerView.Adapter<MovieAdapter.ViewHolder> {
- ArrayList<MovieItems> movieItemses;
- Context context;
- public MovieAdapter(Context context) {
- this.context = context;
- }
- private ArrayList<MovieItems> getMovieItemses() {
- return movieItemses;
- }
- void setMovieItemses(ArrayList<MovieItems> movieItemses) {
- this.movieItemses = movieItemses;
- }
- public void setData(ArrayList<MovieItems> items) {
- movieItemses = items;
- notifyDataSetChanged();
- }
- public void addItem(final MovieItems item){
- movieItemses.add(item);
- notifyDataSetChanged();
- }
- public void clearData(){
- movieItemses.clear();
- }
- @Override
- public int getItemViewType(int position) {
- return 1;
- }
- @Override
- public long getItemId(int position) {
- return position;
- }
- @Override
- public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_list, parent, false);
- return new ViewHolder(view);
- }
- @Override
- public void onBindViewHolder(ViewHolder holder, int position) {
- MovieItems mv = getMovieItemses().get(position);
- Glide.with(context).load
- ("http://image.tmdb.org/t/p/w185"+mv
- .getImage())
- .into(holder.ViewImage);
- holder.textViewTitle.setText(mv.getTitle());
- holder.textViewDescription.setText(mv.getDiscripsi());
- holder.textViewDate.setText(mv.getDate());
- DateFormat inputFormat = new SimpleDateFormat("yyyy-M-dd");
- DateFormat outputFormat = new SimpleDateFormat("EEEE, MMM dd, yyyy");
- Date date = null;
- try {
- date = inputFormat.parse(mv.getDate());
- holder.textViewDate.setText(outputFormat.format(date));
- } catch (ParseException e) {
- holder.textViewDate.setText(mv.getDate());
- }
- }
- @Override
- public int getItemCount() {
- return getMovieItemses().size();
- }
- class ViewHolder extends RecyclerView.ViewHolder {
- @BindView(R.id.tv_title)
- TextView textViewTitle;
- @BindView(R.id.img_item_photo)
- ImageView ViewImage;
- @BindView(R.id.tv_description)
- TextView textViewDescription;
- @BindView(R.id.tv_date)
- TextView textViewDate;
- @BindView(R.id.nowplaying)
- RelativeLayout relativeLayout;
- ViewHolder(View view){
- super(view);
- ButterKnife.bind(this, view);
- }
- }
- }
- ==============================================
- items
- package com.skmobile.cataloguemovieuiux;
- import android.os.Build;
- import android.support.annotation.RequiresApi;
- import org.json.JSONException;
- import org.json.JSONObject;
- /**
- * Created by ADMIN on 03/12/2017.
- */
- public class MovieItems {
- private String title;
- private String image;
- private String discripsi;
- private String date;
- private String backdor;
- @RequiresApi(api = Build.VERSION_CODES.N)
- public MovieItems(JSONObject object) {
- try {
- String title = object.getString("original_title");
- String image = object.getString("poster_path");
- String description = object.getString("overview");
- String date = object.getString("release_date");
- String backdor = object.getString("backdrop_path");
- this.title = title;
- this.backdor = backdor;
- this.discripsi = description;
- this.image = image;
- this.date = date;
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- public String getTitle() {
- return title;
- }
- public void setTitle(String title) {
- this.title = title;
- }
- public String getImage() {
- return image;
- }
- public void setImage(String image) {
- this.image = image;
- }
- public String getDiscripsi() {
- return discripsi;
- }
- public void setDiscripsi(String discripsi) {
- this.discripsi = discripsi;
- }
- public String getDate() {
- return date;
- }
- public void setDate(String date) {
- this.date = date;
- }
- public String getBackdor() {
- return backdor;
- }
- public void setBackdor(String backdor) {
- this.backdor = backdor;
- }
- }
- ===========================================
- taskloder
- package com.skmobile.cataloguemovieuiux;
- import android.support.v4.content.AsyncTaskLoader;
- import android.content.Context;
- import android.os.Build;
- import android.support.annotation.RequiresApi;
- import com.loopj.android.http.AsyncHttpResponseHandler;
- import com.loopj.android.http.SyncHttpClient;
- import org.json.JSONArray;
- import org.json.JSONObject;
- import java.util.ArrayList;
- import cz.msebera.android.httpclient.Header;
- import static com.skmobile.cataloguemovieuiux.BuildConfig.NOW_PLAYING_URL;
- import static com.skmobile.cataloguemovieuiux.BuildConfig.PHOTO_PROFILE_URL;
- import static com.skmobile.cataloguemovieuiux.BuildConfig.UPCOMING_URL;
- import static com.skmobile.cataloguemovieuiux.BuildConfig.PEOPLE_URL;
- import static com.skmobile.cataloguemovieuiux.BuildConfig.TVMOVIE_URL;
- import static com.skmobile.cataloguemovieuiux.BuildConfig.TOPRATE_URL;
- import static com.skmobile.cataloguemovieuiux.BuildConfig.SEARCH_URL;
- /**
- * Created by ADMIN on 03/12/2017.
- */
- public class MyTaskMovie extends AsyncTaskLoader<ArrayList<MovieItems>> {
- private ArrayList<MovieItems> mMovieData;
- private boolean mResult;
- private String category;
- private String keyword;
- public MyTaskMovie(final Context context, String category, String keyword) {
- super(context);
- this.category = category;
- this.keyword = keyword;
- onContentChanged();
- }
- @Override
- protected void onStartLoading() {
- if (takeContentChanged())
- forceLoad();
- else if (mResult)
- deliverResult(mMovieData);
- }
- @Override
- public void deliverResult(final ArrayList<MovieItems> data) {
- mMovieData = data;
- mResult = true;
- super.deliverResult(data);
- }
- @Override
- protected void onReset() {
- super.onReset();
- onStopLoading();
- if (mResult) {
- onReleaseResources(mMovieData);
- mMovieData = null;
- mResult = false;
- }
- }
- @Override
- public ArrayList<MovieItems> loadInBackground() {
- SyncHttpClient client = new SyncHttpClient();
- final ArrayList<MovieItems> movieItemses = new ArrayList<>();
- String url = null;
- switch (category){
- case "now_playing":
- url = NOW_PLAYING_URL;
- break;
- case "upcoming":
- url = UPCOMING_URL;
- break;
- case "search":
- url = SEARCH_URL+"&language=en-US&query="+keyword;
- break;
- case "toprate":
- url = TOPRATE_URL;
- break;
- case "people":
- url = PEOPLE_URL;
- break;
- case "tvmovie":
- url = TVMOVIE_URL;
- break;
- }
- client.get(url, new AsyncHttpResponseHandler() {
- @Override
- public void onStart() {
- super.onStart();
- setUseSynchronousMode(true);
- }
- @RequiresApi(api = Build.VERSION_CODES.N)
- @Override
- public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
- try {
- String result = new String(responseBody);
- JSONObject responeseObject = new JSONObject(result);
- JSONArray list = responeseObject.getJSONArray("results");
- for (int i = 0; i < list.length(); i++) {
- JSONObject movie = list.getJSONObject(i);
- MovieItems movieItems = new MovieItems(movie);
- movieItemses.add(movieItems);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- @Override
- public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
- }
- });
- return movieItemses;
- }
- protected void onReleaseResources(ArrayList<MovieItems> data) {
- }
- }
- =====================================
- nowplaying
- package com.skmobile.cataloguemovieuiux;
- import android.os.Build;
- import android.support.annotation.RequiresApi;
- import android.support.v4.app.LoaderManager;
- import android.support.v4.content.Loader;
- import android.os.Bundle;
- import android.support.v4.app.Fragment;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import java.util.ArrayList;
- import butterknife.BindView;
- /**
- * A simple {@link Fragment} subclass.
- */
- public class NowPlaying extends Fragment implements LoaderManager.LoaderCallbacks<ArrayList<MovieItems>>{
- RecyclerView recyclerView;
- ArrayList<MovieItems> list = new ArrayList<>();
- MovieAdapter adapter;
- public NowPlaying() {
- // Required empty public constructor
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- View view = inflater.inflate(R.layout.content, container, false);
- recyclerView = (RecyclerView)view.findViewById(R.id.rv_category);
- recyclerView.setHasFixedSize(true);
- adapter = new MovieAdapter(getActivity());
- adapter.notifyDataSetChanged();
- recyclerView.setAdapter(adapter);
- showRecyclerCardView();
- return view;
- }
- @Override
- public void onActivityCreated(Bundle savedInstanceState){
- super.onActivityCreated(savedInstanceState);
- Bundle bundle = new Bundle();
- getLoaderManager().initLoader(0, bundle, this);
- }
- @RequiresApi(api = Build.VERSION_CODES.KITKAT)
- @Override
- public Loader<ArrayList<MovieItems>> onCreateLoader(int id, Bundle args) {
- return new MyTaskMovie(getActivity(), "now_playing", null);
- }
- @Override
- public void onLoadFinished(Loader<ArrayList<MovieItems>> loader, ArrayList<MovieItems> data) {
- adapter.setData(data);
- list = data;
- }
- @Override
- public void onLoaderReset(Loader<ArrayList<MovieItems>> loader) {
- adapter.setData(null);
- }
- private void showRecyclerCardView(){
- recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
- MovieAdapter Adapter = new MovieAdapter(getActivity());
- Adapter.setMovieItemses(list);
- recyclerView.setAdapter(Adapter);
- }
- }
- ================================================
- ipcoming
- package com.skmobile.cataloguemovieuiux;
- import android.os.Build;
- import android.os.Bundle;
- import android.support.annotation.RequiresApi;
- import android.support.v4.app.Fragment;
- import android.support.v4.app.LoaderManager;
- import android.support.v4.content.Loader;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import java.util.ArrayList;
- import butterknife.BindView;
- /**
- * A simple {@link Fragment} subclass.
- */
- public class UpComing extends Fragment implements LoaderManager.LoaderCallbacks<ArrayList<MovieItems>>{
- RecyclerView recyclerView;
- ArrayList<MovieItems> list = new ArrayList<>();
- MovieAdapter adapter;
- public UpComing() {
- // Required empty public constructor
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- View view = inflater.inflate(R.layout.content, container, false);
- recyclerView = (RecyclerView)view.findViewById(R.id.rv_category);
- recyclerView.setHasFixedSize(true);
- adapter = new MovieAdapter(getActivity());
- adapter.notifyDataSetChanged();
- recyclerView.setAdapter(adapter);
- showRecyclerCardView();
- return view;
- }
- @Override
- public void onActivityCreated(Bundle savedInstanceState){
- super.onActivityCreated(savedInstanceState);
- Bundle bundle = new Bundle();
- getLoaderManager().initLoader(0, bundle, this);
- }
- @RequiresApi(api = Build.VERSION_CODES.KITKAT)
- @Override
- public Loader<ArrayList<MovieItems>> onCreateLoader(int id, Bundle args) {
- return new MyTaskMovie(getActivity(), "upcoming", null);
- }
- @Override
- public void onLoadFinished(Loader<ArrayList<MovieItems>> loader, ArrayList<MovieItems> data) {
- adapter.setData(data);
- list = data;
- }
- @Override
- public void onLoaderReset(Loader<ArrayList<MovieItems>> loader) {
- adapter.setData(null);
- }
- private void showRecyclerCardView(){
- recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
- MovieAdapter Adapter = new MovieAdapter(getActivity());
- Adapter.setMovieItemses(list);
- recyclerView.setAdapter(Adapter);
- }
- }
- =======================================================
- package com.skmobile.cataloguemovieuiux;
- import android.support.v4.app.Fragment;
- import android.support.v4.app.FragmentManager;
- import android.support.v4.app.FragmentPagerAdapter;
- /**
- * Created by ADMIN on 02/12/2017.
- */
- public class ViewPagerAdapter extends FragmentPagerAdapter {
- public ViewPagerAdapter(FragmentManager fragmentManager) {
- super(fragmentManager);
- }
- @Override
- public Fragment getItem(int position) {
- Fragment fragment = null;
- if (position == 0)
- {
- fragment = new NowPlaying();
- }
- else if (position == 1)
- {
- fragment = new UpComing();
- }
- return fragment;
- }
- @Override
- public int getCount() {
- return 2;
- }
- @Override
- public CharSequence getPageTitle(int position) {
- String title = null;
- if (position == 0)
- {
- title = "Now Playing";
- }
- else if (position == 1)
- {
- title = "UpComing";
- }
- return title;
- }
- }
- viewpager
Add Comment
Please, Sign In to add comment