风火家人开发记要

技术总结精华贴

Category: 其他

其他, 原创

eclipse 打印 System out println 无输出

今天开始学习android 开发,在测试生命周期时想看看哪些函数被执行,使用LogCat 竟然获取不到信息。网上也查了一些信息发现这个一样问题。 别人使用的添加LogCat的截图是这样的:   而我添加LogCat的地方显示却是这个样子: 我还以为是eclipse的版本不同导致的,后来发现是使用的LogCat不对。 下面介绍正确的操作流程。 首先打开eclipse -> Window -> Show View -> Other.. -> Android。 你发现了什么? 是不是有两个LogCat, 一个是 图标躺着的LogCat, 还有一个是站着的名字是LogCat(deprecated)。 如果想获取到System.out 的信息需要使用的是LogCat(deprecated) 而不是LogCat。 在此处添加一个过滤器,参考第一个图片设置就可以了。 这个浪费了我好几个小时呢,才发现这个问题,现在分享给大家,希望能节省大家的时间。 (898)

查看全文
其他, 原创

facebook邀请好友加入应用使用fb:fbml标签无效解决方案

使用 fb:fbml 标签无效,需要在页面中加入这样一段代码 <div id=”fb-root”></div> <script type=”text/javascript”> window.fbAsyncInit = function() { FB.init({ appId : “YOUR_APP_ID”, channelUrl : “//YOUR_DOMAIN.COM/channel.html”, status : true, cookie : true, xfbml : true }); // Additional initialization code here }; // Load the SDK Asynchronously (function(d){ var js, id = ‘facebook-jssdk’, ref = d.getElementsByTagName(‘script’)[0]; if (d.getElementById(id)) {return;} js = d.createElement(‘script’); js.id = id; js.async = true; js.src = “//connect.facebook.net/en_US/all.js”; ref.parentNode.insertBefore(js, ref); }(document)); </ script> 这里面提到的url不要加http或者https,系统会根据当前协议自动补齐的。 上面代码使用的是 javascript SDK ,摘自 http://developers.facebook.com/docs/reference/javascript/ 这样就可以在html中使用fb:fbml标签了 下面例子是邀请好友加入应用 <fb:serverFbml style=”width: 755px;”> <script type=”text/fbml”> <fb:fbml> <fb:request-form action=”<URL for post invite action, see fb:request-form docs for details>” method=”POST” invite=”true” type=”XFBML” content=”This is a test invitation from XFBML test app <fb:req-choice url=”see fb:req-choice docs for details.” label=”Ignore the Facebook test app!” /> “> </fb:request-form> <fb:multi-friend-selector showborder=”false” actiontext=”Invite your friends to use Facebook.” /> </fb:fbml> </script> </fb:serverFbml> 通过上面的的js调用就可以正常显示上面fb代码了,希望对你有所帮助。 (774)

查看全文
其他, 转载

【转载】一堂价值39万元的课,把它看完,你一定会有收获

第一课 一个男人在他妻子洗完澡后准备进浴室洗澡。这时,门铃响了。 妻子迅速用浴巾裹住自己冲到门口。 当她打开门时,邻居鲍勃站在那儿。 在她开口前,鲍勃说,“你如果把浴巾拿掉,我给你800美元。” 想了一会儿,这个女人拿掉浴巾赤裸地站在鲍勃面前。几秒钟后,鲍勃递给她800美元然后离开了。 女人重新裹好浴巾回到屋里。 当她踏进浴室时,丈夫问她,“是谁呀?” “是邻居鲍勃。”她回答。 “哦,”丈夫说,“他有没有提到还欠我800美元?” 故事寓意: 及时与同舟共济的股东分享重要信息,将会避免不必要的曝光。 第二课 一个销售员、一个办事员和他们的经理步行去午餐时发现了一盏古代油灯。 他们摩擦油灯,一个精灵跳了出来。 精灵说:“我能满足你们每人一个愿望。” “我先!我先!”办事员说,“我想去巴哈马群岛,开着快艇,与世隔绝。” 倏!她飞走了。 “该我了!该我了!”销售员说,“我想去夏威夷,躺在沙滩上,有私人女按摩师,免费续杯的冰镇果汁朗姆酒,还有一生中的最爱。” 倏!他飞走了。 “OK, 该你了。”精灵对经理说。 经理回答:“我要那两个蠢货午饭后马上回来工作!” 故事寓意: 永远让你的老板开口先。 第三课 一只鹰坐在高高的树上休息,无所事事。 一只小兔子看见鹰并且问它,“我能象你一样坐着什么都不干吗?” 鹰回答:“行啊,为啥不行。” 于是,兔子坐在鹰下面的地上休息。突然,一只狐狸出现了,它扑到兔子身上把它吃掉了。 故事寓意: 要想坐着无所事事,你必须坐在非常、非常高的位置。 第四课 一只小鸟飞去南方过冬。天实在太冷了。它冻僵了,掉在一片田野上。 它躺在那儿时,一头母牛走过来在它身上拉了一堆屎。 冻僵的小鸟躺在粪堆里,开始感觉到了温暖。 牛粪确实使它暖和过来了。 它躺在温暖的牛粪中,异常高兴,并开始唱起歌来。 一只过路的猫听到鸟叫赶过来看个究竟。 顺着声音,它发现了牛粪下的小鸟,并迅速把它拖出来吃掉了。 故事寓意: (1) 并不是每个在你身上拉屎的都是你的敌人。 (2) 并不是每个把你拖出粪堆的都是你的朋友。 (3) 当你深陷粪堆中的时候,最好闭上你的鸟嘴 1)学会 沉默 有时候,你被人误解,你不想争辩,所以选择沉默。本来就不是所有的人都得了解你,因此你认为不必对全世界喊话。却也有时候,你被最爱的人误解,你难过到不想争辩,也只有选择沉默。全世界都可以不懂你,但他应该懂,若他竟然不能懂,还有什么话可说?生命中往往有连舒伯特都无言以对的时刻,毕竟不是所有的是非都能条列清楚,甚至可能根本没有真正的是与非。那么,不想说话,就不说吧,在多说无益的时候,也许沉默就是最好的解释。 (2)至少 平静 在你跌入人生谷底的时候,你身旁所有的人都告诉你:要坚强,而且要快乐。坚强是绝对需要的,但是快乐?在这种情形下,恐怕是太为难你了。毕竟,谁能在跌得头破血流的时候还觉得高兴?但是至少可以做到平静。平静地看待这件事,平静地把其他该处理的事处理好。平静,没有快乐,也没有不快乐。 (3)学会弯腰 这会是我意外的收获 和别人发生意见上的纷歧,甚造成言语上的冲突,所以你闷闷不乐,因为你觉得都是别人恶意。别再耿耿于怀了,回家去擦地板吧。拎一块抹布,弯下腰,双膝着地,把你面前这张地板的每个角落来回擦拭干净。然后重新省思自己在那场冲突,所说过的每一句话。现在,你发现自己其实也有不对的地方了,是不是?你渐渐心平气和了,是不是?有时候你必须学习弯腰,因为这个动作可以让你谦卑。劳动身体的同时,你也擦亮了自己的心绪。而且,你还拥有了一张光洁的地板呢。这是你的第二个收获。 (4)不要想 如果 当初 你说,人生是一条有无限多岔口的长路,永远在不停地做选择。如果只是选择吃炒面或炒饭,影响似乎不大,但选择读什么科系、做什么工作、结婚或不结婚、要不要有孩子,每一个选择都影响深远,而不同的选择也必定造就完全不一样的人生。你又说,生命中不可承受之情,就在于人生没有重来的机会啊。如果当初如何如何,现在就不会怎样怎样…这种充满怅然的喃喃自语,还是别再多说了吧。每一个岔口的选择其实没有真正的好与坏,只要把人生看成是自己。独一无二的创作,就不会频频回首如果当初做了不一样的选择。 (5)努力吧 不管成功与否 至少曾经美丽 漫步林间,你看见一株藤蔓附着树干,柔软与坚实相互交缠,你感动于这静美的一幕。让幸福与归属就此驻足吧。你想。不知未来会有怎样一番风雨摧折?也许藤将断、树会倒,也许天会荒,地将老。你又想。那么,请时光停格在此刻吧。停格即是永恒。永恒里若有这静美的一刻,未来可能遭遇的种种劫难,便已得到了安慰与报偿。 (6)保持单纯 因为思虑过多,所以你常常把你的人生复杂化了。明明是活在现在,你却总是念念不忘着过去,又忧心忡忡着未来;坚持携带着过去、未来与现在同行,你的人生当然只有一片拖泥带水。而单纯是一种恩宠状态。单纯地以皮肤感受天气的变化,单纯地以鼻腔品尝雨后的青草香,单纯地以眼睛统摄远山近景如一幅画。单纯地活在当下。而当下其实无所谓是非真假。既然没有是非,就不必思虑;没有真假,就无须念念不忘又忧心忡忡。无是非真假,不就像在做梦一样了吗?是呀,就单纯地把你的人生当成梦境去执行吧。   (7)偶尔’俗气’… 吃多了健康食品,偶尔你也想啃一啃鸭舌头和盐酥鸡。看多了大师名剧,偶尔你也想瞄一瞄耳光摔不完眼泪掉不完的连续剧。听多了古典音乐,偶尔你也想唱一唱爱他一百年又恨他一万年的流行歌曲。你知道健康食品对健胃整肠有意义,大师名剧对培养气质有意义,古典音乐对提升性灵有意义,可是,偶尔你其实并不想让自己时时刻刻活得那么有意。人生不需要把自己绑得那么紧。偶尔的小小放纵,是道德的。灵气充满或许接近大人,但偶尔的俗气会更平易近人。 (8)控制情绪 别浪费了~ 今天的你,是不开心的你,因为有人在言语间刺伤了你。你不喜欢吵架,所以你离开;可是你只是离开了那,却没有离开被那人伤害的情境,因此你愈想愈生气。愈有气,你就愈没有力气去理会别的事情,许多更该用心去做去想去处理的事件,就在你漫天漫地的心烦意乱之中,被轻忽被漠视被省略了。因为,你只是一心一意地在生气。在情绪上做文章,这是对自己的浪费,而且是很坏的浪费。毕竟,生气也是要花力气的,而且生气一定伤元气。所以,聪明如你,别让情绪控制了你,当你又要生气之前,不妨轻声地提醒自己一句:“别浪费了。” (9)抓住最好的时机 绝不错过 你曾经买了一件很喜欢的衣裳却舍不得穿,郑重地供奉在衣柜里;许久之后,当你再看见它的时候,却发现它已经过时了。所以,你就这样与它错过了。你也曾经买了一块漂亮的蛋糕却舍不得吃,郑重地供奉在冰箱里;许久之后,当你再看见它的时候,却发现它已经过期了。所以,你也这样与它错过了。没有在最喜欢的时候上身的衣裳,没有在最可口的时候品尝的蛋糕,就像没有在最想做的时候去做的事情,都是遗憾。生命也有保存期限,想做的事该趁早去做。如果你只是把你的心愿郑重地供奉在心里,却未曾去实行,那么唯一的结果,就是与它错过,一如那件过时的衣裳,一如那块过期的蛋糕。 (10)偶尔的出离轨道 某次你搭火车打算到A地去,中途却忽然临时起意在B地下了车。也许是别致的地名吸引了你,也许是偶然一瞥的风景触动了你,总之,你就这样改变了本来预定的行程,然后经历了一场充满惊奇的意外旅行。A地是你原先的目标,B地却让你体会了小小的冒险。回忆起来,你说,那是一次令你难忘的出轨经验。生命中的许多时候不也如此?心无旁骛地奔赴唯一的目的,不过是履行了原本的行程而已;离开预设的轨道,你才有机会发现其他的风景。 (11)悄悄 悄悄地 回归平静.. 曾经有一段时间,你心情低落,甚至懒得拉开窗帘,看着窗外的阳光。因此你当然也忘了去看看,窗台上那一盆每天都需要喝水的玛格丽特。如此不知过了多久,总算有一天,你度过了心情的低潮,同时也想起了你的玛格丽特。天啊,可怜的花,她还活着吗?你战战兢兢地拉开窗帘,却见她迎风招摇,花颜可掬。原来在过去的这段日子里,你虽然忘了喂她喝水,老天却没忘了以雨露眷顾她呢。许多事物悄悄地在你的视线之外进行,而且悄悄地安排好了它们自己。天生万物,天养万物,一切其实无须担心……你只要做的就是做好自己,不留任何遗憾…足矣。 (385)

查看全文
其他, 转载

【转载】常用PHP正则表达式

常用PHP正则表达式 获取所有图片网址preg_match_all(“/ src=(\”|\’){0,}(http:\/\/(.+?))(\”|\’|\s|>)/is”,$text,$img); 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配空行的正则表达式:\n[\s| ]*\r 匹配HTML标记的正则表达式:/.*|/ 匹配首尾空格的正则表达式:(^\s*)|(\s*$) 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配网址URL的正则表达式:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$ 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})? 匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$ “^\d+$”  //非负整数(正整数 + 0) “^[0-9]*[1-9][0-9]*$”  //正整数 “^((-\d+)|(0+))$”  //非正整数(负整数 + 0) “^-[0-9]*[1-9][0-9]*$”  //负整数 “^-?\d+$”    //整数 “^\d+(\.\d+)?$”  //非负浮点数(正浮点数 + 0) “^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$”  //正浮点数 “^((-\d+(\.\d+)?)|(0+(\.0+)?))$”  //非正浮点数(负浮点数 + 0) “^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$”  //负浮点数 “^(-?\d+)(\.\d+)?$”  //浮点数 “^[A-Za-z]+$”  //由26个英文字母组成的字符串 “^[A-Z]+$”  //由26个英文字母的大写组成的字符串 “^[a-z]+$”  //由26个英文字母的小写组成的字符串 “^[A-Za-z0-9]+$”  //由数字和26个英文字母组成的字符串 “^\w+$”  //由数字、26个英文字母或者下划线组成的字符串 “^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$”    //email地址 “^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$”  //url /^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日 /^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年 “^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$” //Emil /^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/ //电话号码 “^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$” //IP地址 元字符及其在正则表达式上下文中的行为: \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。 $ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’\n’ 或 ’\r’ 之前的位置。 * 匹配前面的子表达式零次或多次。 + 匹配前面的子表达式一次或多次。+ 等价于 {1,}。 ? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。 {n} n 是一个非负整数,匹配确定的n 次。 {n,} n 是一个非负整数,至少匹配n 次。 {n,m} m 和 n 均为非负整数,其中n .*1>|/ 匹配首尾空格的正则表达式:(^s*)|(s*$) 匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)? 利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文:onkeyup=”value=value.replace(/[^u4E00-u9FA5]/g,”)” onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^u4E00-u9FA5]/g,”))” 用正则表达式限制只能输入全角字符: onkeyup=”value=value.replace(/[^uFF00-uFFFF]/g,”)” onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^uFF00-uFFFF]/g,”))” 用正则表达式限制只能输入数字:onkeyup=”value=value.replace(/[^d]/g,”) “onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^d]/g,”))” 用正则表达式限制只能输入数字和英文:onkeyup=”value=value.replace(/[W]/g,”) “onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^d]/g,”))” =========常用正则式 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配空行的正则表达式:\n[\s| ]*\r 匹配HTML标记的正则表达式:/.*|/ 匹配首尾空格的正则表达式:(^\s*)|(\s*$) 匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g // 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配网址URL的正则表达式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? sql语句:^(select|drop|delete|create|update|insert).*$ 1、非负整数:^\d+$ 2、正整数:^[0-9]*[1-9][0-9]*$ 3、非正整数:^((-\d+)|(0+))$ 4、负整数:^-[0-9]*[1-9][0-9]*$ 5、整数:^-?\d+$ 6、非负浮点数:^\d+(\.\d+)?$ 7、正浮点数:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 8、非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$ 9、负浮点数:^(-((正浮点数正则式)))$ 10、英文字符串:^[A-Za-z]+$ 11、英文大写串:^[A-Z]+$ 12、英文小写串:^[a-z]+$ 13、英文字符数字串:^[A-Za-z0-9]+$ 14、英数字加下划线串:^\w+$ 15、E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ 16、URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$ 或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^\”\”])*$ 17、邮政编码:^[1-9]\d{5}$ 18、中文:^[\u0391-\uFFE5]+$ 19、电话号码:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$ 20、手机号码:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$ 21、双字节字符(包括汉字在内):^\x00-\xff 22、匹配首尾空格:(^\s*)|(\s*$)(像vbscript那样的trim函数) 23、匹配HTML标记:.*| 24、匹配空行:\n[\s| ]*\r 25、提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *(‘|”)?(\w|\\|\/|\.)+(‘|”| *|>)? 26、提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 27、提取信息中的图片链接:(s|S)(r|R)(c|C) *= *(‘|”)?(\w|\\|\/|\.)+(‘|”| *|>)? 28、提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+) 29、提取信息中的中国手机号码:(86)*0*13\d{9} 30、提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8} 31、提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14} 32、提取信息中的中国邮政编码:[1-9]{1}(\d+){5} 33、提取信息中的浮点数(即小数):(-?\d*)\.?\d+ 34、提取信息中的任何数字 :(-?\d*)(\.\d+)? 35、IP:(\d+)\.(\d+)\.(\d+)\.(\d+) 36、电话区号:/^0\d{2,3}$/ 37、腾讯QQ号:^[1-9]*[1-9][0-9]*$ 38、帐号(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 39、中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$ (436)

查看全文