13计本2班第二次实验解析【补充】

  上课时实验失败,反思原因:android版本过低。大家在自己电脑上实现记得要选择4.4及以上版本

  在前面做第二次实验的时候有个思考题,就是中间那个欢迎界面,目前是一张背景图,然后倒计时结束后跳转。在思考题中要求变成一个图片轮播切换。做惯了WEB应用,觉得这种东西么网上肯定有封装好的插件,拿来调用下就OK了。然后就给自己又挖了个深坑。上周没空搞先糊弄了过去委屈,这周一定要把它实现了。网上一查,资料还挺多的,而且还有DEMO,下载下来一看,好嘛,挺麻烦的。东挑西捡的选了个相对比较简单的。大家主要关注下过程即可,具体效果意思到了就OK了哈。

  参考博文地址:http://blog.csdn.net/wxmdg2010/article/details/39583817

  DEMO下载:https://pan.baidu.com/s/1dEBBhjN

  接下来正式开工:

  1、打开Eclipse,加载自己的项目

  2、把下载下来的DEMO也加载进来

  3、把以下内容从DEMO里COPY再PASTE到自己的项目中:

    (1)libs目录

    (2)src里的整个包【说明:为了区别,我们就沿用DEMO里的包命名,当然后面熟悉了你可以再修改过】

    (3)res目录中的drawable-hdpi里的图片资源文件

    (4)res目录中的layout里的两个xml布局文件

    (5)注意以上文件有些不是必须的,但是先拷过来,等下搞明白了用途再删。

  4、因为DEMO项目里有些类对象需要android4.4及以上的支持,所以如果我们当初自己的项目是android4.0的,那么需要修改下android的版本。具体操作如下:

    右击自己的项目名,选择“properties”,然后在出来的窗口左侧选择“Android”,然后右侧选择新的4.4及以上版本

  5、到这里我们就会看到我们自己的项目中的src目录中新复制过来的包里出现了讨厌的红叉叉,点进去看到的是R出错,因为R是在我们自己的包中,所以需要在新复制过来的包中的JAVA文件中import项目中自己的包名。然后可能出现文件保存编码提示的问题,我们就选择UTF-8好了,通用。还有个错误是ArrayList报错,要求加上类型说明(Insert inferred type arguments)或修改JDK为1.7。还是添加类型说明这个处理方法比较合理。

  6、做到这里应该是没有错的了,如果还有错,自己查看错误信息进行修改。下面我们该用起来了。

  7、根据参考博文中的说明,只需要在布局界面中添加一个“<com.minking.imagecycleview.ImageCycleView/>”节点就OK了,这个节点就是一个自定义控件。所以说我最讨厌这种没当过老师就来写教程的技术员,一点也不了解读者的需求,多写点是流量会超呢还是键盘要打坏(多说倒是会口干舌燥的,所以我要少说大笑)。id也不定义,宽高也不定义,肯定报错。当然我们可以直接看他的布局代码,就是res目录中layout目录中新复制进来的“activity_ad_cycle.xml”这个文件。所以完整的使用就是:

<com.minking.imagecycleview.ImageCycleView
        android:id="@+id/ad_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
   这样才对嘛。所以这里我们也发现了“activity_ad_cycle.xml”这个文件其实是没有用的了,我们肯定是要把这个自定义控件放在自己的布局界面中,他这个让我们复制了控件标签就可以功成身退了,删了吧。当然先保留下,全部搞好再删也可以的,只是要注意一个地方:id。这里的id是ad_view,所以后面代码中如果出现这个id就表示这个自定义控件,如果这个文件没有删除,然后又自己添加了一个控件,id记得不要重复,代码中的id也要对应修改过来。

  8、接下来我们看具体代码

    (1)新复制过来的包中有三个java文件:MyApplication.java、ImageCycleView.java和ImageCycleActivity.java

    (2)首先关注MyApplicaton文件,它继承自Application而不是我们前面创建过的Activity,查下资料得知这个是作为一个项目的入口,级别就像main,先要跑它里面的onCreate。当然我们也还要到AndroidManifest配置文件中去配置下。打开application选项卡,最上面的name处通过浏览找到该文件即可。该文件中的具体代码主要是对ImageLoader对象进行实例的初始化预设配置,方便后面调用。那什么是ImageLoader呢,这个又是一个别人家的类库,拿来用用的,libs里的universal-image-loader就是它了。

    (3)然后我们来关注ImageCycleView文件,看名字挺熟啊,还记得布局界面中放的那个标记名不?对,就是它,所以这个文件就是主要的控件实现。然后大致看下代码,我们可以看到前面复制过来的另外一个布局文件“ad_cycle_view.xml”。具体代码我们先略过略过略过,今天我们主要是来用它,而不是来做二次开发。

    (4)最后就是那个ImageCycleActivity,总算看到Activity了,熟悉啊,可惜逃不过被删的下场,因为我们自己已经有要处理的Activity了。但是在删之前还是要榨干它最后一点油水。我们来关注下它的具体代码,主要有以下几个内容:

      1)定义好几个网络图片地址,存放到一个ArrayList中去

      2)利用findViewById找到我们添加的ImageCycleView控件

      3)调用setImageResources方法来加载图片并绑定事件监听对象

      4)实现事件处理

      5)把这些该用的代码都复制粘贴到我们自己的欢迎Activity中后这个文件就可以删了。(别忘记IMPORT它的包名)

  9、最后我们不要忘记添加权限,因为现在的图片是网络图片,所以要在AndroidManifest配置文件的Permissions选项卡中添加名为“android.permission.INTERNET”的Uses Permission

  总结下我们最后保留的DEMO项目中的文件是:1、res目录下的drawable-hdpi中的图片资源;2、res目录下的layout中的“ad_cycle_view.xml”文件;3、libs目录;4、复制过来的包中的ImageCycleView和MyApplication两个JAVA文件。


  另外网上搜到的比较多的另一个slider开源控件是:AndroidImageSlider。望大家自学成才奋斗


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值