自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 Hello Kotlin

今天使用了一下kotlin, Google指定的Android官方开发语言。简单记录一下。一、使用Android Studio 配置开发环境我的AS版本是2.2.2,在打开AS之后,只需要在File-Settings-Plugins-Brower Repositories中搜索KOTLIN插件,点击安装,59.3Mb大。安装完成之后,重新启动AS即可。二、使用kotlin和平常一样,新建项目,然后点

2017-08-09 08:19:51 327

转载 ThreadLocal的设计理念与作用

Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量。因此,如果一段代码含有一个ThreadLocal变量的引用,即使两个线程同时执行这段代码,它们也无法访问到对方的ThreadLocal变量。1.如何创建ThreadLocal变量 以下代码展示了如何创建一个ThreadLocal变量:private ThreadLocal myThreadLocal = new Threa

2017-07-28 15:36:38 280

原创 写的很好的一个面经 记录

链接在此 希望自己在秋招之前将其中所有的知识点复习到~ 点击这里~ 加油~

2017-07-19 21:54:45 258

转载 浅析HashMap与ConcurrentHashMap的线程安全性

本文要解决的问题:最近无意中发现有很多对Map尤其是HashMap的线程安全性的话题讨论,在我的理解中,对HashMap的理解中也就知道它是线程不安全的,以及HashMap的底层算法采用了链地址法来解决哈希冲突的知识,但是对其线程安全性的认知有限,故写这篇博客的目的就是让和我一样对这块内容不熟悉的小伙伴有一个对HashMap更深的认知。哈希表在数据结构中有一种称为哈希表的数据结构,它实际上是数组的推

2017-07-08 22:49:07 507

原创 在Manifest中注册ContentProvider的写法和含义

最近在做项目时候,使用到了ContentProvider来共享数据,使用ContentProvider时候,必须在Manifest文件中进行注册,类似于这样<provider android:authorities="list" android:enabled=["true" | "false"] android:exported=["tr

2017-06-18 10:43:41 3281

原创 Android向sdCard中写文件

这几天在做项目时候,需要将一些数据存储在sd卡中,之前没实现过,今天参照网上的一些教程实现了一下,很简单的.特此记录一下.写一个小的demo,要实现的功能就是将一个字符串写入到文件中,将这个文件保存到sd卡中,再将这个字符串从sd卡中读取出来.这样就大概了解了外存的读写了. 布局文件很简单 就一个textview,用来显示读取出来的字符串 首先记得添加两条权限,用来创建文件和写入文件在外存中.<

2017-06-12 22:36:03 355

原创 Android在Listview的一个item中设置多个控件

最近在做项目时候,遇见一个需求,听上去还听简答的,Listview中肯定是有很多个item的,如何在每个item中设置多个按钮呢?设置一个的很简答,但是设置两个三个以及多个的呢?肯定是自己重新定义item布局再重写adpter了啦~实现出来的样子是这样的 首先来定义一个接口public interface ListItemClickHelp { void onClick(View it

2017-06-06 16:41:06 1040

原创 Android View的绘制过程

简而言之,Android view的绘制过程包含三个过程: OnMeasure( )OnLayout( )OnDraw( )其中,OnMeasure( )负责确定view本身所占的空间和大小(这里的大小指长和宽)。 OnLayout( )过程确定view在其父view中的具体位置,并且根据具体位置来调整view的最终绘制大小。 OnDraw( )则负责将view在canvas中绘制出来。 如

2017-05-31 22:27:56 383

原创 Kotlin 成了 Android 开发的官方语言

Java 和 C++ 之后,Google 在 I/O 2017 上宣布 Android 加入了对 Kotlin 编程语言的支持。Kotlin 由 Java 集成开发环境 IntelliJ IDEA 的开发商 JetBrains 开发,2012 年开源,采用 Apache 2.0 许可证,它是一个运行在 Java 虚拟机上的静态类型编程语言。Kotlin 虽然与 Java 的语法不兼容,但设计成可以与

2017-05-18 20:47:25 846

原创 字符串分隔

题目要求:连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理,记录一个特别精妙的算法。import java.util.*;/* * 连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理 */public class StringDivide

2017-05-03 21:59:53 200

原创 实现二叉排序树

二叉排序树,即二叉查找树,它具有如下的特点:如果左子树不为空,那么左子树上的所有结点均小于它的根节点的值。如果右子树不为空,那么右子树上的所有结点均大于它的根节点的值。左右子树也分别为二叉排序树。 二叉排序树的代码如下所示:package BiTree;/* * 实现一棵二叉排序树 * 2 *

2017-05-02 20:37:13 183

转载 Android Studio 快捷键(转)

Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等) Ctrl+E或者Alt+Shift+C 最近更改的代码 Ctrl+R 替换文本 Ctrl+F 查找文本 Ctrl+Shift+Space 自动补

2017-05-02 15:18:36 203

原创 Android利用代码开启关闭飞行模式

今天做项目时候,需要用到代码来开关Android的飞行模式,其实比较简单啦,哦,在4.2之前. 在Android中设置飞行状态是用BroadCast的,可以通过发送action为”Intent.ACTION_AIRPLANE_MODE_CHANGED”的广播来打开或状态飞行模式. 首先,修改飞行模式需要android.permission.WRITE_SETTINGS权限,请自行添加.对权限就是

2017-04-27 17:28:10 16511 3

原创 找出数组中出现次数最多的数字&找出数组中只出现一次的数字

用map存储,key为数组中的元素,value为元素出现的次数,若数组中的元素都只出现了一次,则map.put(num[i],1),否则,每当检测到map中的key已经包含有数组元素时,将map中与之的value值加1,表示次数+1,最后再在map中找出value最大key,输出。package array;import java.util.*;/* * 找出数组中出现次数最多的数字 * 思路

2017-04-25 20:37:17 1236

原创 求一个数组中的第二大的数字

原理就是设置两个变量,一个用来存储最大元素max,另一个用来存储第二大的元素sec,遍历一次数组,比较的时候,如果数组中的值比比最大元素max大,则将max设置为这个数,将sex设置为max.当数组中的值比max小的时候,要注意将当前值和sec值进行一下比较,取大的存储。就是这么个思路。package array;public class GetMaxItem { public static

2017-04-24 22:47:38 878

原创 用时间复杂度O(1)的算法求栈中的最小元素

总体思想是以空间来换时间,设置两个栈,其中一个栈放元素,一个栈放最小的值,在push时,判断新push进去的元素和原先栈中的元素哪个小,小的才有资格入栈;在pop元素时候,要记得将存放最小值的栈的栈顶元素也pop出来。很简单。栈的实现用链表的实现方式。/* * 用O(1)的时间复杂度求栈中的最小元素 */public class MyStack1 { LinkedStack<Integ

2017-04-24 20:33:58 479

原创 队列的两种实现方式

和栈类似,用数组和链表来实现了了队列 首先是数组实现的;/* * 用数组实现一个队列 * 未处理边界情况 */public class MyQueue<E> { int size; int i=0;//队列头 private Object[] queue; public MyQueue(){ queue=new Object[10];

2017-04-20 22:15:07 349

原创 Java栈的两种实现方式

用数组和链表两种方式来实现了栈 首先来看用数组实现的,比较简单import java.util.Arrays;/* * 用数组来实现一个栈 * 栈:后进先出 * 主要有push pop peek isEmpty * peek 负责获取栈顶元素 在数组的实现中 peek负责获取最新存放在数组中的元素 stack[size-1] * 这样在pop取出元素的时候直接获取peek()的值就好

2017-04-20 22:11:52 1825

原创 实现单链表中的增删查改(2)

今天亲手写了一次单链表的增删查功能,实现了~package link;/* * 实现一个单链表的增删查改 */class Node<E>{ Node<E>next; E data; public Node(E data){this.data=data;} public void display(){ System.out.print(data+"

2017-04-20 22:06:42 208

原创 Android中checkbox实现重置

今天在实现某个小功能时候,涉及到了CheckBox,在一个页面上写了20个复选框了,很多,要写一个重置的按钮,当按下按钮之后可以实现将复选框中的对勾全部去掉,正好,在之前我已经将我的这20个checkbox放入一个list中了。public List<CheckBox>checkboxList=new ArrayList<>();这样在实现全部重置的时候就很好办啦!看以下几行代码:brn_reset

2017-04-18 17:26:15 1711

原创 bash:bison未找到命令

今天在一台新的计算机中编译android源码时候,输入make命令之后,终端提示 bash:bison未找到命令 解决的办法很简单,$ sudo apt-get install bison 即可!

2017-03-23 16:23:13 4206

原创 leetcode题目之两数求和

题目很简单,返回数组中等于目标的两数的下标。用了两种方法去求解。第一种两层循环,时间复杂度O(n^2) 第二种用了hashmap。时间复杂度O(n). question: Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may

2017-03-15 11:04:04 368

原创 归并排序的实现

归并排序是利用递归与分治技术将数据序列划分为越来越小的半子表,再对半字表排序,最后再用递归方法将排好序的半子表合并成为越来越大的有序数列。具体流程可以通过下面一张图来说明。 先将要排序的数列划分为不能再分的子序列,然后一一排序。归并排序的代码如下:package learn_link;public class MergeSortTest { public static void main(

2017-03-14 20:18:30 149

转载 如何单独编译Android源代码中的模块

第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命令,经过漫长的等待之后,就可以得到Android系统镜像system.img了。以后如果我们修改了Android源代码中的某个模块或者在Android源代码工程新增一个自己的模块,是不是还是执行make命令呢?答案是否定的,Google为我们准备了另外的命令来支持编译单独的模块,以及重新打包system.

2017-03-12 19:54:03 223

原创 冒泡排序和快速排序

冒泡排序是排序算法中最简单的。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。/*冒泡排序*/ /** * 冒泡排序 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个

2017-03-10 11:07:37 199

原创 java实现链表

主要定义了两个类,一个节点类,一个单链表类 先看节点类//节点类 public class Node { protected Node next; //指针域 protected int data;//数据域 public Node( int data) { this. data = data; } //显示此节点 public void di

2017-03-09 21:33:25 175

原创 栈和队列的“转换”

今天在复习数据结构时候,看到栈和队列这一章,有两个很有意思的问题, 1 如何使用两个栈来实现一个队列 2 如何使用两个队列来实现一个栈 思想都比较简单,简而言之就是两边儿来回倒 附两张图即可说明 接下来 记录一下这两个功能的java代码实现 首先是两个栈 实现一个队列package learnstack;import java.util.Stack;/* * 本程序计划使用两个栈来

2017-03-09 16:24:16 217

原创 随手记录一些常用的函数

昨天在做某企业的在线编程题的时候,虽然没做出来,但是其中用到了一些看似十分普通却不一定一下能想起来的方法函数,在此特地记录一下。 涉及到的功能嘛 注释里都有比较清楚的写。 有将一个字符串转换成UTF-8编码 16进制和2进制的相互转换 将一个字符串装进一个整型数组等等 下面挨个总结吧1 将一个字符串bstr装进整型数组num[ ] String bstr="your string"

2017-03-08 21:01:13 196

原创 优化ListView

Listview在Android中非常的重要,也非常的常见,我们在写一些重型的数据显示任务或者要在listview中加载一些图片时候,就应该想到对其进行优化,同样,在Android面试笔试的时候,这个问题也作为一个十分常见的问题出现,我们现在来好好总结一下,从大的方面来说,优化listview主要可以从以下几个方面入手。 *①Item布局,层级越少越好,使用hierarchyview工具查看优化。

2017-03-08 20:34:57 240

原创 对apk进行重新签名

在将应用提交到应用市场时候,应用市场会使用第三方工具为你的应用进行加固,加固之后会要求你将你的应用下载下来重新签名,记录一下重新签名的步骤。将你的应用名称后缀由apk改为zip打开zip格式的应用,将其中的META-INF文件删除再将你的应用后缀名由zip改为apk将你的keystore.jks文件和刚刚修改好的apk放在同一个文件夹下cmd进入这个文件夹在cmd中键入如下命令D:\s

2017-03-02 10:23:33 400

原创 使用mob为Android应用增加短信验证功能

在Android应用进行登录注册的时候,为了确保用户的手机号真实可用,以及忘记密码时候找回方便,现在的应用大都集成了短信验证功能,但是自己和通信运营商对接太过于昂贵和麻烦,于是,mob为我们做了这一点贡献。先贴出地址;[mob官网](http://www.mob.com/)mob可以为我们提供短信验证sdk,我们只要集成他的sdk即可。首先,我们需要去注册认证,用邮箱注册就可以,之后,点击进入后台

2017-03-01 10:37:19 413

原创 Android使用百度地图SDK实现定位功能

百度地图的sdk在地图和定位方面是非常有用的开发工具。我们应该学会如何使用它,最近的小项目中使用到了定位功能,于是自然想到了使用百度地图sdk。接下来讲一下怎么使用它的定位sdk实现简单的定位功能。 首先你需要登录百度账号,注册成为开发者。链接如下: http://lbsyun.baidu.com/ 然后,我们选择Android定位SDK http://lbsyun.baidu.com/in

2017-02-23 22:34:31 1148

原创 Android中使用MD5对密码进行加密

Android中使用MD5对密码进行加密最近在做一个小小的项目,其中用到了登录和注册,登录注册的demo网上很多,这里就不详细描述,在注册新用户和登录时候,Android设备都要向服务器发送密码,为了用户的安全,密码一定不能明文发送,所以这里采用了MD5对密码进行加密,比较简单,直接看代码。在工程目录下先创建一个MD5类可以直接复制以下代码//此处导入你的包名import java.security

2017-02-22 09:23:26 4953

原创 TaintDroid编译完成后在模拟器上运行

TaintDroid是安卓环境中一种动态污点追踪系统,简单来说,TaintDroid可以实现当有隐私数据泄露或者外流时候,系统向用户发出通知信息。最近我一直在研究TaintDroid运行出来是什么东东,具体的编译过程以后再讲,总之有很多坑,网上也有很多教程,在我编译了近两个小时 之后,终于编译完成,当你编译完成TaintDroid之后,你会生成一个system.img文件。这个文件的路

2017-02-21 17:00:46 441

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除