Android 音乐播放器的开发教程(一) ----- 小达

Android小卷毛音乐播放器开发教程(一)

前言:2014年12月5号的时候,刚加入学校里的团队不久,组长会给新人发布任务,让我们在做项目的过程中能快速的熟悉android的各项基本知识。第一次的任务就是做一个android的音乐播放器。当时拿到任务的时候也是愣了≡ ̄﹏ ̄≡,尴尬什么都不知道,怎么做。然而身为一个程序员,速效的学习并且能灵活的使用,是一项必备的技能,面对问题,咱不能怂,怂就输一半儿,二话不说就是干奋斗。大二的小达课还是比较多的,抽出零碎的时间,还有牺牲周末等等,花了18天的时间,憋出了个播放器(辣鸡播放器,大神勿喷,初次接触android可怜)。期间很感谢简美音乐播放器(作者:小巫)的许多易懂的教程,还有网上各路大神的代码,下面就展示下小达的成果。(小心被亮瞎,界面丑暴,23333)。

第一阶段完成的功能:

               1.获取歌曲并显示为歌曲列表

               2.点击列表自动播放

               3.暂停、上一首、下一首

               4.播放模式的选择

               5.自动切换到下一首

第二阶段完成的功能:

               1.歌词的动态显示(没有滚起来。。。)

               2.我的最爱歌曲加入和删除

               3.最近播放的歌曲记录

待完成的任务:

               1.专辑图片的获取(搞了好长时间没弄出来)

               2.来电的处理

               3.歌曲分享等模块

               4.创建自己的歌单


废话不多说,直接上源码。小卷毛音乐播放器下载

各位飘过的、路过的大神,代码写的有点乱,求轻喷,23333,刚接触android,求指点,我会好好的改正,谢谢咯。

主界面

小卷毛播放器的全貌,,,自己都不忍直视,这界面还是后来做到一半了改过的,没有设计师的苦逼程序猿,之前的那个UI丑的不能要可怜。做完这个东西最大的体会就是,UI设计还是超重要的,改起来有点麻烦(好像是个人太水了哈。。。)。有人会问,,我这素材到哪里找的?木有设计师,只能自己默默的反编译天天动听了,,偷别人设计师的,23333,会在后面一篇双手奉上我的教程。


简单说一下,主界面能用的模块有我的音乐、我的最爱、最近播放。整个播放器我先用的是好多个Activity,但是做到中间发现Activity不怎么灵活,在学习的过程中发现有个东西叫Fragment(不要翻译成碎片,不然怪怪的,23333)。这个Fragment更加灵活方便。后来花了2天的时间边学边改,真是痛苦。将整个播放器只用了一个Activity,其余的全是fragment。


先贴出activity的源代码吧。

package com.example.dada.myapplication;


import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.app.Notification;
import android.app.NotificationManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Message;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.SeekBar;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import android.os.Handler;


public class MainActivity extends Activity implements AppConstant,         //用Fragment的时候,Activity实现Fragment的内部接口
        MainFragment.OnMainFragmentInteractionListener,
        MyMusicFragment.OnMyMusicFragmentInteractionListen
  • 10
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值