安卓的所有应用都有一个放置在沙盒(sandbox)
中的文件目录。文件保存在沙盒中可以阻止别的应用的访问,甚至是其他用户的窥探。
但是有时候我们也需要共享一些文件(比如图片,音频,视频等),这时候我们可以将这些数据文件存储在外部存储介质上,比如SD卡。
安卓开发——操作栏(Action Bar)的学习
操作栏具有显示应用图标,标题,安置菜单选项,配置应用图标为导航按钮等功能。
数据结构——采用分离链接解决冲突问题的散列表(SeparateChainingHashTable)的实现
散列表是一种通过元素(关键值)的散列码直接进行数据存取操作的数据结构。
散列码是通过散列函数获取的,一般好的散列函数很重要,可以把元素均匀的散列到数据表中,将有利于数据的存取操作。但是物理空间毕竟是有限的,所以会有不同的元素被散列到同一个位置,这是就涉及到了冲突的问题。这次的数据结构采用的则是分离链接的方式来解决冲突的问题的:具有相同散列码的元素存储在散列码对应的位置的链表中。
数据结构——平衡二叉搜索树(AvlTree)的实现
数据结构——二叉搜索树(BinarySearchTree)的实现
二叉搜索树是二叉树的一种扩展。树中的元素可以看作是有序的。由于特殊的结构,它非常适合进行二分查找操作,且查找的平均时间复杂度为O(logN)。不过其也可能退化为一个链表,此时查找的最坏时间复杂度变为O(N)。
数据结构——LinkedQueue的实现
队列是一种先进先出(FIFO)的数据结构,LinkedQueue是用链表实现的,另外还可以用回环数组的方式实现。
数据结构——ArrayStack和LinkedStack的实现
栈是一种后进先出(LIFO
)的数据结构。ArrayStack
使用数组来实现,LinkedStack使用链表来实现,各有特点,也都非常简单。可以说这两个版本就是SimpleArrayList
和SimpleLinkedList
的简化版。
数据结构——SimpleArrayList和SimpleLinkedList的实现
SimpleArrayList
为用数组存储数据元素的方式实现的表,它是在SimpleList
的基础上改进的。SimpleLinkedList
采取的是双链表的实现方式。
数据结构——SimpleList的实现
这个SimepleList就是一个最简单的用数组实现的表。为了更好的表达表这个结构的特点,只实现存储int型数组的形式。并且没有结合泛型,接口等机制进行更高层次的抽象处理,不过以后我会在这个基础上编写一个类似JDK中的ArrayList类的数据结构。
Markdown语法学习笔记
Maekdown语法都是由一些符号所组成,并且这些符号简单易懂,一看就能了解它的含义。现在好多博客和网站的输入框都可以支持Markdown语法进行文本编辑了。最后使用Markdown的一个最大的好处就是文本可以离线编辑,还可以确保文本的格式,不一定要在线的输入框里进行编辑。