自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

superonion

hold住onion

  • 博客(20)
  • 收藏
  • 关注

Android 歌词同步滚动效果

歌词是播放器类App必不可少的组件,而一般的歌词组件都需要做到歌词的显示与播放进度同步。我们知道,歌词是如下所示的文件: lrc [ti:原来爱情这么伤][ar:梁咏琪][al:给自己的情歌][00:00.55]梁咏琪 - 原来爱情这么伤[00:05.43]作词:彭学斌 [00:06.68]作曲:彭学斌[00:09.63][00:22.27]我睁开眼睛 却感觉不到天亮[00:29....

2012-09-03 19:51:25 304

FFmpeg媒体打开过程分析

从打开文件开始,入口函数是avformat_open_input(),下面是对此函数的分析://参数ps包含一切媒体相关的上下文结构,有它就有了一切,本函数如果打开媒体成功,//会返回一个AVFormatContext的实例.//参数filename是媒体文件名或URL.//参数fmt是要打开的媒体格式的操作结构,因为是读,所以是inputFormat.此处可以//传入一个调...

2012-08-09 09:51:25 116

FFmpeg 移植 Android

  近期项目需要解析苹果的HLS流媒体协议,而FFmpeg从0.11.1“Happiness”版本开始,才增加了对HLS协议的支持。目前网上关于FFmpeg编译移植的文章有很多,但大多都是对旧版本的说明。新版本的源码对很多地方做了改动,包括一些变量名、常量名、函数名、函数参数、结构体等,所以在用旧版本的JNI接口时,需要相应地做出改动。这个编译移植工作确实花了本人不少时间,现在总结一下,希望能...

2012-07-27 17:12:11 170

Java网络连接之HttpURLConnection与HttpClient

        HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能:HttpURLConnection。        HttpURLConnection是java的标准类,HttpURLConnection继承...

2012-05-31 10:24:05 134

数据结构与算法笔试面试题收录

本篇收录了本人亲身经历的各大公司最新Data Structures and Algorithm面试笔试题及解题思路,持续更新,欢迎补充。 1. 给定一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么定义b是a的兄弟单词,例如单词army和mary互为兄弟单词。现在给定一个字典,用户输入一个单词,如何根据字典找出这个单词有哪些兄弟单词?要求时间和空间效率尽可能的高。【2012...

2012-05-10 16:03:42 419

单例模式(Singleton)在SQLite操作中的应用

       单例模式属于对象创建型模式,其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点。对一些类来说,只有一个实例是很重要的,比如最近我的一个Android项目中用到一个数据库管理类来封装SQLite读写操作。我们知道,SQLite对多线程支持并不是很好,如果两个线程同时操作数据库,会报 "Database is locked" 的错误。我想到的解决办法有两个:一是运用同步机制,...

2012-05-01 16:04:46 296

Java日历类Calendar的简单使用

    Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。     下面是Calendar 类的...

2012-03-22 13:09:00 94

Android 加载现有数据库文件

想把一个数据库db文件放在 res/raw/ 目录下,安装应用的时候就直接加载这个db文件到程序默认数据库目录下: /data/data/package_name/databases/db_name,这样就不用每次安装的时候都用SQL语句创建新的数据库。下面的代码就是将 res/raw/ 目录下的.db数据库文件拷贝到程序默认数据库目录下。 private String rootDi...

2012-03-21 22:03:35 194

用Dialog创建带箭头的对话框

很多应用中,在点击Button后,会弹出一个带箭头的对话框,指向这个Button。网上查了,很多人都说用PopupWindow可以实现,我对PopupWindow不熟,于是试着用Dialog实现。(需要注意的是:PopupWindow是一个阻塞式的弹出框,这就意味着在我们退出这个弹出框之前,程序会一直等待,这和AlertDialog不同,AlertDialog是非阻塞式弹出框,Aler...

2012-03-07 18:58:32 85

Android消息队列模型——Thread,Handler,Looper,Massage Queue

       Android系统的消息队列和消息循环都是针对具体线程的,一个线程可以存在(当然也可以不存在)一个消息队列(Message Queue)和一个消息循环(Looper)。Android中除了UI线程(主线程),创建的工作线程默认是没有消息循环和消息队列的。如果想让该线程具有消息队列和消息循环,并具有消息处理机制,就需要在线程中首先调用Looper.prepare()来创建消息队列,然后...

2012-03-07 09:17:36 214

浅谈Java平台与Android平台

       先说一说Java平台与Java语言的关系:        Java编程语言与Java平台是两个完全不同的概念。前者泛指一系列编程的语法,而后者包括前者,同时又超出前者的范围。一般而言,Java平台由三部分组成,分别为核心的Java API(包、框架及类库)、Java字节码(编译且可执行的形式)以及Java虚拟机(JVM,执行字节码的运行机制)Java语言只不过是Java平台中...

2012-03-06 13:46:15 145

原创 Android UI主线程与子线程

       在一个Android 程序开始运行的时候,会单独启动一个Process。默认的情况下,所有这个程序中的Activity或者Service(Service和 Activity只是Android提供的Components中的两种,除此之外还有Content Provider和Broadcast Receiver)都会跑在这个Process。        一个Android 程序默认...

2012-03-05 22:47:47 79

用Watij爬取网页内容

      最近一项目需要从某高校教务处网站爬取各教学楼的教室安排数据,网址为:http://202.114.5.131/index.aspx 。      用firebug监视,点击页面上的“查询”按钮后,发现请求url是被加密过的,无法获取。后经人指点,可用Watij (Web Application Testing in Java) 来模拟网页控件操作,获取数据。      Wati...

2012-03-03 12:51:31 113

MyEclipse设置编码格式

      在MyEclipse中imort项目后,发现个别类的中文注释全是乱码。想在Window --> Preference --> General --> Editors --> Text Editors --> Spelling 中的 Encoding 里设置,但是没有GBK的选项。发现其实通过Window进入是全局设置,如果需要对单个文件进行局部设置,可在P...

2012-02-29 14:18:17 54

原创 数组(Array)与ArrayList之比较

一、数组与ArrayList的主要区别:效率、类型识别和primitive type。数组(Array):最高效;但是其容量固定且无法动态改变;ArrayList:容量可动态增长;但牺牲效率;建议:首先使用数组,无法确定数组大小时才使用ArrayList!1.效率:数组扩容是对ArrayList效率影响比较大的一个因素。每当执行Add、AddRange、Insert、InsertRange等添加元...

2012-02-29 12:51:10 111

SVN服务器端安装与配置

1.下载Subversion并安装 到http://subversion.apache.org/下载最新版安装文件并安装,如装在C:\Program Files目录下2.创建版本库目录 建立一个空文件夹作为版本库目录,例如在D盘下新建SVN文件夹。 3.创建版本库 进入命令行,并切换到Subversion的bin目录,如C:\Program Files\Subversion\bin。执行命令svn...

2012-02-28 20:31:33 83

assets目录与res/raw、res/drawable目录的区别

assets目录与res下的raw、drawable目录一样,也可用来存放资源文件,但它们三者有区别,对比总结如下表:    assetsres/rawres/drawable获取资源方式:  文件路径+文件名       R.raw.xxx        R.drawable.xxx    是否被压缩:NONOYES(失真压缩)...

2012-02-26 22:44:22 233

Dialog向Activity传递数据

我们知道,从一个Activity向另一个Activity传递数据,用Intent实现。而当一个浮在Activity之上的Dialog需要向该Activity传递数据时,应该怎么实现呢?接着上一篇文章:[url=http://superonion.iteye.com/blog/1416808]用Dialog创建带箭头的对话框[/url]。 现在PopupDialog中声...

2012-02-22 21:11:06 142

原创 用Dialog创建带箭头的对话框

很多应用中,在点击Button后,会弹出一个带箭头的对话框,指向这个Button。网上查了,很多人都说用PopupWindow可以实现,我对PopupWindow不熟,于是试着用Dialog实现。        先选用一个带箭头的图片(pop.gif)做Dialog的背景,Dialog的布局文件如下:<LinearLayout xmlns:android="http://schemas.a

2012-02-22 20:01:50 1720 1

用Dialog创建带箭头的对话框

很多应用中,在点击Button后,会弹出一个带箭头的对话框,指向这个Button。网上查了,很多人都说用PopupWindow可以实现,我对PopupWindow不熟,于是试着用Dialog实现。(需要注意的是:PopupWindow是一个阻塞式的弹出框,这就意味着在我们退出这个弹出框之前,程序会一直等待,这和AlertDialog不同,AlertDialog是非阻塞式弹出框,Aler...

2012-02-22 18:25:22 116

空空如也

空空如也

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

TA关注的人

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