- 博客(18)
- 收藏
- 关注
原创 Android垂直ProgressBar的实现
1. 定义类继承ProgressBar public class VerticalProgressBar extends ProgressBar { public VerticalProgressBar(Context context) { super(context); } public VerticalProgressB
2016-07-12 15:49:58
1068
转载 Android MediaPlayer分析
在写这篇文章之前,我先说明一下,这篇文章可能不会真对于android初学者,因为有一些概念,我并不会讲解.除此之外,在博客的连贯性上来讲,这篇文章也有所欠缺.时间紧迫,仅作为开发过程中的一个记录文章,供大家参考吧!首先介绍一下各种状态:明确一个概念,Idle(new MediaPlayer后)和End(MediaPlayer.reset()后)间的状态是MediaPlayer的生命周期
2016-07-12 15:32:56
1208
原创 Chromium MediaPlayer原理分析初步
最近在修改一些问题,涉及到了网页播放视频的相关东西,分析了一下流程,把它记录下来,不然可能一个星期就忘掉了.在chromium网页切换小屏至全屏的过程中,每一个视频url对应一个WebMediaPlayer(有唯一id), 从而对应一个Browser进程中的MediaPlayerBridge. HTMLMediaElement的src变化时都会调用到HTMLMediaElement::star
2016-07-12 15:17:48
2716
原创 Android app基于DownloadProvider实现下载管理功能
下载功能是一个很常见的功能,在很多app中都有这种功能的存在。很多应用的做法是:写一个单线程或者多线程下载,写一个DownloadThread建立HTTP请求用来下载存储文件,存储到一个地方,然后写一个UI界面,用于展示文件列表。如果需求多了呢?加个控制,暂停、取消、重新下载、文件分类,再加上一些其他所谓的特定需求,加上数据库的操作管理会让你头大,况且下载功能,在很多细节方面还是需要处理很多的情况
2016-06-22 18:24:02
3577
原创 android webview 二次验证流程分析 shouldOverrideUrlLoading深度分析
一. shouldOverrideUrlLoading的含义 Sdk中的解释public boolean shouldOverrideUrlLoading (WebView view, String url)Added in API level 1. Give the host application a chance to take over the control when a n
2016-05-23 15:34:54
8472
原创 Android Download 下载功能深入研究(四) : 系统应用DownloadProvider的改进
系统应用DownloadProvider的改进
2016-03-18 13:59:52
1903
原创 android 提前知道textview的宽度
很多时候,我们在开发的时候,经常发现,textview中展示的字符串不同,可能会影响到同一布局下的其他控件的位置.我们总是希望能够拿到textview的宽度,但是发现,textview.setText("xxx");之后,根据textview.getWidth();或者textview.getMeasuredWidth();方法总是无法获取到真正的textview所展示的宽度.至于为什么,我就
2016-03-17 17:06:03
1544
原创 Android Download 下载功能深入研究(三) : chrome自带下载功能的研究
随着chrome内核的不断升级,chrome可以提供的项目也越来越多,chrome for android提供了太多我们可以使用的东西,我们甚至可以把它当做一个小型的操作系统来看待.不过chrome for android却没有能够提供下载管理以及下载模块接口的暴露(这里面说的接口指直接接口,类似于API性质的接口).那么chrome是如何处理文件下载的呢?交给系统downloadMa
2016-03-03 15:15:24
2276
原创 Android Download 下载功能深入研究(二) : 速度提升之探索
之前我们说到影响下载速度的因素,那么我们一般在写下载功能的代码时,一般流程会这样:从网络读取数据->存入buffer->将buffer写入sd卡 下面我们对这个过程做一次时间分析:1.从网络读取数据,这个取决于很多种因素,包括带宽,路由器,服务器的带宽限制等多重因素,我们统称为网络因素.这部分是需要时间的,而且在网速不好的时候,会成为主要的耗时原因.2.存入buffe
2016-03-02 19:48:10
2495
1
转载 UC:我们是怎么做出Chromium M35内核浏览器
文章出出:http://www.lupaworld.com/article-241107-2.html为什么要基于Chromium做二次开发? 肯定会有很多人好奇,为什么国内的双核浏览器都是无一例外地基于 Chromium 开源项目做二次开发。其实,根本原因在于,以 Google 员工为主的 Chromium 团队在该项目上做了大量的技术创新。像 DNS Pref
2015-05-26 16:46:35
1403
原创 chromium浏览器页面longclick弹出菜单功能的实现
最开始做这个功能是在chromium34上面实现的,后来移植到39上面,调用的相关的系统和内核的底层的接口还都好用,从34到39版本变化,chromium内核对于事件的传递这块逻辑代码应该没有太大的变化。首先说下webkit浏览器是如何实现长按网页弹出菜单的:从最开始的说起,对于android使用原生webview的浏览器来讲,长按一个链接(当然也包括图片,网站,邮箱,手机号码等),都会弹
2015-04-02 10:02:36
2078
原创 chromium34与39截图实现方式的差异
从浏览器内核chromium34的代码移植到39的时候,发现之前做的截图接口不好用了,仔细分析,发现两个截图实现的机制不一样,又去分析了一下39的相关代码,现在把34和39的截图的实现方式和大家分享一下。这期间的版本,到底是哪个版本进行了修改,就不去一一查看了。
2015-04-02 09:57:36
1450
原创 Linux下android编译环境搭建
之前也有好多人写过类似的文章,这篇文章是我根据两次不同的时间搭建编译环境后,进行整理,毕竟之前有很多jdk的源已经找不到了。在这个过程中,遇到了一些问题,虽然有的问题是一年多之前遇到的,但是也记录了下来,一起分享给大家第一步:安装操作系统Ubuntu 12.04.4 LTS,尽管已经不是最新的系统了。第二步:安装jdkAndroid4.x编译需要sun-jdk1.6版本,推荐 jd
2015-03-31 10:27:07
3126
原创 Android在引用其他工程时,被引用的工程存放位置的问题
今天新建了一个项目A,在引用其他工程B的时候,出了点问题。很多时候,我们在引用其他的工程的时候,会将其他工程打成jar包,再导入新的工程就可以了。但是,如果你想引用带图片等资源的时候,再想打成jar包就不是很容易了(具体方法可以百度),在这里十分不推荐这种做法,还是如下的方法:1.把鼠标移动到B工程上面,点击右键 Properties-Android-选中is Library,点击右下
2013-12-06 14:26:05
582
原创 SharedPreferences文件的存储位置
SharedPreferences是android的一种数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。大多数机器其存储位置在/data/data//shared_prefs目录下。少部分机器会将其存储在/dbdata/databases//shared_prefs目录下,很多书上和文章中都写的是存储在/data/data//sh
2013-03-19 10:59:10
14119
原创 关于相对布局中控件摆放位置的一个需要注意的小地方
大家有没有看到这样的一个问题,如果是如下的布局,图片就是这个样子的 android:id="@+id/btQueding" android:layout_width="128px" android:layout_height="47px" android:layout_marginLeft="120px"
2013-03-18 11:18:52
1549
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人