- 浏览: 24017 次
- 性别:
- 来自: 郑州
最新评论
文章列表
最近工作内容为修改android自带播放器界面,基本上修改为天天动听1.2版的效果,因为经理要求不能对项目结构变化太大,所以对于拖拽效果还没想好怎么实现,以现在所掌握的东西应该很难。。。贴几个图片
之前一直以为是Tab,结果今天看了代码,发现是几个TextView,Tab应该也是那么写出来的,要修改Music,修改为天天动听类似的界面,知道了这点,感觉豁然开朗了。。。
今天修改MP3中的一个小问题:在来短信的时候自动暂停音乐播放,当短信音播放完毕以后,或手动查看通知导致短信音结束后,音乐自动播放。
查看android自带的播放器源码后发现使用的是OnAudioFocusChangeListener这个监听器来监听声音焦点的改变的。附上代码:
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
public void play() {
mAudioManager.requestAudioFocus(mAudio ...
《Google+Android开发入门与实践》书中googleApi学习之iTracks实现出来真有点难啊,在在大家的帮助下,努力了两天终于出来了,废话少说,把中间几头拦路虎如何除掉的说明一下:
1.运行此实例必须要装Google API,可以通过Android SDK Manager 更新,此处说明一下,通过eclipse中的Window-->Android SDK and AVD Manager 弹出的对话框进行更新时会弹出错误,虽然是可以将相关的maps.jar更新下来,但项目编译有错,运行不了,只能用安装好的ndroid-sdk-windows中的管理进行更新,所以请运行SDK目录 ...
简单的说下:
一个线程会有一个Looper,主线程会自动创建一个Looper对象和一个Message队列。其他线程需要手动去创建。一个looper负责维护一个Message队列,此looper不断的轮训该Message队列,获取信息,并处理。
handler大致是帮顶在looper上的一个处理类,调用该类的handleMessage方法去处理轮训到的Message。
Looper分为主线程Looper和一般的Looper,主线程Looper通过Looper.getMainLooper获得。在线程中使用一般的Looper时,通过调用myLooper()方法获得Looper对象,需要调用Loo ...