(三)

今日热门电影实现这个功能。主要从server获取数据。然后显示在屏幕上。虽然说是从这个server获取电影信息数据,但,不实际的http相关知识,我们直接sdk包(56网络提供api),你将能够获得server返回的json格式的数据了。以后。我还会写一篇笑话client的完整样例,会讲http这块,如今就不多说了。



效果图:                     

mod=image&aid=140166&size=300x300&key=98e5f62d85d9a8ba&nocache=yes&type=fixnone" width="300">          
   





第2将,我们把主界面做好了。可是没有数据,今天,我们获取数据,绑定界面上。 在说下界面。顶部一个标题,显示app名字。一次以下是一排的button,这里button放在滚动控件里面。能够左右滑动。点击选择不同的button。来切换以下的类容,点击button时候,button会自定像左边或者右边滚动。

中间,就是一个listview了。应该是非常多个Listview。每一个内容项相应一个listview,通过影藏显示,来控制详细显示哪个listview,listview仅仅实现了,上拉载入功能,代码。非常久曾经做的,如今不想改了,须要下拉刷新,大家能够使用开源的代码来做。非常easy方便的。

这个小功能的详细的代码例如以下。我去,代码有点多:

private ListView listView; // 展示数据的listview

        private HotAdpter adpter; // 绑定数据的适配器

        private ArrayList<MovieBean> beans; // 放置视频对象的集合 ,MovieBean是一个实体对象。在bean包建的

        private Map<Integer, HotAdpter> adpters; // 保存适配器的map集合,这个页面有多个频道。须要多个listview和adpter

        private static int post; // 记录当前点击的频道id

        private RadioGroup radioGroup; // 放置上面的各个频道button

        private LinearLayout layout; // 用来动态加入N个listview用的

        private String type; // 类别

        private boolean isResh; // 是否获取数据结束。防止listview滚动到最以下,反复获取数据

        private View pView; // 转圈圈view

        private int[] location; // 保存频道button的位置

        private String page = "1"; //分页用的

        private HorizontalScrollView scrollView;   //放置顶部button的

        private int flag;    //标示,记录当前,点击的是哪个button

        private int postion;   

        private int width;     //屏幕的宽度。用来计算顶部button暂用的宽度。以便向左或者右滑动对应的距离

        @Override

        protected void onCreate(Bundle savedInstanceState) {

                super.onCreate(savedInstanceState);

                setContentView(R.layout.activity_hot);

                initData();

                initView();

        }



        @Override

        public void initView() {

                scrollView = (HorizontalScrollView) findViewById(R.id.hscroll);

                location = new int[2];  

                layout = (LinearLayout) findViewById(R.id.list_lin);

                radioGroup = (RadioGroup) findViewById(R.id.bar_rg);

                radioGroup.setOnCheckedChangeListener(this);

                pView = findViewById(R.id.pb);

                for (int i = 0; i < 13; i++) {   //应为了13个条目。创建13个listview

                        listView = (ListView) getLayoutInflater().inflate(

                                        R.layout.listview_item, null);   //用xml获取一个listview对象

                        listView.setId(i + 1);     //动态设置id

                        layout.addView(listView);   //把listview加在LinearLayout上面

                        type = MyData.rd;   //MyData里面放了一些常量。MyData.rd,表示热门这个栏目,详细请下源代码看

                        if (i == 0) {   

                                listView.setVisibility(View.VISIBLE);    //刚进这个界面的时候,显示第一个listview,载入显示热门电影

                                post = 0;  

                                type = MyData.rd;

                                new Threads().start();     //开启一个线程获取热门电影

                        } else {

                                listView.setVisibility(View.GONE);   //影藏其它全部listview

                        }

                        setListener(listView);   //绑定事件监听



                }

        }



        private void setListener(ListView listView) {

                listView.setOnItemClickListener(new OnItemClickListener() {



                        @Override

                        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,

                                        long arg3) {

在使用skd时候。须要在前面进行初始化操作:

<font color="#ff0000">这句话。在MyApplication里面调用的,</font><span style="color: rgb(255, 0, 0); line-height: 1.5;">MyApplication类继承</span><font color="#ff0000">Application  请在配置文件中面进行声明,</font><span style="line-height: 1.5;
color: rgb(255, 0, 0);">在应用启动时候,会调用</span><span style="line-height: 1.5; color: rgb(255, 0, 0);">MyApplication里面的</span><span style="line-height: 1.5; color: rgb(255, 0, 0);">onCreate()方法,我们在里面调用</span>

今天就是这样了。这里简单说了下代码,具体的具体代码,大家请看这里:

    http://pan.baidu.com/s/1qWJkQfE

版权声明:本文博客原创文章,博客,未经同意,不得转载。

在实现视频播放器的步骤client(三)风行网络电影列表的更多相关文章

  1. VC++ 视频播放器 图文步骤记录

    1.安装DirectShow9.0 SDK DirectShow9 SDK下载链接http://download.csdn.net/detail/jindou910101/5591169 2.运行Di ...

  2. 2016年最全面的VR资源盘点,不只有VR视频播放器还有具体到步骤的VR资源

    2016年过去了,有多少人开始使用VR来观看我们喜欢的视频资源呢?比传统视频更高的沉浸感,甚至在VR眼镜的视角中,自己仿佛化生成视频中的主角一般.然而,这种体验只有VR眼镜还是不行的,还需要有一个VR ...

  3. WPF技术触屏上的应用系列(三): 视频播放器的使用及视频播放、播放、暂停、可拖动播放进度效果实现

    原文:WPF技术触屏上的应用系列(三): 视频播放器的使用及视频播放.播放.暂停.可拖动播放进度效果实现 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系统,5 ...

  4. pyglet -- 视频播放器 (简单实现,效果不是太好,切换资源会卡死)(三)

    实现一个简单的视频播放器,效果不是很好.这里不多说,直接贴代码了. #-*- coding:gbk -*- import pyglet import os from pyglet.gl import ...

  5. C语言基于GTK+Libvlc实现的简易视频播放器

    小编心语:现下,各种视频播放软件层出不穷,竞争也越演越烈,不知道大家有木有这个想法,小编有时在想能不能做一款属于自己的视频播放器呢~小编特意去实验楼,整理出了这篇关于如何实现简易视频播放器的博文.简易 ...

  6. 【Linux_Fedora_应用系列】_2_如何安装视频播放器和视频文件解码

    在前面的一篇博文中,我们进行了音乐播放器的安装和解码器的安装.[Linux_Fedora_应用系列]_1_如何安装音乐播放器和mp3解码 这里我们来进行视频播放器的安装.我们还是通过yum方式安装. ...

  7. 基于VLC的视频播放器

    原文:基于VLC的视频播放器 最近在研究视频播放的功能,之前是使用VideoView.在网上看了一下,感觉不是很好,支持的格式比较少,现在网络视频的格式各种各样,感觉用VideoView播放起来局限性 ...

  8. Mac上好用的视频播放器有哪些?

    首页发现话题 提问 登录加入知乎 Mac 上好用的视频播放器有哪些? 关注问题写回答 OS X 应用 多媒体播放器(软件) Mac 上好用的视频播放器有哪些? 关注者 2680 被浏览 981770 ...

  9. Android 视频播放器 (二):使用MediaPlayer播放视频

    在 Android 视频播放器 (一):使用VideoView播放视频 我们讲了一下如何使用VideoView播放视频,了解了基本的播放器的一些知识和内容.也知道VideoView内部封装的就是Med ...

随机推荐

  1. docker 在运行 aspnetcore 镜像时提示 命令找不到

    不要讲路径映射到镜像中的应用根文件夹 例如默认的 /app

  2. USB 3.0规范中译本 第10章 集线器,主机下行口以及设备上行口规范

    本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 本章描述USB 3.0 集线器的体系结构要求.本章还描述主机下行口和集线器下行口之间功能性的不同之处,以及设 ...

  3. 清楚arp

    转载:http://wscyza.blog.51cto.com/898495/728717/ linux系统下清空arp 缓存(清空arp表)方法   命令红色字体标记   系统初始arp环境 [ro ...

  4. Java多线程系列-线程创建

    1.怎样创建多线程? Java从语言级别实现多线程,因此实现一个多线程程序很easy.有两种方法能够实现多线程,即继承Thread类和实现Runnable接口.由于Java不支持多继承的原因,建议尽可 ...

  5. 怎样收缩超大的SharePoint_Config数据库

    前言 在已经执行了2年多的SharePointserver上,发现SharePoint_Config的数据库文件越来越大,已经达到90几个GB,收缩能够减小20几个GB,可是一周以后又会恢复到90几个 ...

  6. 【u015】兽径管理

    [问题描述] 约翰农场的牛群希望能够在 N 个(1<=N<=200)草地之间任意移动.草地的编号由 1到N.草地之间有树林隔开.牛群希望能够选择草地间的路径,使牛群能够从任一 片草地移动到 ...

  7. 百度echart--Uncaught Error: Component series.wordCloud not exists. Load it first.

    百度echart--Uncaught Error: Component series.wordCloud not exists. Load it first. 一.总结 一句话总结:关注报的错.可以通 ...

  8. virtualenv对python

    使用virtualenv对python进行多版本隔离 最近在用python做一个文本的情感分析的项目,用到tensorflow,需要用python3的版本,之前因为<机器学习实战>那本书的 ...

  9. iPhone6/6Plus下app状态栏内容放大问题处理

    分为兼容模式和高分辨率模式. 兼容模式 当你的 app 没有提供 3x 的 LaunchImage 时,系统默认进入兼容模式,大屏幕一切按照 320 宽度渲染,屏幕宽度返回 320:然后等比例拉伸到大 ...

  10. NOIP模拟 path - 按二进制位分组

    题目原文: 企鹅豆豆即将要去考长跑了,但是作为一只企鹅,长跑自然比不过鸵鸟和鸡.为了公平起见,教练告诉豆豆,他可以从 K 个指定地点中选择两个不同的地点分别作为起点和终点来考试.考试地图是一个由 N ...