Android(六)音乐播放器本地搜索及其他

一、本地搜索

思路:创建MainActivity、Adapter、Java Bean、MainUtil。

1.实现音乐播放器本地搜索需要的条件:Bean、Main、Adapter、Main布局、ListView布局、Util。
2.Adapter:将继承BaseView将数据传入UI组件。
3.Bean:将一组具体的属性集成一个类,且公开,用于方便维护。
4.Util:扫描系统里面的音频文件,返回一个list集合,是一个工具类。
5.Main:通过Util创建歌单。
6.ListView:ViewHolder:ViewHolder通常出现在适配器里,为的是listview滚动的时候快速设置值,而不必每次都重新创建很多对象,从而提升性能。
一般自定义类 ViewHolder 来减少 findViewById() 的使用以及避免过多地 inflate view,从而实现目标。

注意:Android6.0及以上要动态申请权限,仅仅在Manifest.xml中申请权限会报错。

二、其他及深入理解

1.List是一个接口,而ListArray是一个类。 List 简单说就是集合 List<a>就是泛型集合
ListArray继承并实现了List。 
所以List不能被构造,但可以向上面那样为List创建一个引用,而ListArray就可以被构造。 

2.view:中文意思是视图,一般来讲是一切控件的基类。

This class represents the basic building block for user interface components. A View occupies a rectangular area on the screen and is responsible for drawing and event handling.

这个类代表了用户界面组件的基本构筑块。一个View在屏幕中占据了一个矩形区域,并且通过绘制与事件处理与用户交互。

3.inflate:(使) 膨胀。

我猜这里应该不是使膨胀的意思。:)

Inflate可用于将一个xml中定义的布局控件找出来。因为在一个Activity里如果直接用findViewById()的话,对应的是setConentView()的那个layout里的组件。因此如果当前Activity里需要用到别的layout(xml文件),比如对话框上的layout,这时还要设置对话框上的layout里的组件(像图片ImageView,文字TextView)上的内容。

所以,要引用另一个布局,就必须用inflate()先将对话框的layout找出来,然后再用这个layout对象去找到它上面的组件,如:
  View view=View.inflate(this,R.layout.dialog_layout,null);
  TextViewdialogTV=(TextView)view.findViewById(R.id.dialog_tv);
  dialogTV.setText("abcd");
  如果直接用this.findViewById(R.id.dialog_tv)肯定会报错.

4.JavaBean:是使用Java语言开发的一个可重用的组件,是符合某种特定规范的Java类。

 优点:1.实现界面和Java代码分离,便于日后维护和扩展

                2.可解决代码重复编写,减少代码冗余。

PS:官方文档真是个好东西。

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值