- 博客(16)
- 资源 (5)
- 收藏
- 关注
原创 快排优化Python表示
基本快速排序分析以从小到大排序为例 * 选取一个主元(选取方式多样) * 利用主元,将序列分为两个子序列,左侧都比主元小,右侧都比主元大。 * 对两个子序列重复此操作例如取第一个元素,代码表示如下:def qsort(arr): if len(arr) <= 1: return arr else: pivot = arr[0] r
2016-03-18 14:54:54
2492
原创 Canvas利用圆绘制正余弦函数叠加图像
前言昨天看傅里叶变换的资料,看到这篇文章:如果看了此文你还不懂傅里叶变换,就过来掐死我吧, 讲得很清晰,中间一幅图的美丽深深吸引了我。。。 于是萌生了利用Canvas把它画下来的想法。可是正余弦函数的基础早已经忘得差不多了, 所以先画个大概,慢慢更新当作毕设前练手吧。现在的样子: 博客新手。。如果各位看官觉得条理比较乱请指教一下准备工作画圆相关先自定义了一个Circle类,方便添
2016-03-16 23:31:35
2395
原创 艺术探索读书笔记(一)--Activity启动模式
standard标准模式,每次启动一个Activity就重新创建一个新的实例。每个实例也可以属于不同的 任务栈。 谁启动了这个Activity,这个Activity就运行在启动他的那个Activity所在的栈中。如果使用ApplicationContext去启动standard模式的Activity会报错,因为非Activity类型的 Context并没有所谓的任务栈。解决方法是为待启动
2015-12-16 22:16:08
560
原创 集成百川SDK遇到的问题及解决过程
背景由于项目中需要拍摄小视频,找到了趣拍的SDK,而且发现阿里百川中集成了众多开发必需的SDK, 于是就集成了百川下的 高德地图、IM、友盟等SDK。由于百川中没有趣拍的选项,所以需要把两 个SDK合并起来,期间花了两三天功夫才把所有问题解决完,趁今晚把问题总结一下问题总结由于我是问题解决完了才总结的,期间很多问题都忘了,翻自己上网历史记录才找到的,所以很多都忘了,只能想起来再加。另外由于需要的
2015-12-06 00:51:10
8262
原创 指针和数组的区别
1.首先弄明白 声明和定义声明:它所说明的并非自身,而是描述其他地方创建的对象。 也就是只告诉编译器对象的名字和类型,不分配内存,所以不需要提供数组长度等信息( 多维数组需要提供除最左一维以外其他维的长度) 定义:它为对象分配内存也就是说内存是在定义时分配的,符号表中的地址是定义时确定的, 访问方式却是根据声明来确定的。2.数组和指针的访问我们都知道一块内存 可以理解为两部分,地址和
2015-11-28 23:50:55
501
原创 请求权限被拒绝的检测及处理
背景正确的检查权限请求权限的回调背景最近项目中请求打电话权限,然后正好手机中安装了360,拒绝了权限申请之后发现再次点击就没有反应了,因此需要先检查一下权限,网上有些说PackageManager pm = getPackageManager(); int permission = pm.checkPermission("android.permission.CALL_PHONE
2015-11-11 00:34:02
2451
原创 GenyMotion下载安装过程及遇到的问题
下载安装两个问题下载下载路径: https://www.genymotion.com/#!/download 根据自己情况选择不同版本安装安装一路绿灯,没什么问题两个问题启动的时候会遇到两个问题: 这两个问题需要在VirtualBox中启动才会显示详情 1、VT-x is disabled in the BIOS. (VERR_VMX_MSR_VMXON_DISABLED).
2015-10-19 01:13:08
812
原创 RecyclerView设置Item点击事件
思路自定义两个ListenerViewHolder设置Adapter设置使用RecyclerView时初始化Adapter思路思路是这样的,给Adapter中设置OnLickListener,然后创建ViewHolder时传入ViewHolder,在ViewHolder中将itemView的点击事件传入OnClickListener。自定义两个Listener一个OnItemCLickLis
2015-10-19 00:45:21
1072
原创 Android消息机制使用及详解
概括用法HandlerMessageQueueLooperThreadLocal用法示例源码解析handlerMessageQueueLooperThreadLocal概括用法Handler–Handler:用来发送和处理消息,也就是说,在一个线程中发送,在另一个线程中执行,都是由它来完成的。先讲用法,有兴趣的话可以往后看原理。 Handler的创建要求该线程必须具有Loop
2015-10-14 00:16:45
629
原创 Toast显示过程详解
目录:前言总结源码分析Toast的创建加入NMS的Toast队列NMS回调TNTN调用WMS显示ToastNMS回调TNTN调用WMS删除Toast前言上次看到有人说Toast属于UI操作,只能在主线程中使用。其实不是这样的,Toast是特殊的UI操作,由系统管理,我们只需在线程中创建MessageQueue和Looper让系统能够回调当前线程即可在任意线程使用,主线程由于继承Ha
2015-10-12 00:37:09
4321
转载 Android屏幕适配
1.先说要怎么做,后面在慢慢讲解:1.单位全部用dp,优先使用包裹内容和填充父窗体和权重来完成布局。2.通过dimens文件来适配,需要三套,不考虑横屏 2.1 默认的dimens.xml 放按hdpi适配的参数; 2.2 hdpi的dimens.xml 放按hdpi适配的参数; 2.3 xhdpi的dimens.xml 放按xhdpi适配的参
2015-04-21 15:14:46
559
原创 Android开机初始化流程
一、 首先启动Linux基础系统,然后引导加载Linux kernel并启动初始化进程(init)如图1-1所示, 二、 接着启动Linux守护进程(daemon)这个过程主要需要启动以下内容: 如图1-2
2015-04-21 09:43:43
1205
原创 简单网络嗅探c++实现
一、原理 用一些比喻,集线器网络中所有主机都连接在一条网线上,也就是说每台主机发送的数据都将经过其他主机的门前(网卡),只是说一般网卡一看数据包报头,这不是发给自己的,就不理这个包了,而我们现在要做的,就是敞开大门,不管这个包是发给谁的,都将其纳入囊中。那么如何做呢?只需将网卡设置为混杂模式。 要用到C语言网络编程中的Socket,一般的Socket只能获取到传输数据包,所以我
2015-01-09 20:14:27
3231
8
原创 编译程序和解释程序的本质
定义: 首先我们知道,计算机并不能识别高级语言编写的程序,只能将其翻译为机器语言后才能执行,而翻译的过程分为两种,编译方式和解释方式。 编译方式是指利用事先编好的一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户将高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运
2014-11-17 14:08:55
3490
genymotion-arm-translation_v1.1.zip
2015-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人