自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

愷风(Wei)的专栏

使用工具、了解工具、创造工具……

  • 博客(16)
  • 资源 (25)
  • 收藏
  • 关注

翻译 VisionMobile:命运反转:让设备兼容应用

原文地址:Flip of fortunes: making devices compatible with apps,发表日期2014.3.12曾几何时,开发者努力使他们的应用兼容设备。而现在,设备制造商努力使手机和平板兼容应用。亚

2014-03-28 14:45:37 1904

原创 Pro Android学习笔记(八一):服务(6):复杂数据Parcel

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/在之前的StockQuote远程服务的接口中的方法为double getQuote(String ticker);。在远程服务中的方法的数据类型支持原始类型(primitive),如int这类的;支持String、CharSequence;

2014-03-27 12:45:28 8173

原创 Pro Android学习笔记(八十):服务(5):访问远程服务

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/和Local service不同,remote service可以被其他进程,即其他应用所调用。Client的AIDL文件在onBind()中将stub对象返回给client,client对stub对象的操作,就如同操作service的

2014-03-19 17:38:34 3544 1

原创 Pro Android学习笔记(七九):服务(4):远程服务的实现

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/在上一学习中,我们已经用AIDL定义了Remote Service对外暴露的接口。在编译时,系统会根据AIDL自动生成接口的java文件IStockQuoteSerivce.java,在这个文件中,定义了IStockQuoteService

2014-03-19 17:37:48 3503

原创 公开课读书笔记:无所不在的移动通信(4):畅想未来的移动通信

公开课地址:http://v.163.com/special/cuvocw/yidongtongxin.html畅想未来的移动通信从3G看趋势,4G并不遥远和5G路在何方来谈。3G身在其中,毋庸多谈。随着3G无法满足人们移动上网的通信需求、作为标准不同意的区域性通信系统,以及智能化仍需提供,引发的4G的需求。2005年10月,ITU正式将B3G/4G移动通信统一命名为IMT-Advance

2014-03-18 12:48:54 3647

原创 Pro Android学习笔记(七八):服务(3):远程服务:AIDL文件

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/Remote Service在之前的学习笔记 Android学习笔记(五三):服务Service(下)- Remote Service中介绍过。远程服允许行其他应用调用,及允许RPC(remote procedure call)。在An

2014-03-15 16:15:03 3119 1

原创 Pro Android学习笔记(七七):服务(2):Local Service

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/Local Service的目的是更容易实现后台任务。下面是一个简单的小例子,通过一个activity请求服务和关闭服务。实际上应用中任何的component都可以使用服务,如activity,service,普通的java类。Cl

2014-03-13 20:16:03 4877 1

翻译 VisionMobile:2014年Q1移动开发者经济报告(十六)5.1、 SDK盒子有什么

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/5.1、 在SDK盒子有什么工具是应用开发者有力的武器库。开发者生存和繁荣需要商务和技术的支持,平台厂商仅提供了很小的可用部分。我们以前的研究指出开发者工具的使用和开发者收入高低相关。我们同样发现更有经验开发者更频繁使用第三工具和服务,

2014-03-08 12:28:15 3005

翻译 VisionMobile:2014年Q1移动开发者经济报告(十五)5、开发者工具:更好、更快、更多

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/5、开发者工具:更好、更快、更多参与竞争的应用开发者无需重新发明轮子:第三方开发者工具和服务可帮助开发者更进一步、事半功倍。从云存储(Dropbox,Amazon S3)和后端服务(Parse,StackMob),到货币化(AdMo

2014-03-08 12:28:01 2673

翻译 VisionMobile:2014年Q1移动开发者经济报告(十四)4.2、 收入揭示阶级不平等

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/4.2、 收入揭示阶级不平等移动平台帮助开发者实现货币化的能力一直持续都是个问题,不仅是因为单个量度无法揭示整个真相。一致看法是使用iOS。在我们的《应用经济预测报告2013-2016》中,我们预测Android生态系统产生的总收入将在

2014-03-08 12:27:50 2383

翻译 VisionMobile:2014年Q1移动开发者经济报告(十三)4.1. 应用即产品 vs 应用即渠道

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/4.1. 应用即产品 vs 应用即渠道随着应用经济的成熟,商务模式开始复杂起来,有两个主导的商务模式:•  应用即产品,通过下载支付,应用内购买,与合同开发,要求直接货币化。•  应用即渠道,通过跨应用推广、品牌推广与电子商务,

2014-03-08 12:27:38 2153

翻译 VisionMobile:2014年Q1移动开发者经济报告(十二)4、金钱在哪里?

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/4、金钱在哪里?智能手机销量从零到十亿级别,呈指数增长,为各形各式的开发者和组织创造了机会:大量的成功应用由车库创业者以及软件工场创建。这以及移动开发进入门槛低,吸引了十万计开发者进入应用生态系统。除了一些开发者表示“不是为了钱”(在我

2014-03-08 12:27:25 2424

翻译 VisionMobile:2014年Q1移动开发者经济报告(十一)3.5、平板的王者

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/3.5、平板的王者我们的研究表明在智能手机和平板中,开发者的平台选择有着重大不同。在以智能手机为主要目标的开发者中,有40%选择Android作为主要平台,而31%选择iOS。相反,在以平板为主要目标的有52%优选iOS,而Androi

2014-03-03 21:39:59 2766

翻译 VisionMobile:2014年Q1移动开发者经济报告(十)3.4、屏幕的长尾

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/3.4、屏幕的长尾尽管有很多声音围绕着手表、电视和温度调控器,智能手机仍是应用开发者在可预见未来的主要目标。智能手机庞大的销量和用户群使得其他屏幕都是小众市场。平板更多地作为“同伴”开发选择,吸引了83%的应用开发者,但只有12%的开发

2014-03-03 21:39:27 2028

翻译 VisionMobile:2014年Q1移动开发者经济报告(九)3.3、平台忠诚度的问题

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/3.3、平台忠诚度的问题平台优先级是开发者忠诚度的指标。我们对7000+名移动开发者的研究发现iOS的开发者忠诚度最高,以iOS为目标平台的开发者中有59%将之作为首选平台,与我们在2013年Q3的研究持平。从商务角度看这是有道理的:尽

2014-03-03 21:39:01 2774

翻译 VisionMobile:2014年Q1移动开发者经济报告(八)3.2、谁是你的同伴平台

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/3.2、谁是你的伴侣平台我们生活在多平台世界中。当开发者开发了一个成功应用,为何要将市场局限在单个平台,你可以在多个平台中得到好的回报。以规模化和全球覆盖为目标的组织需要不止单个平台,只是iOS或者只是Android对于预算紧张的创业公

2014-03-03 13:46:10 2416

Pro Android学习:联系人API

Pro Android学习系列中的传感器小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2015-06-15

Servlet速成学习

跟踪http://edu.51cto.com/course/course_id-1774.html学习,在代码上做笔记,可算是速成学习完servlet

2015-03-20

Pro Android学习:传感器

Pro Android学习系列中的传感器小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2015-02-06

[zip文件] Pro Android学习:拖拽小例子

Pro Android学习系列中的拖拽小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-12-12

Pro Android学习:touch screen小例子

Pro Android学习系列中的Touch Screen小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-11-18

Pro Android学习:list widget小例子

Pro Android学习系列中的List Widget2小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-10-23

Pro Android学习:widget小例子

Pro Android学习系列中的Home Screen Widget小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-10-15

Pro Android学习:media frameworks小例子

Pro Android学习系列中的media frameworks小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-09-30

[zip文件] Pro Android学习:telephony小例子

这是Pro Android学习系列中Telephony API部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-09-16

Pro Android学习:location小例子

这是Pro Android学习系列中location部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-08-27

Pro Android学习:2D动画小例子

这是Pro Android学习系列中2D动画部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-08-14

Pro Android学习:Alarm manager小例子

这是Pro Android学习系列中alarm manager部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-07-18

Pro Android学习:Broadcast小例子

这是Pro Android学习系列中Broadcast部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-07-01

Pro Android学习:AsyncTask小例子

这是Pro Android学习系列中AsyncTask部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-05-16

Pro Android学习:了解Handler小例子

这是Pro Android学习系列中Android Service部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-05-08

Pro Android学习:了解package的小例子

这是Pro Android学习系列中了解package部分的例子源代码。包括通过共享UserID实现资源共享,以及lib项目

2014-04-18

Pro Android学习:Android service小例子

这是Pro Android学习系列中Android Service部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-03-27

Pro Android学习:Http service小例子

这是Pro Android学习系列中http service的例子源代码。

2014-02-10

Pro Android学习:permission例子

这是Pro Android学习系列中permission部分的例子源代码。

2013-12-19

Pro Android学习:Preference(首选项)小例子

这是Pro Android学习系列中preference部分的例子源代码。

2013-12-04

Pro Android学习:ActionBar小例子

Pro Android学习系列中的action bar小例子。

2013-11-07

Pro Android学习:Dialog小例子

这是Pro Android学习dialog部分的例子源代码。

2013-10-30

Pro Android学习:Fragment

这是Pro Android学习Fragment部分的例子源代码。

2013-10-25

Pro Android学习:Menu

是Pro Android学习笔记Menu系统的例子代码

2013-09-29

NTLM PPROXY client的实现(C source code)

HTTP PROXY中NTLM的客户端的C源代码。包含相关的DES等算法在内。Base64的算法,是通过网上共产主义获取,MD4,MD5,HMAC MD5的算法是RFC中提供的,其余的可以根据下面链接的步骤进行编写。我提供一个源代码的例子。其中arith_开头的相关算法,httppc_ntlm是 NTLM的type1、type2、type3消息的应答构成,test_httppc_connect是一个测试的例子,里面没有main函数,但是另外构造一个main函数,在wei_set_proxy_info之后,调用wei_httppc_connect就可以了。详细见http://blog.csdn.net/flowingflying/archive/2009/03/03/3952796.aspx 有朋友说少了头文件,我查了一下,不好意思,少了md.h。请参考下面。 /* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD4 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD4 Message-Digest Algorithm" in all material mentioning or referencing the derived work. RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. These notices must be retained in any copies of any part of this documentation and/or software. */ #ifdef __cplusplus extern "C" { #endif #ifndef WEI_MD_H #define WEI_MD_H #ifndef IN #define IN #endif #ifndef OUT #define OUT #endif /************************************ 算法:MD4和MD5 *********************************/ //从RFC1320 The MD4 Message-Digest Algorithm的附录 //从RFC1321 The MD5 Message-Digest Algorithm的附录 /* PROTOTYPES should be set to one if and only if the compiler supports function * argument prototyping.The following makes PROTOTYPES default to 0 if it has not * already been defined with C compiler flags. */ #ifndef PROTOTYPES #define PROTOTYPES 0 #endif /* POINTER defines a generic pointer type */ typedef unsigned char * POINTER; /* UINT2 defines a two byte word */ typedef unsigned short int UINT2; /* UINT4 defines a four byte word */ typedef unsigned long int UINT4; /* PROTO_LIST is defined depending on how PROTOTYPES is defined above.If using PROTOTYPES, * then PROTO_LIST returns the list, otherwise it returns an empty list. */ #if PROTOTYPES #define PROTO_LIST(list) list #else #define PROTO_LIST(list) () #endif /* MD4 context. */ typedef struct { UINT4 state[4]; /* state (ABCD) */ UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */ unsigned char buffer[64]; /* input buffer */ } MD4_CTX; void MD4Init PROTO_LIST ((MD4_CTX *)); void MD4Update PROTO_LIST ((MD4_CTX *, unsigned char *, unsigned int)); void MD4Final PROTO_LIST ((unsigned char [16], MD4_CTX *)); /* MD5 context. */ typedef struct { UINT4 state[4]; /* state (ABCD) */ UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */ unsigned char buffer[64]; /* input buffer */ } MD5_CTX; void MD5Init PROTO_LIST ((MD5_CTX *)); void MD5Update PROTO_LIST ((MD5_CTX *, unsigned char *, unsigned int)); void MD5Final PROTO_LIST ((unsigned char [16], MD5_CTX *)); #endif #ifdef __cplusplus } #endif 因为我没有认真地打包封装,而是从我的一个project中抽出了,有些遗漏,请大家原谅。今天又有网友来问PRIVATE在哪里定义。因为代码不在手头的机器上,没法仔细看,PRIVATE的定义如下 #define PRIVATE 定义为空,这是模仿C++的private,说明这个函数不会被其他文件引用,只用于本文件。 最近又收到网友的来信,说少了几个util文件。这个是不在ntlm的算法中,而是在验证例子test_httppc_connect.cpp中使用。查了一下,我确实没有放到网上。汗啊,因为验证例子是从某个程序中抽取出来,里面包含一个很简单的http的解析。我本来想update资源,没有找到 update的方法。需要说明的是这部分和真正的算法没有直接关系。放在这里,太长了,如果需要的网友,请到http://blog.csdn.net/flowingflying/archive/2009/03/03/3952796.aspx 那里下载。

2009-03-16

空空如也

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

TA关注的人

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