线性表属于数据结构中的线性结构,线性结构具体有以下特征:

  • 集合中必存在唯一的一个第一个元素
  • 集合中必存在唯一的一个最后的元素
  • 除最后元素之外,其它数据元素均有唯一的后继
  • 除第一元素之外,其它数据元素均有唯一的前驱
阅读全文 »

当我在 Android Studio 中使用如下方式

1
2
3
4
5
6
new Thread(new Runnable() {
@Override
public void run() {
// do sth.
}
}).start();

创造线程时,编译器会报告如下警告:

带着这些疑问,让我去学习了一下直接创造线程有什么缺点,及线程池的优点和使用。

阅读全文 »

简介

Android 7.1 (API level25、Build.VERSION_CODES.N_MR1)中加入了新的 API ——Shortcuts,它提供了一种新的快捷访问方式,类似于 iPhone 的 3D Touch (现已加入豪华名称菜单——三维触控),并且这中快捷方式可以被拖拽到桌面上单独放置。

吐泡泡 Shortcuts Demo 下载

阅读全文 »

Java 中使用的容器从大的方面上来粉可以分为两种:CollectionMap,区别也很简单,Collection存储的是单个值,Map存储的是键值对。

  • Collection 的划分分为 List,Set,Queue

    • List:常见接口有ArrayList,LinkedList,AbstractList, CopyOnWriteArrayList, Vector,Stack;
    • Set:常见接口有HashSet,TreeSet,LinkedHashSet,AbstractSet,CopyOnWriteArraySet,EnumSet;
    • Queue:常见接口有(阻塞队列)ArrayBlockQueue、PriorityBlockingQueue、LinkedBlockingQueue(双端队列)ArrayDeque、LinkedBlockingDeque、LinkedList
  • Map 的常见接口有Hashmap、Treemap、Hashtable、AbstractMap、ConcurrentHashMap、 LinkedHashMap、WeakHashMap

阅读全文 »

Activity 的生命周期和加载模式是 Android 开发的基础,有些项目中的需求可以巧妙使用不同的加载模式来解决,之前使用 Android 加载模式时还有一些没有理解透彻的地方,在此做一个总结。此外,当打开已存在栈中的 Activity 时,并不会走onCreate()方法,而是会走onNewIntent()方法,在onCreate()做过的操作也会一并走一遍,在此也对这种情况做一个说明。

阅读全文 »

ADB 的全称是 Android Debug Bridge,在以前仅仅是用它来安装应用、存取文件等简单操作。细细学习了解之后才发现 ADB 还能实现很多强大的功能。在此总结一下 ADB 的一些常用功能

阅读全文 »
0%