3
2010

编写最简单的NDK示例

写NDK应用,实际上是写JNI,就是java和本地应用的接口。先看看实现后的效果:

image

首先需要安装ndk,官方网址:

http://androidappdocs.appspot.com/sdk/ndk/index.html

下载然后解压缩到某个路径下即可。本文环境是mac osx。

设置路径,在以下文件:

vim ~/.bash_profile

设置:

export PATH=${PATH}:/Developer/android-sdk-mac_86/tools:/Developer/android-ndk-r4b

因为mac自带了gcc等开发环境。所以安装十分简单。

下面就是编写ndk项目了。首先编写一个普通的android项目。在activity中,有点儿特殊:

阅读全文 »

3
2010

mac下eclipse安装cdt

马上又要做c/c++开发了。在mac上搭建一下ide环境。还是用eclipse+cdt吧。

安装cdt。目前使用的eclipse是3.6(helios),在上面直接安装cdt 7.0。可以参见cdt链接(http://www.eclipse.org/cdt/)。

image

安装介绍:http://www.eclipse.org/cdt/downloads.php,安装链接:http://download.eclipse.org/tools/cdt/releases/helios

image

阅读全文 »

3
2010

在mac环境下配置android环境变量

解决mac中为图形界面程序设置环境变量问题中提到在maven中的配置,看了一下,android sdk tools路径的配置没记过。这里补充一下。

编辑或者创建文件:

vim ~/.bash_profile

在里面把tools路径加上:

export PATH=${PATH}:/Developer/android-sdk-mac_86/tools

 

然后,执行命令,让配置生效:

source ~/.bash_profile

测试一下:

adb devices

3
2010

自定义VideoView的演进

编写简单自定义VideoView中尝试编写自己的VideoView实现类。这样对VideoView的实现机制有了一个比较深入的理解。经过整理发现,其实要自定义需求,还真不一定需要重新自己的VideoView实现。在本文中将原来的CustomerVideoView的方法全部删除,并继承VideoView,发现功能上没有什么不能实现的。继承的CustomerVideoView最后其实只剩下继承来的构造方法,也就是说直接使用VideoView也没问题。

这次演进,实现了自定义的播放控制条:

image

这个播放控制条,实际是替代了编写简单自定义VideoView中的MediaController。这样就可以自定义各种样式和风格的控制条界面了。

阅读全文 »

1
2010

编写简单自定义VideoView

简单定制VideoView中做了简单的VideoView定制,其实就是在布局上做了一些事情。要向更灵活的定制播放器的行为,必须写自己的VideoView。参考android VideoView源代码,写了个最简单的实现。

看起来和简单定制VideoView中的效果差不多,但是还有很多逻辑没有加进来,比如:

  • 视频大小有问题,被拉长了,需要在后续版本中改进;
  • 还没有加入MediaController,没有前进、后退、暂停等按钮界面。

阅读全文 »

31
2010

简单定制VideoView

在播放视频前增加等待画面和进度提示中实现了简单的播放器,最近将逐渐演进,成为名副其实的定制版本播放器。本文做一个简单的定制,实际还没有动VedioView类,只是在布局上为播放器增加一些外围的信息提示。算是定制的热身运动。

效果:

image image

通过相对布局,在加载的时候提示loading字样的文字,在加载到视频后,提示片名,当前时间,片子的时长和当前播放的时长。

阅读全文 »

30
2010

在mac环境下获取android源代码

首先,安装git。我是通过HomeBrew安装git的。安装HomeBrew见安装和使用HomeBrew

安装git的命令:

brew install git

然后,通过git下载android源代码:

git clone git://android.git.kernel.org/platform/frameworks/base.git

30
2010

安装和使用HomeBrew

在ubuntu下使用惯了apt,在mac下,有MacPorts,但是有个问题,就是会强制安装很多重复的东西,MacPorts不会使用Mac机器上已经有的。

现在可以安装HomeBrew,它会检查本地是否有所需的工具,如果没有才下载编译安装。

安装过程很简单:

ruby -e "$(curl -fsS http://gist.github.com/raw/323731/install_homebrew.rb)"

HomeBrew是ruby脚本,但是mac下不需要安装ruby解释环境,系统自带了。

安装好后,可以:

brew –v

通过检查homebrew版本确认是否安装成功。

使用homebrew安装wget:

brew install wget

27
2010

在播放视频前增加等待画面和进度提示

Android可以通过VideoView很方便的实现在线视频部分,可参见调用android api播放视频,不过该例子中的在线视频已经无法访问了。可使用这个源代码(实现了最简单的在线播放):

http://easymorse.googlecode.com/svn/tags/videoplayer-0.1/

在线播放,可能需要等待片刻才能开始,或者有些客户需要在用户观看视频前看一下广告。比如:

image

然后:

image

阅读全文 »

25
2010

配置嵌入式的Activemq服务

activemq提供了嵌入式的服务,即在一个JVM内部使用jms服务。我们用它来做异步发送消息。

JMS自身没有提供异步发送消息的机制,只能同步发送消息。这带来一个问题,比如外部(远端)的JMS服务器因为各种原因无法工作,那么发送消息的应用可能也连带的无法工作,这时消息会丢失。

可以使用activemq的嵌入式的服务,先同步发送消息到本地(嵌入式activemq服务),然后再用一个接收线程接收本地消息,发送到远端的JMS服务,这样即使远端JMS服务失效,消息也不会丢失,当远端服务器恢复后还能继续收到消息。

阅读全文 »

第1页,共68页12345678910»...后 »