`
xifangyuhui
  • 浏览: 188557 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
首先需要明白,handler发消息是为了做异步操作.异步大家都很清楚.一个比较常用的例子就是.一个辅助线程要更新UI线程的画面,直接用View操作是不行的.这就需要异步更新.给UI线程发消息,让他更新.那Handler是如何 ...
一、Handler的定义:          主要接受子线程发送的数据, 并用此数据配合主线程更新UI.          解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如 ...
使用Handler的大致流程: 1、首先创建一个Handler对象,可以直接使用Handler无参构造函数创建Handler对象,也可以继承Handler类,重写handleMessage方法来创建Handler对象。 2、在监听器中,调用Handler的post方法,将要执行的线程对象添加到线程队列当中。此时将会把该线程对象添加到handler对象的线程队列中。 3、将要执行的操作写在线程对象的run方法中,一般是一个Runnable对象,复写其中的run方法就可以了。 Handler包含了两个队列,其中一个是线程队列,另外一个是消息队列。使用post方法会将线程对象放到该handle ...
appears as a floating view over the application. It will never receive focus.Activity学习: 一、Activity认识 Activity是用户与Android应用程序交互的接口,用户操作应用程序都是通过Activity完成的,这只是一种抽象的定义方式。在Activity中可以放置各种控件,如TextView,Button等,又可以把它看作是一个控件容器。 二、创建Activity以及运行Activity的步骤 1、一个Activity其实就是一个类,这个类继承于Activity。 2、需要覆盖onC ...
题目: 计算并输出 nXn 的蛇形矩阵。(n>0)例如 4X4 的蛇形矩阵如下:1   3   4  102   5   9  116   8  12  157  13  14  16   类似于前面的输出螺旋矩阵的方法,每一次在数组中填写新的数字都有一个方向,与输出螺旋数组不 ...
题目: 计算两个矩阵 A、B 的乘积矩阵 C。      矩阵 A={1,2,3,4,5,6};矩阵 B={7,8,9,10,11,12}。两个矩阵的乘积仍然是矩阵。若 A 矩阵有m行p列,B 矩阵有p行n列,则它们的乘积 C 矩阵有m 行n 列。                   C=A*B 的算法:  Cij=  (i=0,1,……,m-1;j=0,1,……,n-1)设 A、B、C 矩阵用 3 个 2 维数组表示:a 数组有 3 行 2 列,b 数组有 2 行 3 列,则 c 数组有 3 行 3 列。如:c[0][0]=  a[0][0]*b[0][0]+a[0][1]*b[1][ ...
螺旋数组 要求:存储和输出nXm的螺旋数组,其中n和m为大于0的整数。          以下是一些螺旋数组的示例:             1        2   3  4                      1   2   3  4   5 12 13 14 5                      14 15 16 17 6 11 16 15 6                      13 20 19 18 7 10 9   8   7                      12 11 10 9  8 4X4螺旋数组             ...
要求:      统计一个整数中出现最多的数字。如果数字个数一样,则以最大的数字为准,例如 1 输出 1,121 输出 1,23231 输出 3。   针对这个问题,处理步骤可以分为2步: 第一步:首先抽离整数中的每个数字,并且放到该数字对应的桶数组中,桶数组是一个长度为10的数组,其中数组的每个索引都表示整数中可能出现的数字,数组索引0到9刚好表示0到9这10个数字。至于抽离数字可以先将整数对10取模,得到的最低位的数字,再将该数字对应的数组位置的元素加1,接着再将整数除以10,这样到整数为0时,就已抽离出整数中的所有数字。   第二步:现在桶数组中的10个元素表示的是整数中所有数 ...
问题描述: 每只母鸡 3 元,每只公鸡 4 元,每只小鸡 0.5 元,如果花100 元钱买 100 只鸡,请问有哪些可能?说明:每种鸡的数量都可以为零。   今天在java编程那些事上看到了这个问题,网上已经有很多版本的答案了,三重循环实现的,二重循环实现的,一重循环实现的,今天我尝试用1重循环实现了,大家看看我的方法,欢迎拍砖。 由题意 假设母鸡买m只,公鸡买g只,小鸡买x只,那么0<=m<=33,0<=g<=25,0<=x<=200,相信大家这个应该都知道。 另外 m+g+x=100                            (1) ...
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) 证明:a可以表示成a = kb + r,则r = a mod b            假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因此d|r            因此d是(b,a mod b)的公约数             假设d 是(b,a mod b)的公约数,则 d | b , d |r ,但是a = kb +r 因此d也是(a,b)的公约数            因此(a,b)和(b,a mod ...
更深入地理解自增自减运算符 首先贴一个非常简洁却不简单的代码: Java(jdk1.6) 代码 (C++代码类似,采用GNU的g++编译器) public class Test{ public static void main(String[] args){ int a=0; a = a++; System.out.println(a); } } 思考一个问题,这个程序a的输出是多少呢? … … 最开始的想法是这样的,++自增运算符在这里是后缀式,应该是a赋值给a之后,a再自增一次,即首先a=a, ...
在Think in Java中有这么一段话“对char,byte或者short进行移位处理,那么在移位进行之前,它们会自动转换成一个int。只有右侧的5个低位才会有用。这样可防止我们在一个int数里移动不切实际的位数。若对一个long值进行处理,最后得到的结果也是long。此时只会用到右侧的6个低位,防止移动超过long值里现成的位数。”   对上面那段话的理解是:移位操作符操作的运算对象是二进制的“位”,int类型是32位也就是2的5次幂 !如果移32位以上,那么原来的数的信息会全部丢失,这样也就没有什么意义了!所以上面的“只有右侧的5个低位才会有用”说的是:移位操 ...
  最近做了几个公司的笔试题,都考到了以单词为最小单位翻转字符串,这里自己总结一下:  Write the function void reverseStringWordByWord(char[] input) that reverses   a string word by word.  For instance,   reverseStringWordByWord("this is my test prog ...
第1题 JSP中静态Include和动态Include的区别 动态INCLUDE :用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE :用include伪码实现,不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %> 1. 静态include的结果是把其他jsp引入当前jsp, ...
什么是XSS(跨站)攻击 ·XSS(跨站)攻击的概念   XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。而本文主要讲的是利用XSS得到目标服务器的shell。技术虽然是老技术,但是其思路希望对大家有帮助。 ·跨站攻击的方式
Global site tag (gtag.js) - Google Analytics