手把手教你查看android系统源码

引言:android开发人员想必都很想知道,怎么才能查看源码吧。毕竟,想跨入高级,不看源码,你看啥?老司机请远离。准备工作:下载SourceInsight4.0,如果有,就略过。如果没有,下载地址:https://download.csdn.net/download/shoneworn/10407312下载android系统源码,如果你不知道在哪里找得到,或者不知道系统源码是什么,我告诉你:你只要开发环境搭建好了,就有。就在androidSDK里。路径:D:Androidsdksourcesandroid-26android使用:下一步默认就好。点击OK下一步:addall后,叉掉这个时候,需要看那个类,就直接在右边搜索。搜到后,点开就行我先看startActivity方法,搜索一下就行。然后,就可以和AS里一样操作了...

(二)仅仅通过Application监听用户行为及App的在线状态和在线时长

  先要实现功能,还是先从API去找。看看有没有你想要的。这里其实就是监听App内activity的状态。怎么办?  给个API所在地址:http://www.android-doc.com/reference/android/app/Application.html  看到没?这里有个方法registerActivityLifecycleCallbacks,这不是监听吗?看看回调了啥东西,点进去再看看。我去,这服务不要太好呀。要啥有啥。看到没?所有activity的生命周期都能获取到。所以。怎么用就成了改考虑的问题了。下面是我做的统计活跃量和时长的importandroid.app.Activity;importandroid.app.Application;importandroid.content.Context;importandroid.os.Bundle;importandroid.util.Log;importjava.util.HashMap;importjava.util.Map;/***Createdbyadminon2018/3/2.*@authorcxx*not...

百度搜索附近加盟店等基于LBS云搜索功能的实现

一、注册百度账号,进入开发者平台创建应用并获取ak地址如下http://lbsyun.baidu.com/apiconsole/key/update?app-id=7546025ok获取到了。二、下载SDK,SDK需要用到哪些功能就用那些功能吧。多的就不需要了三、创建LBS云存储数据管理平台http://lbsyun.baidu.com/datamanager/datamanage就在这里这里有个细节一定要注意,是否发布到检索:一定要选择是。不然,搜不到。其他的,就随意了。表名称随便取。PS:一定要注意。开发文档里面的geotable_id很坑爹,根本不是表中字段。而是表自身的ID。如上图的129887就是我在发请求的时候URL中的geotable_id;StringmUrl="http://api.map.baidu.com/geosearch/v3/nearby?"+"mcode=2E:06:78:49:8D:ED:17:79:AD:F5:36:3F:57:DA:2B:C1:75:84:0F:3E;com.example.testbaidulbs&"+"ak=VcVHTEy...

3种高效的Tags标签系统数据库设计方案分享

需求背景目前主流的博客系统、CMS都会有一个TAG标签系统,不仅可以让内容链接的结构化增强,而且可以让文章根据Tag来区分。相比传统老式的Keyword模式,这种Tag模式可以单独的设计一个Map的映射表来增加系统的负载和查询的效率。数据库设计方案1此方案分为2个表:1.Tag表2.文章表Tag表表结构:代码如下:tagid#tag标签的IDtagname#tag内容num#当前Tag的引用个数文章表结构:代码如下:ID#文章IDtitle#文章标题tags#tags列表,多个以,分割tagid#tags的ID多个以,分割... 此种方式Tag标签主要内容保存在文章表中,对于Tag表的压力较小,只是添加的时候更新一下Tag的引用数量,但是查询的时候效率不足,不是好办法数据库设计方案2第二种方案使用2个Tag表,其中一个保存Tag信息,另一个保存映射信息:Tag表:代码如下:tagid#tag标签的IDtagname#tag内容num#当前Tag的引用个数Tagmap表代码如下:tagidaid文章表代码如下:ID#文章IDtitle#文章标题tags#tags列表,多个以,分...

CI框架+Umeditor上传图片配置信息

Umeditor提供了一个上传文件通用的类Uploader.class.php,首先将Uploader.class.php类放入CI框架的libraries目录下更名为Myuploader.php然后将该类提供的构造方法替换掉本来的构造方法:[php] viewplain copy /**     * 构造函数     * @param string $fileField 表单名称     * @param array $config 配置项     * @param bool $base64 是否解析base64编码,可省略。若开启,则$fileField代表的是base64编码的字符串表单名   &...

PHP性能调优,PHP慢日志---善用php-fpm的慢执行日志slow log,分析php性能问题

众所周知,MySQL有slowquerylog,根据慢查询日志,我们可以知道那些sql语句有性能问题。作为mysql的好搭档,php也有这样的功能。如果你使用php-fpm来管理php的话,你可以通过如下选项开启。PHP5.3.3之前设置如下:<valuename="request_slowlog_timeout">5s</value><valuename="slowlog">logs/php-fpm-slowlog.log</value>PHP5.3.3之后设置以下如下:request_slowlog_timeout=5sslowlog=/usr/local/php/log/php-fpm-slowlog.log说明:request_slowlog_timeout是脚本超过多长时间就可以记录到日志文件slowlog是日志文件的路径开启后,如果有脚本执行超过指定的时间,就会在指定的日志文件中写入类似如下的信息:[19-Dec-201316:54:49][poolwww]pid18575script_filename=/home/web/h...

删除/添加/调用WordPress用户个人资料的联系信息

如果你要折腾主题或者将WordPress站点开放注册,你可能需要自定义WordPress用户个人资料信息。下面倡萌将简单说一下如何删除、添加和调用自定义用户信息字段。添加或删除字段,可以在主题的functions.php文件添加下面的代码:123456789101112131415161718/***自定义用户个人资料信息*https://www.wpdaxue.com/add-remove-display-wordpress-user-profile-fields.html*/add_filter('user_contactmethods','wpdaxue_add_contact_fields');functionwpdaxue_add_contact_fields($contactmethods){$contactmethods['qq']='QQ';$contactmethods['qm_mailme']='QQ邮箱“邮我”';$contactmethods['qq_weibo']='腾讯微博';$contactmethods['sina_weibo']...

WP评论系统更换小结(转)

多说多说是一款追求极致体验的社会化评论框,可以用微博、QQ、人人、豆瓣等帐号登录并评论。多说具备优质用户体验、速度和稳定性、社会化推荐、建站程序审核整合、垃圾评论过滤等特性。自定义程度很高,支持插入表情、图片,细节上把握很好。支持双向同步评论,导入导出。 友言JiaThis旗下产品支持社交帐号登录,和多说挺像的,体验会差一些。支持数据导入导出,有评论统计、最新评论插件。2017年6月调用基本502,最近一次更新三年前,感觉半死不活。 畅言搜狐旗下产品多说下架后,最合适的替代品了。支持评论导入,需要备案号。支持自定义皮肤。但就是导入多说的评论后,评论回复嵌套失效。而从WP后台直接同步,直接失败,没有解决方案。 网易云跟帖网易出品无法从WP同步评论,只能从畅言、多说导入。网易云跟帖的用户还主要是媒体,不是很适合博客,从文案上可以看出来。“抵制低俗,文明上网”“xxx市网友”“有态度网友”Disqus国外市场占有率很大,多说就是模仿的Disqus。专业的评论系统,功能齐全。奈何国内无法访问【...

微擎系统BUG漏洞解决方法汇总(原创)

微擎微赞系统BUG漏洞解决方法汇总弄了微擎系统来玩玩,发觉这个系统BUG还不少,阿里云的提醒都一大堆,主要是没有针对SQL注入做预防,处理的办法基本都是用转义函数。 汇总:1、漏洞名称:微擎任意文件下载漏洞文件路径:/framework/function/global.func.php解决方法: 修复方法:打开/framework/function/global.func.php文件搜索if(strexists($t,'http://')复制代码找到if(strexists($t,'http://')||strexists($t,'https://')||substr($t,0,2)=='//'){return$src;}复制代码替换为if((substr($t,0,7)=='http://')||(substr($t,0,8)=='https://')||(substr($t,0,2)=='//')){return$src;}复制代码搞定保存文件,上传到服务器,去安骑士上验证一下就过了。   2、漏洞名称:微擎SQL注入漏洞漏洞描述:微擎的/web/so...

使用python抓取并分析数据—链家网(requests+BeautifulSoup)(转)

本篇文章是使用python抓取数据的第一篇,使用requests+BeautifulSoup的方法对页面进行抓取和数据提取。通过使用requests库对链家网二手房列表页进行抓取,通过BeautifulSoup对页面进行解析,并从中获取房源价格,面积,户型和关注度的数据。准备工作首先是开始抓取前准备工作,导入需要使用的库文件,这里主要使用的是requests和BeautifulSoup两个。Time库负责设置每次抓取的休息时间。这里并非全部,后续还会在过程中导入新的库。抓取列表页开始抓取前先观察下目标页面或网站的结构,其中比较重要的是URL的结构。链家网的二手房列表页面共有100个,URL结构为http://bj.lianjia.com/ershoufang/pg9/,其中bj表示城市,/ershoufang/是频道名称,pg9是页面码。我们要抓取的是北京的二手房频道,所以前面的部分不会变,属于固定部分,后面的页面码需要在1-100间变化,属于可变部分。将URL分为两部分,前面的固定部分赋值给url,后面的可变部分使用for循环。此外,还需要在很http请求中设置一个头部信息,否则很容...

数据挖掘工具分析北京房价 (一) 数据爬取采集(转)

        房价永远是最让人头疼且激动的话题,尤其是在帝都,多少人一辈子都为了一套房子打拼。正好我也想用一个大家比较关心的话题作为案例,把目前我开发的这套软件进行一次完整的演练。从数据采集,到清洗,分析,和最终可视化和报告的呈现,实现一次完整的流程。一方面可以给大家切实的分享一些有用的信息,再者可以更好地了解这套软件的使用流程。 关于本工具的介绍,可参考数据挖掘平台介绍(综述)——平台简介。            自然的,文章分为四部分,本节是第一部分:数据爬取和采集。         俗话说巧妇难为无米之炊,没数据分析就没有了意义。为了找到合适的数据,我翻到了链家的官网。http://beijing.homelink.com.cn/ 这里的数据虽然远...

基于Bootstrap简单实用的tags标签插件

http://www.htmleaf.com/jQuery/ jQuery之家自由分享jQuery、html5和css3的插件库  ...

七牛:关于图片 EXIF 信息中旋转参数 Orientation 的理解

EXIF(ExchangeableImageFile)是“可交换图像文件”的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数、缩略图及其他属性信息,简单来说,Exif信息是镶嵌在JPEG/TIFF图像文件格式内的一组拍摄参数,需要注意的是EXIF信息是不支持png,webp等图片格式的。对于七牛,可以在图片后面加?exif参数来获取图片的exif信息。对于Orientation参数,简单的说是记录图片拍摄的相机的旋转信息,浏览器(需要浏览器支持)可以根据这个参数中的val信息自动旋转图片到正确的方向。eg:在浏览器中输入以下图片链接,由于浏览器自动旋转了,我们可以看到一个显示正常的图片:http://www.51dev.com//FileUpload/news/202003/20200326170410313.png其实这张图片拍摄的时候相机是有旋转的,我们可以去掉图片的exif信息显示如下:http://www.51dev.com//FileUpload/news/202003/20200326170410313.png?imag...

PHP 获取图像信息 getimagesize 函数

getimagesize() 函数用于获取图像尺寸,类型等信息。imagesx() 函数用于获取图像的宽度。imagesy() 函数用于获取图像的高度。 getimagesize()函数用于获取图像大小及相关信息,成功返回一个数组,失败则返回FALSE并产生一条E_WARNING级的错误信息。语法:arraygetimagesize(stringfilename)例子:<?php$array=getimagesize("images/flower_1.jpg");print_r($array);?>浏览器显示如下:Array([0]=>350[1]=>318[2]=>2[3]=>width="350"height="318"[bits]=>8[channels]=>3[mime]=>image/jpeg)返回结果说明索引0给出的是图像宽度的像素值索引1给出的是图像高度的像素值索引2给出的是图像的类型,返回的是数字,其中1=GIF,2=JPG,3=PNG,4=SWF,5=PSD,6=BMP,7=...

PHP中array_merge和array相加的区别分析

今天处理一个这样的问题:如何获取字符键名相同值不同的两个数组值集合,用array_merge和数组相加都不可行,让我认真比较了下PHP中array_merge和array相加的区别 首先来看看键名是string,两者区别: 复制代码代码如下:<?php$arr1=array('a'=>'PHP');$arr2=array('a'=>'JAVA');//如果键名为字符,且键名相同,array_merge()后面数组元素值会覆盖前面数组元素值print_r(array_merge($arr1,$arr2));//Array([a]=>JAVA)//如果键名为字符,且键名相同,数组相加会将最先出现的值作为结果print_r($arr1+$arr2);//Array([a]=>PHP)?>如果键名是数字,两者区别:复制代码代码如下:<?php$arr1=array("C","PHP");$arr2=array("JAVA","PHP");//如果键名为数字,array_merge()不会进行覆盖print_r(array_merge...
首页上一页...340341342343344...下一页尾页