- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 Android子线程更新UI就会Crash么
子线程中真的不可以更新UI么?看一个熟悉的场景:运行结果可能很多人猜是:ViewRootImpl$CalledFromWrongThreadException可惜啊,并没有任何异常,良好运行
2017-04-01 17:35:36
1974
原创 Android 消息机制 - Message
下面看Message的构造,Message msg = new Message();这是调用Message无参数的构造方法:
2016-05-11 01:47:57
519
原创 Java 折半查找
折半查找(二分查找)用的是二分法,即待查元素与表中间位置比较,相等则查找成功,否则将表分成前后两个子表,如果中间位置记录大于待查元素 ,则进一步去查找前表,否则查找后一表 。使用折半查找有两个要求:1,必须采用顺序存储结构;2,必须按关键字大小有序排列上代码:public class 二分查找 { /** * * @return key所在索引值
2016-03-09 21:45:22
546
1
原创 Java 折半插入排序
折半插入排序(二分插入排序),也是插入排序的一种,利用二分法的思想去寻找元素应该在的位置 平均时间复杂度:O(n^2) 最好时间复杂度:O(nlgn) // 数组完全有序 最坏时间复杂度:O(n^2) // 数组完全逆序 空间复杂度:O(1) 算法稳定性:稳定上代码:public class 二分法插入排序 { private static
2016-03-09 18:03:42
429
原创 Android View中getWidth方法
这是一个让我生气的方法,遇到这个方法的时候,最开始为了省事,就去网上搜了下不少答案说,只有在onDraw中调用这个方法才可以得到这个View正确的大小,之前的方法只能得到0我想了想不对啊,onMeasure不是测量View大小的么,它应该可以得到正确的值,用Log试了下结果如图:onMeasure最后还是可以得到正确值的,因为这个方法会被调用多次,所以在这里调用getWid
2016-03-05 00:27:43
1993
原创 Java 堆排序
堆排序是对简单选择排序的优化,是一种原地排序的排序过程,只需要一个辅助空间进行交换操作 ,所以其空间复杂度是O(1)时间复杂度无论是最坏还是最好都是 :O(nlgn) , 但是它也是一种不稳定的算法,不适用于较小的数组 ,对于较大的文件比较有效
2016-03-03 22:37:58
615
原创 Java 简单选择排序
简单选择排序是一种很简单的排序,和冒泡有很多相似之处,比如两层for循环 ;但是时间复杂度太高了,最好最坏都是O(n^2)
2016-03-01 20:28:34
459
原创 Java直接插入排序
直接插入排序是 -插入类排序-的一种 具体过程:数组第二个及后面的元素位置放入到一个整型变量observe中,依次作为监视哨,依次和后面的元素data[i]比较,如果 observe < data[i], 则data[i+1] = data[i] 接着和data[i-1]比较,直到遇到一个小于或等于observe的元素data[k],此时data[k]后面一定是空位置,data[k+1] = observe ,
2016-02-29 21:48:01
481
1
原创 安卓获取安全码SHA1
用到高德地图开放平台开发Android应用的时候 ,它需要每个应用绑定一个KEY ,获取这个KEY需要一个安全码 SHA1 。那么这个SHA1是什么呢 ?这个是和签名有关的一个东西 具体是什么实在没去
2016-01-22 15:17:56
1538
原创 安卓Activity创建界面过程-API源码解析
我们知道Android 软件每一个界面 都是Activity构成的 那么Activity 是怎么创建一个界面的呢 ?接下来是看源码时间 从setContentView开始
2016-01-19 19:30:44
1049
2
原创 第三方源码网站学习Android源码
网站地址 :http://grepcode.com/里面的android的源码很全(这右侧的广告是怎么回事。。。) 现在我看已经到 Android 22 了 里面包含了安卓所有类 包括一些系统服务类 不存在于android.jar 中 所以项目中无法看到 更无法调用有兴趣研究 Android frameworks 和安卓底层实现
2016-01-19 18:45:55
412
原创 Eclipse导入v7包出现的各种错误
5.0时代(android L)已经是两年前的事了 6.0的SDK现在都可以用了 那么对于向下兼容的问题越来越重要 所以不得不用v7这个包 eclipse不同于 Android Studio可以gradle中一句compile直接引用v7需要手动从SDK目录的 \extras\android\support\v7\appcompat 导入这个v7项目
2016-01-19 13:37:34
1596
原创 Java贪心算法 删数字问题
问题描述:对给定的n位数字 指定要删除的数字个数 k ,要求删除这k个数之后 ,按照数字原左右顺序 新形成的数字最大如输入: 5689 1 表示对于5689 删掉一个数字后 得到最大值 应输出 : 689贪心算法核心思想就是 :总是做出当前最好的选择 那么要删除每一个数时 都从左侧第一个数(最高位)开始比较每两个数字的大小 如果左侧
2016-01-14 11:26:49
932
原创 自定义actionBar --RelativeLayout实现
actionBar 效果 :采用了沉浸式布局 看着比较舒服 继承自RelativeLayout 只有一个自定义属性 定义 自定义文字 的文字 public class Lyt_ActionBar extends RelativeLayout { private ImageView iv; private TextView tv; pri
2016-01-13 14:46:37
798
原创 Java JSON 的使用
JSON 作为一种网络传输中常用的数据转换格式 不得不用啊 它类似于XML 但是更小 更易解析 推荐使用 FastJson的jar包 快且好用 通过对JSON类的静态方法的调用 去完成转化 那么转化什么呢 其实就是字符串和对象之间的转化 String jsonStr = JSON.toJSONString(obj);说明
2016-01-02 14:48:39
317
原创 Java参数传递机制
Java中的参数传递发生在方法调用中 。有的时候传递一个基本类型的变量 然后方法中改变参数的值 ,原先的变量并不会被改变。但是当传递一个非String类型的对象时 ,方法中改变这个传入的对象,原先的对象会被改变。这些情况,需要分析总结一下 。先说一下Java 参数传递的两种规则:1)按值传递; 使用这种方式传参,原先的参数的值不发生改变,因为只是将这个参
2015-12-15 12:53:41
432
原创 Java 对象在内存中的存储
Java中 强调: 一切都是对象 尽管如此 但是操纵的标识符实际上是对象的一个引用 借用THINKING IN JAVA 书中的例子 :对象作为电视机 引用就作为遥控器 只要握有这个遥控器 就可以保持与电视机的联系 当想改变频道时 实际上操纵的是遥控器,再由遥控器来调控电视机(对象) 此外 ,引用也可以独立存在,如: String sl;
2015-12-15 01:30:07
1723
原创 Android Studio 出现非法字符 'ufeff'错误
在运行Module时 报了这个错误 点击它错误提示 指向一个类 然而这个类中并没有语法错误 却提示有非法字符 应该是隐藏字符BOM的问题 下载一个软件叫Notepad++ 文件中选择打开 打开出现错误的那个类对应的java文件(在Module所在的工作空间中去找这个文件) 然后改变格式为 UTF-8 无BOM编码格式
2015-12-09 00:04:33
1031
1
原创 Java 用栈解决括号匹配问题
在南阳理工ACM看到的一道题问题描述:问题描述 : 输入一个字符串 里面只含有 [ , ] , ( , ) 四种括号 ; 现要求判断这个字符串 是否满足括号匹配 如 ([])() 是匹配的 ([)]是不匹配的先贴代码 public void check(String str) { Stack stack = new Stack(); // 如果该St
2015-12-08 17:55:52
10963
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人