自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Android 聚合音乐播放器

MusicLakeAndroid 音乐播放器除了本地音乐,还包括百度音乐,QQ音乐、虾米音乐、网易云音乐等网络音乐播放支持在线歌曲下载歌词播放、桌面歌词、桌面小控件通知栏控制、线控播放、音频焦点控制QQ登录、在线歌单同步百度电台列表,网易云mv排行榜,mv播放评论酷狗歌词搜索、修改歌词样式更多体验请下载apk,欢迎star,尽情提#issues下载点这下载软...

2018-07-29 22:18:51 2194 2

原创 高效更新源码中的GMS包

前言对于Android 原生系统定制来说,升级google GMS包是不可避免的日常工作。它不像cts软件版本那样,是google提供的GMS包应用。而一般的客户软件版本是必须需要去登录google playstore商店,然后下载最新GMS软件。并将下载好的软件从手机导出到电脑上,再将这些下载的软件一个个对比源码中的google应用版本,然后对比apk包名,最后将软件替换成最新的版本。遇...

2018-04-27 15:55:18 2374

原创 Android音频焦点AudioFocus分析

前言随着Android版本的升级,以前用的一些api都提过时,项目中使用 AudioCocusRequest 顾名思义是一个音频焦点请求类。一个封装音频焦点请求信息的类,AudioFocusRequest通过Builder实例化,有两个方法requestAudioFocus和abandonAudioFocusRequest。什么是焦点请求?音频焦点是API 8中引入的一个概念。它...

2018-03-30 15:02:47 3541

原创 git rebase 使用

git rebase使用git 也有很长一段时间了,所以想总结一下git 的使用。其中,在日常工作中copy代码(搬砖)是常有的事情。对于git 管理的分支来说,git cherry-pick就是另类的copy。说的正式点就是 移植。而cherry-pick 就是移植命令。对于git cherry-pick过来的提交记录,有些是因为一点小错误导致重复提交的,还有一些是一个功能分了好几次提交

2018-02-06 20:32:14 391

原创 Android 高通平台开机logo的修改

修改开机logo修改开机logo有两种方法,一种直接去改c语言代码,第二种替换图片用python生成splash。第一种方法我没试过,感觉挺麻烦的,还有分辨率限制,超过多少分辨率就不能用第一种方法。修改的文件路径LINUX/android/bootable/bootloader/lk/splash准备好logo图片(png、bmp格式)查看中原图片的分辨率,修改logo图片 保证 分辨率 一致

2017-11-02 11:30:12 4521

转载 几种常见的程序命名规则

几种常见的程序命名规则  正确并形象地给函数、变量命名,不仅可以增加程序的可读性,也是程序员编程风格的一种反映。较好的命名习惯,可以有效的提高程序的可维护性。以下介绍几种常用的变量命名规则。一、匈牙利命名法:广泛应用于Microsoft Windows这类环境中。  这种命名技术是由一位能干的 Microsoft 程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。匈牙

2016-05-26 09:27:57 15878 1

转载 Android中使用Handler造成内存泄露的分析和解决

什么是内存泄露?Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收。也就是说,一个对象不被任何引用所指向,则该对象会在被GC发现的时候被回收;另外,如果一组对象中只包含互相的引用,而没有来自它们外部的引用(例如有两个对象A和B互相持有引用,但没有任何外部对象持有指向A或B的引用),这仍然属于不可

2016-04-11 23:31:13 211

转载 Android中的“再按一次返回键退出程序”实现

private long exitTime = 0;@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {    if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){           if(

2015-10-29 21:34:40 314

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除