编程技术

关于ListView中加入并选取checkbox错位的问题

在ListView中的列表项中定义checkbox是一个常见手法,不过如果在listview使用了ViewHolder缓存的话就会遇到一个很恶心的问题,就是列表项错位的问题,为此我想到了一个自认为还算简单的解决方法,就是在自定义Adapter时加入checkbox.setTag(position)这样一句代码。这里checkbox为当前列表项的复选框,position为当前列表项位置。然后为checkbox设置点击事件,checkbox.setOnClic

系统 2019-08-29 22:18:01 2207

编程技术

OAuth2.0认证和授权原理

什么是OAuth授权?一、什么是OAuth协议OAuth(开放授权)是一个开放标准。允许第三方网站在用户授权的前提下访问在用户在服务商那里存储的各种信息。而这种授权无需将用户提供用户名和密码提供给该第三方网站。OAuth允许用户提供一个令牌给第三方网站,一个令牌对应一个特定的第三方网站,同时该令牌只能在特定的时间内访问特定的资源。二、OAuth的原理和授权流程OAuth的认证和授权的过程中涉及的三方包括:服务商:用户使用服务的提供方,一般用来存消息、储照片

系统 2019-08-29 22:06:14 2207

编程技术

IP地址规划的重要性

在搭建一个局域网的时候,IP地址规划的意义重大。如果你的网络永远不会被扩展和定制,那么你可以随意的规划IP地址,只要能保证路由是通的就可以了。然而如果将来有一天你需要对已有的网络进行拓展,那么就需要精心安排地址了。原则就是:尽量使逻辑上同类的地址规划成连续的地址,并且起始地址最好是2的次幂。这样做的原因在于可以方便的划分子网。考虑下面的拓扑:有一天,需要在该局域网增加一台加密网关,所有到达外部网络2的流量都要被加密,而且需要把加密流量路由指向加密网关(流量

系统 2019-08-12 09:30:33 2207

编程技术

二叉树遍历--递归实现

递归这东西真是抽象,我看着看着算法,就囫囵吞枣地的写了下,写得囧了···这次先用递归实现先序,中序,后序遍历算法。先大概说下原理:我输入一大串字符,中间#就是代表了空,基本的储存结构就是二叉链表。主要就是二叉树的创建和三种顺序的遍历。二叉树的创建通过从左孩子开始创建不断递归,知道读取了#,开始创建对应的右孩子,继续递归。访问的时候对于三种顺序不过就是对于操作的顺序改变而已。对于下面的程序,按照图里面的二叉树建立方式:输入ABD#G###CE##FH###就

系统 2019-08-12 09:30:11 2207

Python

python网络编程 使用UDP、TCP协议收发信息详解

UDPUDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP传输数据时有大小限制,每个被传输的数据报必须限定在64KB之内。UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。udp通信模型中,在通信开始之前,不需要建立相关的链接,只需要发送数据即可,类似于生活中,"写信"。客户端:fromsocketimportsocket,AF_INET,SOCK_DGRAM#创

系统 2019-09-27 17:57:08 2206

Python

Python 数据结构之队列的实现

Python队列Queue队列是一种先进先出(FIFO)的数据类型,新的元素通过入队的方式添加进Queue的末尾,出队就是从Queue的头部删除元素.用列表来做Queue:queue=[]#初始化一个列表数据类型对象,作为一个队列defenQ():#定义一个入栈方法queue.append(raw_input('EnterNewString:').strip())#提示输入一个入队的String对象,调用Str.strip()保证输入的String值不包含

系统 2019-09-27 17:56:51 2206

Python

python爬虫常用模块

对于一些简单的爬虫,python(基于python3)有更好的第三方库来实现它,且容易上手。Python标准库–logging模块logging模块能够代替print函数的功能,将标准输出到日志文件保存起来,利用loggin模块可以部分替代debugre模块正则表达式sys模块系统相关模块sys.argv(返回一个列表,包含所有的命令行)sys.exit(退出程序)Python标准库–urllib模块urllib.requset.urlioen可以打开HT

系统 2019-09-27 17:56:28 2206

Python

python操作CouchDB的方法

本文简单讲述了python操作CouchDB的方法,分享给大家供大家参考。具体方法如下:1.安装pythoncouchDb库:https://pypi.python.org/pypi/CouchDB/0.102.连接服务器>>>importcouchdb>>>couch=couchdb.Server('http://example.com:5984/')3.创建数据库>>>db=couch.create('test')#新建数据库>>>db=couch['

系统 2019-09-27 17:55:43 2206

Python

python找出一个列表中相同元素的多个索引实例

定义:X=[1,2,3,1,4]任务:找出元素为1的索引Solution:#如果直接用X.index(1),只能得到0这一个索引,而我们需要所有索引.l=len(X)zip_list=zip(*(range(l),X))id1=[z[0]fori,zinenumerate(zip_list)ifz[1]==1]#或者更简单的id1=[ifori,xinenumerate(X)ifx==1]以上这篇python找出一个列表中相同元素的多个索引实例就是小编分享

系统 2019-09-27 17:53:25 2206

Python

python3 自动识别usb连接状态,即对usb重连的判断方法

在做自动化测试时,遇到两种情况需要判断usb是否已连接上(注,本文仅针对用adb命令来control手机)一种是在开测时(前提是同时要测试多台),希望等待所有设备usb全部识别后同时进行测试。对于这一种,当然是可以另开一个窗口不断的输入adbdevices来检测,但不够AI。一种是在测试过程中有时usb会自动断开,这时如果不判断usb是否有重新连接的话,则测试还会往下执行,测试指定是失败的。第一种情况:其思路还是要利用adbdevices来不断的获取当前已

系统 2019-09-27 17:49:57 2206

Python

Python isinstance函数介绍

isinstance(object,classinfo)判断实例是否是这个类或者objectobject是变量classinfo是类型(tuple,dict,int,float)判断变量是否是这个类型复制代码代码如下:classobjA:passA=objA()B='a','v'C='astring'printisinstance(A,objA)printisinstance(B,tuple)printisinstance(C,basestring)输出结

系统 2019-09-27 17:49:50 2206

Python

Python3 协程

协程定义:协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。协程的标准定义:必须在只有一个单线程里实现并发修改共享数据不需加锁用户程序里自己保存多个控制流的上下文栈一个协程遇到IO操作自动切换到其它协程特点:协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此,协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每

系统 2019-09-27 17:49:15 2206

Python

Python实现把xml或xsl转换为html格式

前些天用python处理xml的转换的一个小程序,用来把xml,xsl转换成html。用的libxml2,所以还要先安装了libxml2模块才能使用。#-*-coding:mbcs-*-#!/usr/bin/pythonimportlibxml2,libxsltclasscompoundXML:def__init__(self):self._result=Noneself._xsl=Noneself._xml=Nonedefdo(self,xml_file

系统 2019-09-27 17:47:12 2206

Python

50行Python代码获取高考志愿信息的实现方法

最近遇到个任务,需要将高考志愿信息保存成Excel表格,BOSS丢给我一个网址表格之后就让我自己干了。虽然我以前也学习过Python编写爬虫的知识,不过时间长了忘了,于是摸索了一天之后终于完成了任务。不得不说,Python干这个还是挺容易的,最后写完一看代码,只用了50行就完成了任务。准备工作首先明确一下任务。首先我们要从网址表格中读取到一大串网址,然后访问每个网址,获取到页面上的学校信息,然后将它们在写到另一个Excel中。显然,我们需要一个爬虫库和一个

系统 2019-09-27 17:46:28 2206

Python

Python循环语句之break与continue的用法

Pythonbreak语句Pythonbreak语句,就像在C语言中,打破了最小封闭for或while循环。break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。break语句用在while和for循环中。如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。Python语言break语句语法:break流程图:实例:#!/usr/bin/pythonforletterin'P

系统 2019-09-27 17:45:48 2206