Advertisement
javajavajava

Untitled

Dec 19th, 2013
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.17 KB | None | 0 0
  1.  
  2. * The Activity can retrieve Videos for a specific username from YouTube</br> It
  3. * then displays them into a list including the Thumbnail preview and the
  4. * title</br> There is a reference to each video on YouTube as well but this
  5. * isn't used in this tutorial</br> </br> <b>Note<b/> orientation change isn't
  6. * covered in this tutorial, you will want to override onSaveInstanceState() and
  7. * onRestoreInstanceState() when you come to this </br>
  8. *
  9. */
  10. public class Home extends YouTubeBaseActivity implements
  11.  
  12. VideoClickListener {
  13. // A reference to our list that will hold the video details
  14. private VideosListView listView;
  15. private ActionBarDrawerToggle actionBarDrawerToggle;
  16. public static final String API_KEY = "AIzaSyC0Te2pyooXzuyLaE6_SsFlITKCwjj55fI";
  17. public static final String VIDEO_ID = "o7VVHhK9zf0";
  18. private int mCurrentTabPosition = NO_CURRENT_POSITION;
  19. private static final int NO_CURRENT_POSITION = -1;
  20. private DrawerLayout drawerLayout;
  21. private ListView drawerListView;
  22. private String[] drawerListViewItems;
  23.  
  24. ScrollView mainScrollView;
  25. Button fav_up_btn1;
  26. Button fav_dwn_btn1;
  27. String TAG = "DEBUG THIS";
  28. String playlist = "eminemvevo";
  29. Activity activity;
  30. int imageArray[];
  31. String[] stringArray;
  32. String runPrevious = "No";
  33. private OnPageChangeListener mPageChangeListener;
  34. ImagePagerAdapter adapter = new ImagePagerAdapter();
  35.  
  36. @Override
  37. public void onCreate(Bundle savedInstanceState) {
  38. super.onCreate(savedInstanceState);
  39. setContentView(R.layout.home);
  40. final ActionBar actionBar = getActionBar();
  41. final ViewPager mPager = (ViewPager) findViewById(R.id.view_pager);
  42. adapter.notifyDataSetChanged();
  43. mPager.setAdapter(adapter);
  44. actionBar.setCustomView(R.layout.actionbar_custom_view_home);
  45. actionBar.setDisplayShowTitleEnabled(false);
  46. actionBar.setDisplayShowCustomEnabled(true);
  47. drawerListViewItems = getResources().getStringArray(R.array.items);
  48. drawerListView = (ListView) findViewById(R.id.left_drawer);
  49. drawerListView.setAdapter(new ArrayAdapter<String>(this,
  50. R.layout.drawer_listview_item, drawerListViewItems));
  51. mPager.setOnPageChangeListener(mPageChangeListener);
  52. drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
  53. actionBarDrawerToggle = new ActionBarDrawerToggle(this, /* host Activity */
  54. drawerLayout, /* DrawerLayout object */
  55. R.drawable.ic_drawer, /* nav drawer icon to replace 'Up' caret */
  56. R.string.drawer_open, /* "open drawer" description */
  57. R.string.drawer_close /* "close drawer" description */
  58. );
  59. drawerLayout.setDrawerListener(actionBarDrawerToggle);
  60.  
  61. getActionBar().setDisplayHomeAsUpEnabled(true);
  62. _initMenu();
  63. drawerLayout.setDrawerShadow(R.drawable.drawer_shadow,
  64. GravityCompat.START);
  65.  
  66. listView = (VideosListView) findViewById(R.id.videosListView);
  67. listView.setOnVideoClickListener(this);
  68. new GetYouTubeUserVideosTask(responseHandler, playlist).execute();
  69. mPager.setOnPageChangeListener(new OnPageChangeListener() {
  70.  
  71. @Override
  72. public void onPageSelected(int pos) {
  73. // Toast.makeText(getApplicationContext(), "onPageSelected",
  74. // Toast.LENGTH_SHORT).show();
  75.  
  76. String playlist1 = "themozartgroup";
  77. Log.d("PK","**** onPageSelected");
  78. new GetYouTubeUserVideosTask(responseHandler, playlist1).execute();
  79. //adapter.notifyDataSetChanged();
  80.  
  81. }
  82.  
  83. @Override
  84. public void onPageScrolled(int arg0, float arg1, int arg2) {
  85. Log.d("PK","onPageScrolled");
  86. // TODO Auto-generated method stub
  87. // Toast.makeText(getApplicationContext(), "onPageScrolled",
  88. // Toast.LENGTH_SHORT).show();
  89. }
  90.  
  91. @Override
  92. public void onPageScrollStateChanged(int pos) {
  93.  
  94. Log.d("PK","onPageScrollStateChanged");
  95.  
  96. // Toast.makeText(getApplicationContext(),
  97. // "onPageScrollStateChanged", Toast.LENGTH_SHORT).show();
  98. //String playlist = "TheMozARTGROUP‎";
  99. //new GetYouTubeUserVideosTask(responseHandler, playlist).execute();
  100. //adapter.notifyDataSetChanged();
  101. //
  102. }
  103. });
  104.  
  105.  
  106.  
  107. mPageChangeListener = new ViewPager.SimpleOnPageChangeListener() {
  108.  
  109. @Override
  110. public void onPageSelected(int position) {
  111. onTabChanged(mPager.getAdapter(), mCurrentTabPosition, position);
  112. position = mCurrentTabPosition;
  113. int oldPos = mPager.getCurrentItem();
  114.  
  115. Log.d("PK","Page selected");
  116.  
  117. if (position > oldPos) {
  118.  
  119. System.out.print(position);
  120. // Moving to the right
  121. String playlist = "TheMozARTGROUP‎";
  122. new GetYouTubeUserVideosTask(responseHandler, playlist)
  123. .execute();
  124.  
  125. View vg = findViewById(R.layout.home);
  126. vg.invalidate();
  127.  
  128. }
  129. if (position > oldPos) {
  130.  
  131. System.out.print(position);
  132. // Moving to the right
  133. String playlist = "TheMozARTGROUP‎";
  134. new GetYouTubeUserVideosTask(responseHandler, playlist)
  135. .execute();
  136.  
  137. View vg = findViewById(R.layout.home);
  138. vg.invalidate();
  139.  
  140.  
  141.  
  142. } else if (position < oldPos) {
  143. // Moving to the Left
  144. System.out.print(position);
  145. String playlist = "TheMozARTGROUP‎";
  146. new GetYouTubeUserVideosTask(responseHandler, playlist)
  147. .execute();
  148.  
  149. View vg = findViewById(R.layout.home);
  150. vg.invalidate();
  151.  
  152. }
  153. mPager.setOnPageChangeListener(mPageChangeListener);
  154. }
  155.  
  156. private void onTabChanged(PagerAdapter adapter,
  157. int mCurrentTabPosition, int position) {
  158.  
  159. Log.d("PK","Tab changed");
  160. // TODO Auto-generated method stub
  161.  
  162. }
  163. };}
  164.  
  165. private void _initMenu() {
  166. // TODO Auto-generated method stub
  167. class DrawerItemClickListener implements
  168. ListView.OnItemClickListener {
  169.  
  170. @Override
  171. public void onItemClick(AdapterView parent, View view,
  172. int position, long id) {
  173.  
  174. Log.d("pk","onItemClick");
  175. // Highlight the selected item, update the title, and close the
  176. // drawer
  177. // update selected item and title, then close the drawer
  178. drawerListView.setItemChecked(position, true);
  179. setTitle("......");
  180.  
  181. Toast.makeText(getApplicationContext(), "Item Clicked",
  182. Toast.LENGTH_SHORT).show();
  183. // Toast.makeText(Home.this, text, Toast.LENGTH_LONG).show();
  184. drawerLayout.closeDrawer(drawerListView);
  185.  
  186. }
  187.  
  188. }}
  189.  
  190. private class MyActivityGetYouTubeUserVideosTask extends GetYouTubeUserVideosTask {
  191. public MyActivityGetYouTubeUserVideosTask(Handler replyTo,
  192. String username) {
  193. super(replyTo, username);
  194. // TODO Auto-generated constructor stub
  195. }
  196.  
  197. @Override
  198. protected void onPostExecute(Void result) {
  199. if (result != null) {
  200. // TODO update your list data
  201. // note: assuming your data is stored in an ArrayList<MyData>,
  202. // you cannot create a new one. you must clear() the current
  203. // ArrayList and add() the result to it.
  204.  
  205. adapter.notifyDataSetChanged();
  206. }
  207.  
  208. }
  209. }
  210.  
  211.  
  212.  
  213.  
  214.  
  215. Handler responseHandler = new Handler() {
  216. @Override
  217. public void handleMessage(Message msg) {
  218. populateListWithVideos(msg);
  219. };
  220. };
  221.  
  222. private void populateListWithVideos(Message msg) {
  223. Library lib = (Library) msg.getData().get(
  224. GetYouTubeUserVideosTask.LIBRARY);
  225. listView.setVideos(lib.getVideos());
  226. //listView.getAdapter().notifyDataSetChanged();
  227. }
  228.  
  229. @Override
  230. protected void onStop() {
  231. responseHandler = null;
  232. super.onStop();
  233. }
  234.  
  235. @Override
  236. public void onVideoClicked(Video video) {
  237. Intent intent = new Intent(this, Player.class);
  238. intent.putExtra("id", video.getId());
  239. intent.putExtra("title", video.getTitle());
  240. intent.putExtra("uploader", video.getUploader());
  241. intent.putExtra("viewCount", video.getviewCount());
  242. startActivity(intent);
  243. }
  244.  
  245. @Override
  246. public void onConfigurationChanged(Configuration newConfig) {
  247. super.onConfigurationChanged(newConfig);
  248. actionBarDrawerToggle.onConfigurationChanged(newConfig);
  249. }
  250.  
  251. @Override
  252. public boolean onCreateOptionsMenu(Menu menu) {
  253. MenuInflater inflater = getMenuInflater();
  254. inflater.inflate(R.menu.main, menu);
  255. return super.onCreateOptionsMenu(menu);
  256. }
  257.  
  258. @Override
  259. public boolean onOptionsItemSelected(MenuItem item) {
  260.  
  261. if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
  262. return true;
  263. }
  264. return super.onOptionsItemSelected(item);
  265. }
  266.  
  267. private class ImagePagerAdapter extends PagerAdapter implements ViewPager.OnPageChangeListener{
  268. public ImagePagerAdapter(Activity act, int[] mImages,
  269. String[] stringArra) {
  270. imageArray = mImages;
  271. activity = act;
  272. stringArray = stringArra;
  273. }
  274.  
  275. // this is your constructor
  276. public ImagePagerAdapter() {
  277. super();
  278.  
  279.  
  280. }
  281.  
  282. private int[] mImages = new int[] { R.drawable.selstation_up_btn,
  283. R.drawable.classical_up_btn, R.drawable.country_up_btn,
  284. R.drawable.dance_up_btn, R.drawable.hiphop_up_btn,
  285. R.drawable.island_up_btn, R.drawable.latin_up_btn,
  286. R.drawable.pop_up_btn, R.drawable.samba_up_btn };
  287.  
  288. private String[] stringArray = new String[] { "vevo",
  289. "TheMozARTGROUP‎", "TimMcGrawVEVO‎", "TiestoVEVO‎",
  290. "EminemVEVO‎" };
  291.  
  292. @Override
  293. public int getCount() {
  294. return mImages.length;
  295. }
  296.  
  297. @Override
  298. public boolean isViewFromObject(View view, Object object) {
  299. return view == ((ImageView) object);
  300. }
  301.  
  302. @Override
  303. public Object instantiateItem(ViewGroup container, int position) {
  304. Context context = Home.this;
  305. ImageView imageView = new ImageView(context);
  306. imageView.setScaleType(ScaleType.FIT_XY);
  307. imageView.setImageResource(mImages[position]);
  308. ((ViewPager) container).addView(imageView, 0);
  309. return imageView;
  310. }
  311.  
  312. public void destroyItem(ViewGroup container, int position, Object object) {
  313. ((ViewPager) container).removeView((ImageView) object);
  314. }
  315.  
  316.  
  317.  
  318.  
  319.  
  320. @Override
  321. public void onPageScrollStateChanged(int arg0) {
  322. // TODO Auto-generated method stub
  323. Log.d("pk","onPageScrollStateChanged");
  324. }
  325.  
  326. @Override
  327. public void onPageScrolled(int arg0, float arg1, int arg2) {
  328. // TODO Auto-generated method stub
  329. Log.d("pk","onPageScrolled");
  330. }
  331.  
  332. @Override
  333. public void onPageSelected(int arg0) {
  334. // TODO Auto-generated method stub
  335. Log.d("pk","onPageSelected");
  336. }
  337. }
  338. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement