1.课程的初忠与目的

问题:通过上课发现,在学习完成Android基本组件后,还会迷茫于如何完成一个完整的应用。

本实践课程通过开发完成一个“畅听音乐”的小项目,实现从基本组件的学习到项目开发过程的转变。

2. 课程的特点

这是一门实践课程,不讲解AS环境的搭建、基础组件与控件的使用,但会在开发过程中介绍用到的组件的用法。

课程基于项目的基本目标要求,从适合工程开发的角度,分解创建通过组件、自定义视图组件、自定义工具类、自定义接口与适配器扩展基本组件的功能。

课程的目标就是通过一个完整的小项目的开发与练习,带领小伙伴,实现从学完基本组件后,还无法做实际项目的迷茫,到能独立分析、设计、编码完成项目的转变。

课程以创建项目、配置项目基本资源、开发数据封装实体类、开发各类工具类、开发主界面的功能、开发背景设置界面的功能、开发 音频播放界面的功能、开发视频界面的功能为主线进行全程的程序演示。

3.项目的目标

在Android Studio开发 平台中,使用网易云服务数据,实现一个简单的音乐播放器,能实现如下的几个功能:

1)能实现**歌曲的推荐功能,并以ListView进行音频列表数据展示,如果歌曲有MV,则要在列表中显示视频播放按钮;

2)能实现按关键词进行在线搜歌的功能,并以ListView进行音频列表进行分页数据展示,如果歌曲有MV,则要在列表中显示视频播放按钮;

3)点击新歌推荐列表中的歌曲、或点击在线搜歌列表中的歌曲,能保存到播放列表SQLite数据库中,同时打开音乐播放器,使用MediaPlayer进行播放;

4)在音频播放界面可以选择歌曲的循环模式、进行第1首、上1首、下1首、last、播放/停止,暂停/继续的控制,查看正在播放的歌曲列表,并选择切换歌曲,

5)点击带有MV的歌曲条目中视频播放按钮,能打开视频播放界面进行视频播放;

6)点击下载按钮,能将网络 音频 下载到本地,并存储到数据库中,然后可以在本地进行播放。

4.学习本课程的所需求的技术基础

学习本课程需求的技术基础如下:

1)会使用AS集成开发 环境;

2)会进行Activity布局界面设计;

3)会使用SQLite数据库;

4)会使用SharedPreferences存储对象

5)了解三方库的概念及加载方式;

一些扩展知识基础(有了这些基础,学习本课程将会更加简单):

6)会使用三方库进行网络资源访问和解析;

7)了解MediaPlayer的开发方法;

8)文件与文件夹的创建、删除、下载。

当然没有上面的知识,也可以学习这门课程,我会在课程中详细的介绍关键模块的实现过程,也会对相关的组件进行介绍,但不会像上基础课那样详细,因此如果基础弱的话,学习本课程的时间可能会长一些。

5.项目中用到的技术

项目中用到的相关技术如下:

1)网络访问技术OkHttp3

2)JSON解析技术(阿里fastjson)解析网易云服务json数据

3)MediaPlayer播放音频文件(本地文件、网络文件)、MediaPlayer+SurfaceView播放视频文件

4)AnimateObject对象动画

5)权限的静态注册与动态注册

6)根据网易云 微服务 返回的数据构建 实体类vo

7)SQLite数据库的操作(数据库辅助Helper类,各具体的对象的数据操作DAO类)

8)文件的下载处理、文件夹的创建、文件的创建与删除(需要网络权限与文件读写权限)

9)实现设置整个项目的背景图

10)SharedPreferences的使用,存储设置数据

11)使用三方的图片显示组件smartImageView方便的显示图片

12)自定义圆形视图CircleImageView

13)自定义布局界面组件,如top_with_back.xml等

14)ListView数据显示技术、分页加载在线搜索数据、自定义接口扩展ListView条目中的 图片、按钮控件 的点击事件处理

15)定义TextView跑马灯效果

16)多线程处理,在网络线程中访问UI主线程、在MediaPlayer播放过程中更新UI主线程等

android播放器删除视频教程,列表条目 的播放视频按钮、删除条目按钮的点击事件监听接口的实...相关推荐

  1. android 判断按钮是否已经有onclicklinstener,通过点击事件监听setOnClickListener彻底理解回调...

    前言 老司机们对于回调肯定熟悉得不能再熟悉了,但是新司机可能还是一脸懵逼的,我比较笨,当年懵逼了好久,看夏安明的这一篇博客地址,虽然下边的留言都是,写得好!懂了懂了!但是我当时看了三遍还是不懂好吗 - ...

  2. 通过点击事件监听 setOnClickListener 彻底理解回调-Android

    前言 老司机们对于回调肯定熟悉得不能再熟悉了,但是新司机可能还是一脸懵逼的,我比较笨,当年懵逼了好久,看夏安明的这一篇博客地址,虽然下边的留言都是,写得好!懂了懂了!但是我当时看了三遍还是不懂好吗 - ...

  3. android 键盘点击事件监听事件,Android 键盘事件触发以及监听

    一.Android 手动显示和隐藏软键盘 如果输入法在窗口上已经显示,则隐藏,反之则显示 InputMethodManager imm = (InputMethodManager) getSystem ...

  4. android通知栏显示,通知栏点击事件监听

    android通知是通过Notification来实现的,显示在通知栏,不管是系统通知还是本地通知都可以通过Notification显示在通知栏中. 通知显示参考:https://blog.csdn. ...

  5. android怎么设置按钮点击事件监听,Android点击Button按钮的四种事件监听方法总结...

    首先我们在activity_main.xml里面先定义一个Button空间 好,现在要我们来看点击事件的四种写法: 1.最常见的一种写法--匿名的内部类做为事件监听器类 package com.bas ...

  6. android之实现各个组件点击事件监听

    注意:(TextView这个组件要点击产生效果的话,要设置,android:clickable="true"这个属性) 布局:layout/activity_main.xml &l ...

  7. android百度地图的点击事件监听,百度地图监听事件addEventListener无效

    我这到底是什么问题啊,能打开,能定位,能设置中心,就是监听事件不起作用加了setTimeout就会闪退,求帮助,急急急,很急 var winHeight,map,lat='39.989539',lon ...

  8. android让跟布局优先响应点击事件,andorid事件监听的五种方式

    一.Android中的事件处理方法 事件处理:响应用户UI动作,提高应用程序交互性 1.基于监听的事件处理机制 2.基于回调的事件处理机制 3.Handler消息处理 二.基于监听的事件处理机制详解 ...

  9. Android Vlc播放器加载rtsp及http地址视频

    该文章借鉴于:记性差的程序猿发布的<Android使用VLC播放视频和直播流> CSDN地址:Android使用VLC播放视频和直播流_记性差的程序猿的博客-CSDN博客_android ...

最新文章

  1. 面向动态环境基于点的语义SLAM系统
  2. oracle行列转换
  3. Hyperledger Fabric 1.4 搭建区块链浏览器
  4. 手写自己的MyBatis框架-支持插件
  5. 工作129:动态路由
  6. 控制器(下) -运维笔记
  7. 从哪些角度进行手机软件测试
  8. java转码工具应用程序_java转码工具native2ascii.exe的使用方法
  9. 谷歌地球二次开发基础平台
  10. 平面设计构图是什么,平面设计基本构图原则和形式是什么:夏雨老师
  11. 拓嘉辰丰:拼多多直通车推广常见问题解析
  12. 电脑连接手机Termux后保持在后台运行
  13. 抽水马桶工作原理演示
  14. 浏览器野史 UserAgent列传(上)
  15. 计算机组成原理(静态随机存取存取器)
  16. 当前安装包签名出现异常_关于部分华为手机安装游戏提示“签名异常”问题说明...
  17. oracle数据库system01,system01坏块的问题
  18. 学习js 正则表达式
  19. hd Firewall Server juniper / NOKIA / LTWS-5000MV
  20. r语言读取C盘的csv文件,R语言开发之CSV文件的读写操作实现

热门文章

  1. 基恩士plc-EtherCAT三十一轴,控制案例程序
  2. Mustache 模板引擎
  3. 计算机毕设选题推荐基于SSM咨询交流网
  4. 语音识别(Speech recognition)的核心内容是将语音转换成文字
  5. asp.net aspxgridview 绑定数据
  6. 有关操作系统进程通信的选择题
  7. 不是计算机硬件有哪些,电脑基本硬件有哪些(除了可以看到的还有哪些)
  8. C++音视频开发的技术要点
  9. Jetson TX1板载相机opencv调用打开
  10. V2V协同多目标跟踪——目标尺寸和位置估计