摘要: 以下文章参考的3个来源,在加上本人搭建过程中遇到的问题的修复完善笔记: 《PHP环境的搭建和Discuz!安装》 http://www.myxzy.com/post-386.html http://www.discuz.net/thread-3258186-1-1.html 现在大部分一键安装包多是32位的,并不支持64位,直接在64位的系统上使用会报错的,所以我这里就来说说windows 64位系统如何建立Apache+PHP+MySQL环境的! 我这里演示用的windows 2008 64位简体中文版,apache,php,mysql多用的是64位的版本。建立的是本地环境,所以我... 阅读全文
posted @ 2013-12-25 16:44 没有代码 阅读(42956) 评论(1) 推荐(2) 编辑
摘要: (之前有一位仁兄说博客布局在一些浏览器会出现阻挡文字,因此为了市民的方便(也就是me^0^),建议大家也用chrome来浏览,毕竟这个博客布局简明,我有点不想换) 彩信收发宏观步骤: a、 终端A向彩信中心(MMSC)发送一条彩信,通过WAP网关POST到MMSC b、 MMSC通过PushProxy网关,向SMSC发送PUSH消息,SMSC转发到终端B c、 终端B通过WAP网关利用GET方法从MMSC获取一条彩信 d、 MMSC通过PushProxy网关和SNSC向终端A发送一条传送报告(delivery report) 从上面这个步骤可以看出,彩信的接收分两个步骤: 1、接... 阅读全文
posted @ 2011-12-01 17:02 没有代码 阅读(7758) 评论(1) 推荐(1) 编辑
摘要: 观察360的短信拦截和QQ管家的短信拦截,发现先安装的就能先拦截到的短信,然后中断广播,之后谁都不能获取到短信。从这里可以推出系统大概有一个广播表,同等级的按安装先后顺序排放。目前的方法是在应用层调用framework API进行控制的。 为了能更好的了解android接收短信的流程,我进行了更深入的分析,从RIL的通信架构来分析当接收到短信的整个流程。从frameword里的RIL.java 文件可以看出发送短信和接收短信是通过Receiver和Sender架构,发送短信主要通过Sender框架,主要如下(图是从网上窃滴~): 上层函数调用Command Interfac... 阅读全文
posted @ 2011-11-27 21:18 没有代码 阅读(9813) 评论(5) 推荐(4) 编辑
摘要: 鉴于项目的需要,就从网上找到该文章,文章分析得很详细也很易懂,在android里,(不知道是不是现在水平的限制,总之我还没找到在用ContentProvider时可以使用子查询),主要方法是用SQLiteDatabase 的 rawQuery,直接运行sql语句就可以了。 以下是转自网上的一篇文章 本文就和大家一起深入研究下mysql中group by与order by.下面是我模... 阅读全文
posted @ 2011-11-01 15:24 没有代码 阅读(10980) 评论(6) 推荐(3) 编辑
摘要: 如果看了下面的文章有部分你觉得熟悉,那不用想了,我是截取过来的^0^,然后补上一些细节问题,理解更方便。(说明:下面是抄袭网上两遍文章组合成的,自己只是加了点点改动) 概念介绍 1、onInterceptTouchEvent()是用于处理事件(重点onInterceptTouchEvent这个事件是从父控件开始往子控件传的,直到有拦截或者到没有这个事件的view,然后就往回从子到父控件,这次是onTouch的)(类似于预处理,当然也可以不处理)并改变事件的传递方向,也就是决定是否允许Touch事件继续向下(子控件)传递,一但返回True(代表事件在当前的viewGroup中会被处理),则向.. 阅读全文
posted @ 2011-09-27 10:21 没有代码 阅读(9053) 评论(1) 推荐(0) 编辑
摘要: 效果图: 第一种: 第二种: 第一种是通过canvas画出来的效果: public void first(View v) { // 防止出现Immutable bitmap passed to Canvas constructor错误 Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.apple).copy(Bitmap.Config.ARGB_8888, true); Bitmap bitmap2 = ((BitmapDrawable) getResources().getDrawable( R 阅读全文
posted @ 2011-08-18 22:51 没有代码 阅读(25197) 评论(0) 推荐(1) 编辑
摘要: FTP理论 FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道。重点这个两个通道就是下面源码分析里面为什么通道会这么多…… 控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的。 数据通道:数据通道是和FTP服务器进行文件传输或者列表的通道。 FTP协议中,控制连接均有客户端发起,而数据连接有两种工作方式:PORT方式和PASV方式 PORT模式(主动方式) FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口. 阅读全文
posted @ 2011-08-10 23:40 没有代码 阅读(3935) 评论(1) 推荐(0) 编辑
摘要: 在android里面用的smack包其实叫做asmack,该包提供了两种不同的连接方式:socket和httpclient。该并且提供了很多操作xmpp协议的API,也方便各种不同自定义协议的扩展。我们不需要自己重新去定义一套接收机制来扩展新的协议,只需继承然后在类里处理自己的协议就可以了。而本文今天主要说两点,一点就是消息是如何接收的,另一点就是消息是如何通知事件的。 总的思路 1.使用socket连接服务器 2.将XmlPullParser的数据源关联到socket的InputStream 3.启动线程不断循环处理消息 4.将接收到的消息解析xml处理封装好成一个Packet包 5.将包 阅读全文
posted @ 2011-08-01 22:31 没有代码 阅读(22636) 评论(8) 推荐(6) 编辑
摘要: smack主要封装了xmpp协议,提供更方便的api去操作xmpp协议,具体详细可以到这边文章了解:http://www.cnblogs.com/not-code/archive/2011/07/16/2108369.html 鉴于xmpp协议都是以xml格式来传输,因此源码中解析协议都是用到XmpPullParser来解析xml。因此本文先介绍XmpPullParser的用法,在下一章就分析smack源码是如何解析xmpp协议,如何封装,以及如何扩展出自己定的协议。 XmpPullParser很简单,先简单介绍几个比较常用的方法: //定义一个事件采用回调方式,直到xml完毕 public 阅读全文
posted @ 2011-07-31 22:17 没有代码 阅读(5240) 评论(1) 推荐(0) 编辑
摘要: XMPP协议简介 XMPP协议(Extensible Messaging and PresenceProtocol,可扩展消息处理现场协议)是一种基于XML的协议,目的是为了解决及时通信标准而提出来的,最早是在Jabber上实现的。它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。并且XML很易穿过防火墙,所以用XMPP构建的应用不易受到防火墙的阻碍。利用XMPP作为... 阅读全文
posted @ 2011-07-16 20:00 没有代码 阅读(46769) 评论(109) 推荐(11) 编辑