自定义博客皮肤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)的专栏

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

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

原创 Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner

GridViewGridView是网格状布局,如图所示。在了解ListView后,很容易了解GridView。下面是例子的XML文件。 xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/ui_grid"     android:layout_width="ma

2013-08-30 21:53:06 5784

原创 Pro Android学习笔记(十九):用户界面和控制(7):ListView

ListView控件以垂直布局方式显示子view。系统的android.app.ListActivity已经实现了一个只含有一个ListView的Activity,并通过setListAdapter()方法来管理adapter。我们可以通过扩展ListActivity来实现。我们要在整个屏幕上显示ListView,我们直接继承使用ListActivity,不需要在定义自己的layout XML

2013-08-30 21:52:50 4970

原创 Pro Android学习笔记(十八):用户界面和控制(6):Adapter和AdapterView

AdapterView不仅仅是UI,同时还将数据关联到UI上,例如在手机中经常使用的ListView就是AdapterView。ListView、GridView、Spinner和Gallery都是AdapterView,AdapterView是ViewGroup,也就是容器,含有多个UI布局相同的子view。对于AdapterView,通过adapter将数据映射到子View中,一个Ad

2013-08-24 10:24:36 9215 11

原创 Pro Android学习笔记(十七):用户界面和控制(5):日期和时间控件

DatePicker和TimePicker控件使用DatePicker和TimePicker,故名思议,用户可以对时间进行选择。XML代码如下:         DatePicker android:layout_width="wrap_content"        android:layout_height="wrap_content"

2013-08-21 22:28:57 4983

原创 Pro Android学习笔记(十六):用户界面和控制(4):ImageView控件

ImageView是基础的控件,它是android.widget.ImageView的继承类。XML片段     ="wrap_content"        android:layout_height="wrap_content"         android:orientation="horizontal">                ImageVie

2013-08-19 21:00:49 4621

原创 Pro Android学习笔记(十五):用户界面和控制(3):Button控件

基础ButtonButton是最常用的基础控件之一,在Android中是TextView的继承类。在上面衍生ImageButton和ToggleButton,我们将逐一介绍。小例子如图。基础Button我们将主要介绍按键触发的方式。代码如下:Button bt = (Button)findViewById(R.id.ui_button1); bt.setOnClickListe

2013-08-14 22:06:46 8490

原创 Pro Android学习笔记(十四):用户界面和控制(2):Text类控制

TextViewTextView之前已经使用过很多,直接显示,比较简单。但是我们可以同“autoLink”属性,使用户可以点击一个网络连接、电话号码、邮箱地址、地图地址,通过系统应用打开它们。除此之外,还有其他的font属性,minLines,maxLines等等,都很好理解,可以去阅读Android学习笔记系列。例子1:在XML中设置autoLink属性我们在xml中设置andr

2013-08-13 21:45:19 7657 1

原创 Pro Android学习笔记(十三):用户界面和控制(1):UI开发

UI开发先理清一些UI概念: view、widget、control:这三个名词其实没有什么区别,都是一个UI元素,例如一个button。Container(容器):包含其他view,例如grid可以认为是容器,它有cell,每个cell可以是一个view。Layout: 对容器们和view们的排版,可以包含其他layout。Android提供常用的UI(例如文字框)以及适合移

2013-08-13 21:44:46 4785

翻译 VisionMobile:创建一个生态系统:来自BREW OS的经验

VisionMobile在7月24日推出新博客:Creating an Ecosystem: The Lessions from BREW OS。BREW OS在生态系统上有什么经验?高通的Steve Sprigg带我们进入记忆之旅,从内部观看BREW OS的历史,以及从高通得到的经验。想象一下,创建一个有十亿台设备用的操作系统和一个每天服务于数百万应用的应用商店,然后有意识地决定不再发展

2013-08-08 21:56:19 1995

翻译 VisionMobile:手机商务模式的演变:从利润来源到发布渠道

VisionMobile在8月5日推出新博客:The evolution of handset business models: From source of profits to distribution channel。PC和移动手机行业的演进是相互镜像的镜子,都看到两个不同的破坏:一个新市场破坏,其次是低端的破坏。客席作家Sameer Singh探讨:从集成公司到模块化竞争的转移是如

2013-08-08 21:55:59 3030

翻译 VisionMobile:Web网站 vs Web应用:专家如何看

VisionMobile在7月29日推出博客Web Site vs. Web Apps: what the experts think“Web应用”术语在过去几年已到处出现,我们都听说过,使用过,到底有多少次已经记不清了。然而,在哪里中止“Web网站”,在哪里开启“web应用”仍有争议。客席作家Ciprian Borodescu介绍几位web技术领域著名人物的见解,并讨论web应用化(app-

2013-08-07 21:16:40 1531

翻译 VisionMobile:2013年Q3移动开发者经济报告(十三):第十二章、应用经济的评估

第十二章、应用经济的评估过去几年,移动行业经历了由第一代iPhone引发的强有力的剧烈火花,并推出第一个真正的应用生态系统。这带来了移动价值的逐步转向,稳步地从传统移动经济台柱,即运营商服务和移动手机,转向了应用生态系统。新兴价值链元素是我们所说的“移动应用经济”,代表了今日移动价值链增长最快领域,并在可预见未来仍将是。价值转移程度可从下图中看到。2012年,全球应用经济占应用服务和手机市

2013-08-07 21:13:26 1999

翻译 VisionMobile:2013年Q3移动开发者经济报告(十二):第十一章、了解开发者个性的复杂马赛克

第十一章、了解开发者个性的复杂马赛克今天,具备前瞻性的企业意识到开发者是他们的创新引擎,他们最有前途的分支机构,他们的布道者,和他们增长最快的经销商。企业发现开发者是现代渠道,帮助他们覆盖新消费者,发现新使用场景和促进他们增长。开发者市场营销上数以百万的美元只有一个目的,说法开发者使用某个平台、网络、工具或API集。然而,在2013年,移动开发者的关注点开始变得极其集中,被三个开发者市场领

2013-08-03 10:27:24 2239

翻译 VisionMobile:2013年Q3移动开发者经济报告(十一):第十章、HTML5应用开发的万花筒

第十章、HTML5应用开发的万花筒HTML5是与应用经济双寡头相竞争的技术。根据我们Q3对6000+名移动应用开发者的研究,就移动开发者青睐度而言,52%的开发者以某种形式使用HTML5,排在iOS(72%)和Android(57%)的后面。当我们再次审查52%的HTML5移动开发者青睐度时,在HTML5短短5个字母后面有如万花筒般绚丽色彩和多样选择。有些开发者建立相关网站,对智能手机和平

2013-08-03 10:27:01 3618

翻译 VisionMobile:2013年Q3移动开发者经济报告(十):第九章、开发者工具:穿越平台创新的前沿

第九章、开发者工具:穿越平台创新的前沿如今,应用经济已为全球超过50万名使用多种平台的开发者提供了就业和兴趣。在应用经济最初几年(2008-2010年),开发者用于开发和发布应用的工具全都由平台提供。毕竟,在早期的日子,开发者所需的是一个开发者环境,一组用于代码编写的API,一个用于发布应用的市场,和一个跟踪应用销售的途径。然而在最近几年,iOS和Android的应用数都已增加至将近1百万,而

2013-08-01 20:32:20 3062

翻译 VisionMobile:2013年Q3移动开发者经济报告(九):第八章、开发者收入模式:巧克力盒子

第八章、开发者收入模式:巧克力盒子并非所有开发者都关心盈利,有些是为了尝试、乐趣、学习,有些是为了扩展产品的品牌覆盖。但就那些关心盈利的,有令人眼花缭乱的收入模式可选择。应用收入模式取决于开发者的众多考虑。哪里是目标市场,用户愿意在应用上花费多少?同样类型的其他成功应用如何盈利?是否应该降低价格来吸引流量并通过应用内支付实现货币化?应用是否能产生足够的流量作为广告类收入模式的理由?能否

2013-08-01 20:32:06 1867

翻译 VisionMobile:2013年Q3移动开发者经济报告(八):第七章、开发者对平板的兴趣直追智能手机

第七章、开发者对平台的兴趣直追智能手机平板如今无处不在,在居室,车内,会议室和机场。平板销量显著增长,在2010年Q2,iPad推出时,只有3M台销售量,在2013年Q1已经超过49M台,而Android主导了平板销量。在2013年Q1,平板销量达到智能手机的1/4。尽管两者间存在差异,但开发者已经拥抱平板,并与智能手机视为同等公民。我们最新6000+名开发者调查显示,有70%的移动开发者

2013-08-01 20:31:55 2426

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关注的人

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