- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 开发中遇到有用的lib
谷歌Android示例App链接https://developer.android.google.cn/samples/谷歌蓝牙说明https://developer.android.google.cn/guide/topics/connectivity/bluetooth#ConnectingAsAClient短视频编辑SDK免费了, 请直接拿去用.http://www.apkbus....
2020-04-26 17:04:25 287
原创 Java中switch中基础知识和思考
一、Java中switch()变量类型在JDK1.7之前只能是数值类型,包括:int、short、char、byte和enum类型;在JDK1.7(包括JDK1.7)开始支持String类型;二、如果在所有的case中没有对应的值在Java的switch中,如果在所有的case中未找到对应的值时,则执行default中的代码块;执行完成执行default中的代码块然后也需要两种情况:...
2019-01-27 23:20:45 468
原创 Android中的事件分发机制基本认识
基础认识Android 中事件的传递流程:Activity--------> Window(PhoneWindow)------&am
2018-10-19 22:54:33 283
原创 Java中反射基础认识
1、获取Class对象的三种方式 1.1 Java的Object提供一个方法 getClass(),返回一个class对象 1.2 任何数据类型(包括基本数据类型)都有一个“静态”的class属性 1.3 通过Class类的静态方法:forName(String className)(常用) 1.4 new 方式获取对象 2、通过反射获取构造方法并使用:...
2018-10-16 23:55:36 249
原创 Java中Semaphor信号量的使用
一、基本概念Semaphor信号量是多线程中经常会用来解决多线程中可共享资源的工具计数辅助类。Semaphor本质上是一个共享锁,在内部维持一个信号许可state,线程通过acquire()获取许可即state-1;,如果信号量Semaphor中的许可没有发放完(state>0)时线程立即获取许可继续执行,否则线程阻塞等待其他线程释放许可,Semaphor再分配才可以进行执行;同时线程执行...
2018-09-27 00:02:12 1895
原创 Java中多线程交替打印
一、两线程交替打印数字和字母要求控制台中输出的内容为 A1B2C3D4这应该是多线程面试题中推简单的笔试题了吧;1.Object. notify()和Object.wait()实现; private void init (){ char[] c = new char[26]; int[] num = new int[26]; for (int ...
2018-09-19 23:50:15 3096
原创 Activity中布局文件加载流程
概述本篇文章从源码(基于Android 8.1)角度,由setContentView开始切入分析Android中Activity的View的绘制流程,侧重于对整体流程的分析,对一些难以理解的点加以重点阐述,目的是把View绘制的整个流程把握好,而对于特定实现细节则可以日后再对相应源码进行研读。 在进行实际的分析之前,我们先来看下面这张图: 一、开工1.Activity.setC...
2018-09-17 00:41:18 1410
原创 Java中关于try catch finally中的问题总结
关于try catch finally中的几个问题基本上都是为了应对面试的,当然有些也是为了加身认识。一、try catch finally中finally中代码不执行的情况1.try catch 中存在死循环[while(true)死循环],而且代码中不会抛出异常; 正常的代码:类似的例子如Android主线程中Handler的Looper循环线程一样; 程序中...
2018-09-12 23:38:00 2750
原创 Java中Thread线程基本知识
一、线程生命周期和状态 新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)五种状态新建(New):创建线程时通过new方法来创建,处于新建(new)状态的线程JVM已经在内存空间分配好内存空间,创建好还没有没有执行start方法的线程状态;就绪(Runnable):对已经new好的Thread进行start()方法之后,Java...
2018-09-12 16:44:18 566
原创 Java中LockSupport的使用
一、基本使用 LockSupport是JDK1.6中在java.util.concurrent中的子包locks中引入的一个比较底层的工具类,用来创建锁和其他同步工具类的基本线程阻塞原语。java锁和同步器框架的核心 AQS: AbstractQueuedSynchronizer,就是通过调用 LockSupport .park()和 LockSupport .unpark()实现线程的阻塞和唤...
2018-09-11 21:18:08 2074 1
原创 Java中ReentrantLock的使用
一、基本概念可重入锁:也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍然有获取该锁的代码,但不受影响。在JAVA中ReentrantLock 和synchronized 都是可重入锁; 重入锁ReentrantLock 相对来说是synchronized、Object.wait()和Object.notify()方法的替代品(或者说是增强版),在JDK5.0的早期...
2018-08-25 23:12:54 19603 7
原创 Java中List遍历的几个问题
1》Lambda表达式中Stream.forEach()简单问题中return 、break、continue使用; 2. Lambda表达式中Stream.forEach()的效率问题;public class MainActivity extends AppCompatActivity { @BindView(R.id.button_a) Button buttonA;...
2018-08-19 20:20:19 6097
原创 Java中Callable实现多线程
1.Handler消息传递机制Android 中Handler在作用和功能就不用多说了,个人浅薄认识Handler根本上也是通过共享数据实现线程通信的; Handler采用了类似[观察者模式]设计思想,主线程中通过继承Handler成为观察者,子线程中借助Handler对象发布消息,Looper负责检测目标MessageQueue中的变化,如果目标Queue的size发生变化,立即通知观察者...
2018-08-04 23:25:48 1118
原创 串-朴素的模式匹配算法(java)
朴素的模式匹配算法实现Java中indexOf(String str, int fromIndex); 即字主字符串中查找目标字符串并返回指针地址;public class StringUtils { public static int indext(String src, String target) { return indext(src,target,0); ...
2018-07-06 22:21:36 702
原创 Java中关于随机数的基本应用
生成指定大小范围的随机数 /** * 生成[50000-60000]的随机数 */ public static void printRandow() { //生成随机数方式: Math.random() //公式: int sends = (int) (MIN + Math.random() * (MAX - MIN + 1));...
2018-06-27 16:23:38 1110
原创 简单工厂模式
工厂模式(FactoryPattern)创建行设计模式之一。 定义一个用于创建对象的接口,让子类决定实例化那个类。实例: 工厂类;/** * 抽象工厂方法工厂类 */public abstract class Factory { /** * 抽象方法 [具体由子类实现] * * @param clazz Class<T> 需要创建...
2018-06-24 13:17:14 141
原创 递归编程实例
斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …递归实现波那契数列 /** *斐波那契数列递归 * F(n)=F(n-1)+F(n-2)(n≥2,n∈N*) * @param index * @return */ public static int getF...
2018-06-24 13:00:11 2629
原创 allowBackup引发的问题
AndroidStuduio项目报错今天AndroidStudio项目中引入一个AAR后一直报错: Manifest merger failed : Attribute application@allowBackup value=(false) from AndroidManifest.xml:9:9-36 is also present at [com.XXXXXXX]...
2018-06-15 00:41:43 4272
原创 Java位运算基础
一、位运算基础最近在项目中有个串口通信的实现和IC卡块通信的需要,和单片机通信过程中处理常见的串口中起始位、数据位、验位和停止位之外,还有数据在不同进制的转换和位运算,开始搞得是一头雾水。现在温故一下位运算基础知识。目前数值在电脑存依然是以0和1的不同组合的二进制形式。先熟悉一下位运算基础知识:机器数、真值、原码、补码、反码吧。(一)、机器数和真值机器数就是数值在计算机中的表示形式...
2018-06-09 23:49:03 5057 1
原创 常用的ADB命令
写在前面的话其实关于adb命令的技术博文已经很多而且有些写的很全面的,但我之所以字在重复写一遍[而且内容不全]并不是想“狗尾续貂”,只是最近有一次忽然发现,以前用过的很多命令有些忘记了,平时想不起来直接度娘了。现在忽然感觉有必要记一下,虽然有点晚,但总比停下来强一些,写一遍也让自己对adb命令有个新的认识。以下所有的adb命令全部是本人在工作中使用过或者自己平时使用过的,如有记录出错或者错误望...
2018-04-17 22:57:58 2882
原创 初识批处理文件(bat)
什么是批处理文件批处理文件首先是一个文本文件,这个文件是由DOS命令或者非DOS命令,也可以是由条件语句(if)和流程控制语句(goto)以及循环语句(for)组成的一种简单的程序[批处理文件的编程能力十分有限,也是十分不规范],文件本身既具有文本的可读性,又具有程序的可执行性的,具有对某对象进行批量的处理能力的程序。 在网上看到很多对批处理介绍基本上都差不多,但是很快就发现Dos命令、CM...
2018-04-14 19:21:56 1097
原创 AndroidStudio 3.0中之后无法打开DDMS [Android Device Monitor] 问题
一、AndroidStudio 3.1.1中无法打开Android Device Monitor最近升级了AS后发现在Tools下Android中没用了,这样就不能愉快的打开了DDMS了,但是有些工作还是需要DDMS的帮助的,于是就开始了和AndroidStudio为打开DDMS斗智斗勇一番。先看看Google对AndroidStudio 在3.0以后版本中Android Device M...
2018-04-11 11:21:09 25134 6
原创 Android设备管理器DevicePolicyManager的使用和理解
上周项目中有个在apk上层实现息屏亮屏的需求,刚开始在网上看到是DevicePolicyManager来实现的,虽然最后根据自己项目特定的环境下并没有使用DevicePolicyManager这个类去实现息屏功能,但看到很多有意思的API值的学习;以备不时之需。JUST DO IT至于在Android设计之魅力现在还来不及膜拜; 个人感觉首先应该看看: Device Administ...
2018-04-03 00:05:58 18389 2
原创 Android中由于ContentProvider导致的“应用组件的命名与已安装应用有冲突”问题
情况是这样子的我刚到公司上班,还没有来得及熟悉代码,公司就需要给一个客户(销售代理)公司定做对外宣传App,就是将公司的App修改UI,然后以他们公司名义上线,用于销售宣传,于是呼就修改包名、修改UI、简单的自测之后就被催促着匆匆打包上线了。 结果客户说一个Android手机上不能同时安装我们App和给他们修改后的App,当时一直没搞明白是什么鬼(以为是so库是问题,公司有个自己编...
2018-03-09 23:54:37 10518 5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人