- 博客(48)
- 资源 (2)
- 收藏
- 关注
原创 手机APP原型(prototype)设计工具Balsamiq Mockups
找了很多手机APP原型设计工具,目的把APP的concept表达出来,相关于实现一个简单的交互设计,然后再交给美图设计师去优化,我用google搜索了一堆APP设计工具,用完后还是觉得Balsamiq Mockups工具简单实用(http://balsamiq.com/),很容易把idea的交互流程表达出来
2013-12-28 09:38:16
7770
1
原创 有线电视网技术科普
一、通信相关技术: 调制技术:QAM、QPSK、VSBTDS-OFDM(国标地面) 复用技术:空分、频分、时分、码分 交换技术:电路交换,分组ATM、IP 抗衰落技术:电平储备、功率控制、分集、均衡技术、交织编码等 通信协议:物理层、链路层、网络和传输层等典型:ATM快速分组交换、IP、MPEG-2 的TS流其它的:数字复接技术 PDH/SDH。。
2013-11-17 10:27:35
3252
原创 非常实用一段Android NDK编译脚本用于编译C/C++文件
作用: 1.遍历C/C++源文件中的每个目录2.再遍历每个目录下的C/C++文件,加入到LOCAL_SRC_FILES3.include需要引用的头文件目录4.链接必须的lib文件5.生成动态/静态库LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := dlnaAPP_SUBDIR
2013-11-12 19:51:05
3713
原创 互联网视频的统计术语及定义
一、播放统计术语定义:1. 总用户数: 打开过应用的用户累计量2. 新增激活用户: 当日新增用户,取当日新发送guid个数 3. 日活跃用户: 当日打开过应用的用户,取当日guid distint后的值,含新增激活用户4.日活跃度: 日活跃用户/总用户数 * 100% 6.日播放活跃度: 日播放用户/总用户数 * 100%5.日播放用
2013-10-26 21:34:24
3649
原创 折腾手机应用的几点感悟
手机应用(小团队负责)无需过多智囊团介入,因为互联网是一个开放平台,拥有全球牛人的智慧,可以google出很多成熟的经验加以借鉴。小团队是以自组织管理模式为主,向自己的产品负责采用平台自身成熟的技术实现基础组件功能,规避产品化过程中的风险,不能停留在以往做机的经验上去复用以前沉淀的代码模块重点放在业务和解决用户反馈的体验问题,架构和性能需要平衡,而不是为了技术而技术,因为此一时彼一时,如今的开发有
2013-04-24 13:20:08
2661
原创 基于Linux电视棒实现DLNA和airplay功能
出发点:Android电视棒实现DLNA功能采用JAVA版本的cyberlink的话,缺点明显,SSDP协议设备发现有延时(有时还发现不了设备)体验差,基于Linux电视棒可以控制硬件成本在100元以下,而且c语言实现的cyberlink DLNA协议栈不存在设备发现不了的情况,本文记录记录linux下实现dlna碰到的一揽子问题1. DLNA的DMR方案方案1: MediaGateFor
2013-01-12 16:30:31
47506
2
原创 小米盒子被禁-多屏互动标准Wifi Display可以解救小米之痛
Wifi 联盟推出了新的标准miracast,以前叫wifi display, 直接把手机屏/平板屏幕映射到电视上去。
2012-11-25 21:41:37
9765
原创 记录一下开源DLNA协议栈(cyberlink for java)在android平台实现的Media Renderer为什么发现不了
出发点: DLNA/UPnP协议栈很多,cyberlink for java (sourceforge上有下载)的优点:简单实用,缺点是效率低,有几处致命的bug目的: 解决cyberlink实现的dlna 播放器/服务器为什么不能被其它控制点发现的问题,为什么选择媒体服务器中的媒体文件播放不了?实践: Media Renderer实现的SSDP协议需要周期性的发组播包,告诉局域网内的其它
2012-09-01 23:37:57
12105
2
原创 探讨一下Android平台的视频类应用开发的技术研究点
Android应用开发一般会把UI和数据分离,分为应用侧(关注的是整个应用的性能),UI侧(主要是界面展现) 数据逻辑侧(主要是和后台交互的API封装),如果是视频类应用的话,android自带的播放器缺点明显,需要实现软解和硬解的结合。应用侧1 视频内容的补充2. 基于Android和java提供的性能测试工具优化整体的性能(traceview,findbugs等)UI侧1.
2012-05-08 23:47:23
4011
2
原创 基于开源项目acra实现的定制化Android crash上报库及后台系统
出发点: 开源的acra crash上报库(http://code.google.com/p/acra/)的缺点有: 1. crash上报到google doc里的话,由于被墙了,所以看不到数据。 2 如果基于邮件上报crash的话,不方便统计crash崩溃率。3. acra上报的字段过多,需要过滤一些没用的字段。目的:当Android应用程序崩溃时,可以及时通过浏览器查看到崩溃的堆栈信息,同
2012-03-26 22:55:10
13818
2
原创 C++的JSON库及使用方法
VC没有自带的JSON库,所以分享一下如何使用该库http://download.csdn.net/detail/moruite/41047041. json.h头文件包含了如下API#ifndef CPPTL_JSON_H_INCLUDED# define CPPTL_JSON_H_INCLUDED# include "forwards.h"# include # include
2012-03-01 23:10:34
69682
4
原创 分享一段用VC调用默认打印机打印菜单的程序
1. 获取默认打印机名称BOOL GetDefaultPrinter(LPTSTR szPrinterName, int nPrintNameBufferLen) { *szPrinterName = 0; CPrintDialog pd(FALSE); if (pd.GetDefaults()) { if (pd.m_pd.hDC)
2012-03-01 22:52:50
6940
原创 基于XMPP搭建手机聊天应用
出发点: 我不赞同手机应用会走PC机基于浏览器的路线,手机基于html5可以实现很多Web APP,但是一般还是以WebView方式去实现一个应用并以一个图标作为入口而不是通过输入网址,所以手机应用很方面潜入IM功能获取到实时的交互信息。实践过程: XMPP服务器端采用开源的openfire+sqlserver 2005, 手机端Android基于asmack库,ios基于object-c的x
2012-02-26 22:59:05
4938
原创 Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性
出发点:Android系统本身是支持多种分辨率的,如图1所示,一般情况下要适配不同尺寸的设备只需要做两件事,1. 根据4种不同的屏幕尺寸提供4套UI布局(layout)。 2. 根据4种不同屏幕像素密度(单位英寸的像素值)提供4套界面元素的图片。图1 Android屏幕分类而实际应用合并过程中存在的问题是:同一个应用对应的手机和平板界面设计是完全不一样的,如何根据屏幕的大小来决定提
2012-02-21 22:17:16
22164
7
原创 Android中http交互是用HttpUrlConnection还是AndroidHttpClient好呢?
下面是作者Tim Bray给出的答案Which client is best?Apache HTTP client has fewer bugs on Eclair and Froyo. It is the best choice for these releases.For Gingerbread and better, HttpURLConnection is th
2011-11-02 13:29:24
3998
原创 在线视频网站的多终端平台应用开发研究
摘要:目前在线视频网站做的事情不外乎就是占领三块屏(PC机,手机,电视),PC机这块屏的市场正在接近饱和,手机这块屏(平板也算是放大版的手机)主要是通过开发不同平台的应用来占据一席之地,要把互联网视频搬到电视这块屏上去相对比较难, 通常的方法有三种,第一种方法是和拿到互联网牌照的
2011-07-06 22:57:42
3565
2
原创 移动互联网创业方向的思考(绕过腾讯和华为等大公司的战场,打造新型的餐饮平台)
IT行业普遍认为移动互联网处于黄金期,是这个行业的第4波创业浪潮,在我看来移动互联网就是传统互联网运营方式的延伸,最近相继上市的互联网公司运营的内容其实都是以PC用户为主,而真正以运营移动终端独特应用(如LBS,NFC手机支付等)的互联网公司几乎没有传出要上市的新闻。 做什么好呢? 我觉得需要避开大公司的移动互联网战场,从他们的交叉领域找到合适创业的发力点,先分析下移动互联网的组成要素,不外乎是后台+终端,(也就是很多公司炒的端到端解决方案,一站式服务等),这里相应的比较典型的大公司腾
2011-05-26 00:41:00
3820
4
原创 Android的一段常用动画效果代码(如何让点击的图片控件加速飞入到指定位置)
Animation的实现很多时候是通过xml资源去布局各种效果的,如果效果是动态变化的呢,比如我点击的图片位置是变化,需要飞入到一个指定的位置,下面分享我一段简单实现的代码:mGridView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {
2011-05-25 23:06:00
9619
2
原创 通过Android平台移植魂斗罗游戏来阐述下jni的用法(把魂斗罗游戏嵌入到FC游戏模拟器里,省去了SD卡加载ROM)
出发点: 传统的游戏模拟器(FC,neo,fba,gba,mame,n64,nds,psp)都陆陆续续移植到Android手机里了,然后把游戏ROM保存到SD卡里通过模拟器运行,但是考虑到手机游戏要遵循快进快出的原则,所以我在此基础上实现了如下几点微创新1. 直接把游戏ROM放在Android的APK里,点击应用就开始游戏,省去了通过文件浏览器查找游戏的过程。2. 通过插值算法把游戏画面放大到支持Android平板分辨率3. 充分利用手机重力感应器的独有特性(相对于其它两块屏,PC显示器和电视),通过手机s
2011-05-10 23:45:00
5790
4
原创 如何定制化Android的播放器(VideoViewEx.java,MediaControllerEx.java,模仿RockPlayer的界面)
IntroductionCustomized Player-This article interpret how to implement a customized video player instead of the UI of android’s MediaController and how to handle error of android’s MediaPlayer to enable it continue replaying from the last position after res
2011-04-27 00:27:00
6764
7
原创 数字家庭的创新思考(如何屏蔽众多互联互通协议(DLNA,IGRS,e家佳,OSGi等)的差异性)
互联互通协议的共性是要解决如何发现设备(SSDP协议等),获取设备有些什么能力(也就是能提供些什么服务),如何控制、协调和使用各自设备上服务,如何屏蔽这些标准之间的差异性,提供基于应用层之上的overlay协议栈 1. 闪联协议原理2.dlna原理术语:DLNA: Digital Live Network Alliance, 资源共享协议标准以实现设备之间互联、互通和互操作功能 MS:
2011-04-18 20:49:00
3666
原创 最近关于物联网模块创新方面的思考(如何让物联网真正落地生根)
摘要:随着无线网络(2.5G/3G/WI-FI)覆盖面的逐渐蔓延,是该考虑如何解决众多非智能终端入网成本问题的时候了,目前常用的物联网模块的解决方案基本上是CPU(单片机,ARM,MIPS等)+无线通信模块(华为、中兴、Simcom、sierra等)的模式,CPU负责通信协议的逻辑处理,无线模块负责数据的收发,如何去掉CPU成本而直接利用通信模块的处理能力来提供一套完整的物联网标准API,我的实现想法如下:...
2011-04-16 14:01:00
1644
原创 如何基于nand flash启动Linux内核(分享一段实用、简单、类似bootloader功能的代码)
基于OS的电子类产品通常会把kernel烧到norfash里,因为可以按字节进行读写,但是norflash的价格要比nand flash的价格贵,而且nand flash是基于块读写的,如一次性读写512字节(block).如果是MLC的nand flash是按页读取的,一页差不多有4K byte, 那如何基于nand flash启动内容呢? 这里的实现步骤如下:1. 目前部分nand flash controller芯片会默认把nand flash的第0块中的第0页内容读到controller的buffe
2011-04-13 23:37:00
3186
原创 解决Android平台移植ffmpeg的一揽子问题
IT行业是一个踩在巨人肩膀上前进的行业,否则做的事情不一定有意义,所以我也是基于havlenapetr移植的ffmpeg基础上做了些改进,他做的主要贡献有:1. 移植了ffmpeg并将与媒体相关的结构体在java层重新进行了封装,方便应用程序在java层直接操作ffmpeg API,如各种媒体格式转码及播放2. 模仿Android的MediaPlayer类实现了ffmpeg的播放接口,如setDataSource(),setDisplay(),start(), stop(),pause()等,缺点是没有实现
2011-04-06 23:49:00
38344
165
原创 一段简单的Linux线程池代码
<br />实现web server时,通过创建一个线程池来并发处理客户端的http请求,代码如下:<br /> <br /> for(i = 0; i < THREAD_POOL_SIZE; i++) { pthread_create(&thread_pool[i], NULL, (void*)&worker, (void*)i); pthread_detach(thread_pool[i]); }<br /> <br />线程并发处理如下:<br />void* worker(int
2011-04-06 22:48:00
1881
原创 Linux程序的常用信号中断捕获代码
<br />Linux程序经常需要捕获一些中断信号,如按下CTRL+C就会触发SIGTERM信号等,<br />if (atexit(&cleanup)) //atexit现在不鼓励用了,常用来做程序退出的后处理工作 { fprintf(stderr, "cannot set exit function/n"); return EXIT_FAILURE; } signal (SIGINT, &catch_int); signal (SIGTERM, &catch_term);
2011-04-06 22:25:00
3159
原创 利用OpenSSL生成的私钥、公钥和证书,用来验证文件是否被修改
私钥格式:-----BEGIN RSA PRIVATE KEY-----Proc-Type: 4,ENCRYPTEDDEK-Info: DES-EDE3-CBC,9F1B06DE4A9C9270LIM0SMeBTPJ2+2Qgpk0hhowbEK+YwkPr1SdRpVFIEGe4c4rlUXbN/byHuVGat3vAtux730350dYKFjMWgg+mczjNkSgWHDnooGWHXGrs0nAd8nrP+39y0C+rG0VGu0k1NsWwC+d6cOJOZ4UP3H7
2011-04-06 22:16:00
5601
1
原创 分享一段uCosII下多任务处理代码
<br />启动一个任务:<br />osTaskCreate("HISTOGRAM", hisTask, (void *)2048, (void *)(&hisTaskStack[2047]), 60);<br /> <br />任务实现代码:<br />void hisTask(void *pdata){ UINT32 osdW, osdH; osdW = PANEL_1_OSD_W; osdH = PANEL_1_OSD_H; while(1) {
2011-04-06 22:02:00
1926
原创 如何写Makefile编译汇编和C文件
有些场景下编译的程序是不能依赖OS和标准的C库的,并且需要C和汇编混合编译,如bootloader程序,就需要制定参数-nostdlib,这样的Makefile如下所示:all:<br /> arm-linux-gcc -O2 -Wall -nostdlib -march=armv4 -Wl,-T,ipl.lds uart.c ipl.c nfc.c nand.c sha1.c arm.s -o ipl.exe<br /> arm-linux-objcopy -Obinary ipl.exe ipl.bin
2011-04-06 21:46:00
4435
原创 单片机(不基于os)下如何实现简单的内存管理(malloc,realloc和free函数的重新实现)
实现的原理是将内存分成小的片段进行管理,代码如下:#define MEM_BLOCK_SIZE 4096#define MEM_LARGE_BLOCK_THRESHOLD 40960 //>MEM_LARGE_BLOCK_THRESHOLD :requested size is large block #define MEM_BASE_ADDRESS (0x90000000)#define MEM_ALLOC_TABLE_FIRST_ENTRY 0
2011-04-06 21:34:00
7421
2
原创 分享一段Android基于https协议POST数据的代码
<br />public class HttpUtils { private static final String LOG_TAG = ACRA.LOG_TAG; private static final TrustManager[] TRUST_MANAGER = { new NaiveTrustManager() }; private static final AllowAllHostnameVerifier HOSTNAME_VERIFIER = new All
2011-03-31 14:41:00
7247
1
原创 小区停车系统的终端模块
<br />整个停车系统由前端(数据库+VC界面)和终端(单片机)组成,通信方式是基于RS485。<br /><br />
2011-03-28 23:11:00
1672
原创 基于Linux搭建一个类似Qik手机录像直播平台(服务器端:feng streaming server + web server,客户端:Android手机应用)
<br />一、服务器端<br /><br /> 基于Feng开源的流媒体服务器增加一个Web server,用来接收客户端上传的视频数据,然后通过RTSP/RTP直播到手机终端上去<br /><br />二、客户端应用<br /><br /><br /> 1. 介绍<br />客户端应用主要是基于Android平台的,把手机录像的视频数据打包成flv(h264+aac)格式上传到feng流媒体服务器上,用户就可以通过web浏览器或者其它播放器实时的观看手机录像画面,下一个版本将会增加监控画面分
2011-03-24 21:33:00
5060
4
原创 2011年Android产品趋势
<br />根据Top Android trend 2011(http://www.theandroidphone.com/top-android-trends-2011-98725/)的描述,2011年Android的发展趋势主要有以下几点:<br />1. 基于Android的网络电视机顶盒会成长起来,除了能获取网络电视外,还支持通过Tunner获取DVB-C/T传统电视节目。<br />2. 一个应用会覆盖到基于Android的不同产品里,以后智能设备(冰箱,电视,手机,照相机,打印机,汽车等)都有可
2011-03-04 23:10:00
1230
原创 Android 3.0新亮点,新机会
摩托罗拉基于Android3.0的平板电脑xoom已经在淘宝上开卖了,LG Otimpis Pad也搭载了3.0,以后国内的平板厂商估计也会陆陆续续升级到Android 3.0了,那平板操作系统和以前手机操作系统(1.1-2.3)有什么区别呢,在Android 3.0 Platform Highlights (http://developer.android.com/sdk/android-3.0-highlights.html)中列出了具体新增的亮点,总结起来主要有以下几点:1. 新增UI组件方便开发大尺
2011-03-03 20:03:00
1675
2
原创 图片的cache处理时出现内存溢出(OutOfMemoryError, OutOfMemory)的解决方法
<br />在Android应用开发过程中,经常要对图片做cache处理,比如从网络上下载图片后保存到sd卡里,然后放到HashMap<String,Bitmap>里同过ListView显示,当HashMap里的图片很多时就会造成内存溢出的问题,网上的解决方法大多是要求显示的调用Bitmap的recycle()方法释放内存,但是Android官方网站上是不鼓励调用recycle()方法的,而是由GC去做垃圾回收,通过测试,由于HashMap存放的图片并不是顺序存放的,很容易释放掉ListView中正在显示的
2011-02-12 17:55:00
6741
2
原创 分享一段H264视频和AAC音频的RTP封包代码
1. H264视频的RTP封包static int h264_parse(Track *tr, uint8_t *data, size_t len){ h264_priv *priv = tr->private_data;// double nal_time; // see page 9 and 7.4.1.2 size_t nalsize = 0, index = 0; uint8_t *p, *q; if (priv->is_avc) {
2010-12-28 14:29:00
13468
4
原创 通过tcpdump/wireshark工具分析Android平台上现有的直播技术
要解析Android手机上电视直播协议,可以通过工具抓包查看现有的直播应用,如凤凰卫视,手机电视,主要的方法有:1. 在Android 模拟上安装直播应用,通过wireshark工具抓包查看都是基于什么协议,如RTSP/HTTP优点:在windows下通过有界面的wireshark抓包工具较容易操作缺点: Android模拟器资源有限,无法正常播放2. 在Android手机上安装tcpdump抓包工具,将log信息保存到sdcard上updating...
2010-12-24 00:30:00
17012
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人