(三)
今日热门电影实现这个功能。主要从server获取数据。然后显示在屏幕上。虽然说是从这个server获取电影信息数据,但,不实际的http相关知识,我们直接sdk包(56网络提供api),你将能够获得server返回的json格式的数据了。以后。我还会写一篇笑话client的完整样例,会讲http这块,如今就不多说了。
效果图:
第2将,我们把主界面做好了。可是没有数据,今天,我们获取数据,绑定界面上。 在说下界面。顶部一个标题,显示app名字。一次以下是一排的button,这里button放在滚动控件里面。能够左右滑动。点击选择不同的button。来切换以下的类容,点击button时候,button会自定像左边或者右边滚动。
这个小功能的详细的代码例如以下。我去,代码有点多:
在使用skd时候。须要在前面进行初始化操作:
今天就是这样了。这里简单说了下代码,具体的具体代码,大家请看这里:
http://pan.baidu.com/s/1qWJkQfE
今日热门电影实现这个功能。主要从server获取数据。然后显示在屏幕上。虽然说是从这个server获取电影信息数据,但,不实际的http相关知识,我们直接sdk包(56网络提供api),你将能够获得server返回的json格式的数据了。以后。我还会写一篇笑话client的完整样例,会讲http这块,如今就不多说了。
效果图:
第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
版权声明:本文博客原创文章,博客,未经同意,不得转载。