- 博客(21)
- 资源 (26)
- 收藏
- 关注
原创 JUnit Java单元测试
单元测试(unit testing)是指对软件中的最小可测试单元进行检查和验证。 对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类.Demo类public class Divide { public static int divide(int a, int b) { if (b == 0) {
2017-04-29 12:56:05 870
原创 Android ContentProvider详解
什么是ContentProvider? Android四大组件之一,需要在AndroidManifest.xml中配置。 如果两个应用需要进行共享数据,我们可以用直接去操作SharedPreferences,文件或者数据库。这种方式不仅麻烦而且存在严重的漏洞。以上3种方式只要知道存储的文件名,就可以进行增删查改,而这是非常危险的,如果操作过程中删除了关键的数据,可能导致另一个...
2017-04-27 22:30:35 1453
原创 Android访问系统或者其他程序
Android 开发有时需要在一个应用中启动另一个应用。 如:调用插件,访问系统默认应用。访问非系统程序访问的Activity必须配置该exported属性为true,即允许其他程序启动该Activity。 android:exported=”true”示例: <activity android:name=".MainActivity"
2017-04-26 01:36:59 509
原创 Android Activity四种启动模式
四种模式standard:标准模式,默认的加载模式。singleTop:Task栈顶单例模式。singleTask:Task内单例模式。singleInstance:全局单例模式。 Android采用Task来管理多个Activity,启动一个应用,即会创建一个Task。 可以调用Activity的getTaskId()方法来获取它所在的Task的ID。测试代...
2017-04-25 23:11:44 682
原创 Fragment生命周期
Fragment状态运行状态:该Fragment位于前台,用户可见,可获得焦点。暂停状态:其他Fragment位于前台,依然部分可见,无法获得焦点。如启动一个对话框风格的Activity,遮住来了该Fragment的部分内容。 停止状态:该Fragment不可见,失去焦点,但是未被销毁。 销毁状态:该Fragment被完全删除,或者包含该Fragment的Activity被结束。...
2017-04-25 17:33:29 1046
原创 Android ViewPapger实现滑动图片浏览器
ViewPager的简介和作用ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的viewViewPager类直接继承了ViewGroup类,所有它是一个容器类,可以在其中添加其他的view类。ViewPager类需要一个PagerAdapter适配器类给它提供数据。ViewPager经常和Fragment一起使用,并且提供了专门的FragmentPagerAd
2017-04-25 00:02:29 5611
转载 android ScrollView中嵌套GridView,ListView只显示一行的解决办法
因为在Android中,有这样一个限制,两ScrollView型的控件不能相互嵌套。像ListView和GridView就都是ScrollView型的控件。因为嵌套后,两个ScrollView型控件的滑动效果就丧失了,同时被嵌套控件的高度也被限定为一行的高度。那我们还能不能嵌套两个ScrollView型的控件呢?肯定是可以的。方法有两种:一是我们去需要自定义ListView或是GridView,并重
2017-04-22 12:49:45 558
原创 Java字符串类
StringString对象是不可改变的,字符串一旦创建,内容就帮你再改变。 Stringbianlcunchu的是对String的引用,String对象里存储的才是字符串的内容。 String s = "Java";s = "hello";思考:以上代码改变字符串的内容了吗? 尽管打印s的结果是”hello”,但是答案是否定的。 因为第一条语句创建”Java”的对象,第二条创建”hell
2017-04-18 23:03:09 1183
原创 Java封装,继承和多态总结
三大支柱面向对象程序设计的三大支柱是封装,继承和多态。 封装:把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。public class A { String a; public A(String a) { this.a = a; } public Str
2017-04-18 22:17:11 1963
原创 设计模式之:单例模式
定义与要素:定义: 确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。要素:私有的构造方法指向自己实例的私有静态引用以自己实例为返回值的静态的公有的方法饿汉式与懒汉式单例模式根据实例化对象时机的不同分为两种:一种是饿汉式单例,一种是懒汉式单例。饿汉式单例在单例类被加载时候,就实例化一个对象交给自己的引用;而懒汉式在调用取得实例方法的时候才会实例化对象。懒汉式(线程安全版)等到
2017-04-17 23:52:51 655
原创 Java内存管理
JVM回收对象的标准是什么?答:对象是否被引用。也就是说如果对象处于不可到达状态就会被回收掉。(可恢复状态)失去引用的对象怎么变活?答:系统的垃圾回收机制准备回收该对形象的时候之前,系统会调用可恢复状态对象的finalize方法进行资源清理,如果在此让一个以上引用变量引用此对象,那么这个对象又为可达对象。对象引用的分类和区别? 分类 区别 强引用 JVM不会回收强引用所引用的Java对
2017-04-17 21:49:08 583
原创 Java线程总结
基础理解线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。内存方面:进程拥有独立的内存单元,而进程内的线程只能共享进程的内存而不独立拥有;资源管理:进程由独立的地址空间,一个进程崩溃后不会对其他进程产生影响,而线程只是一个进程的不同执行路径,有自己的堆
2017-04-17 21:14:49 692
原创 Java线程池及用法
线程池:线程池管理器(ThreadPool):用于创建并管理线程池,包括 创建线程池,销毁线程池,添加新任务;工作线程(PoolWorker):线程池中线程,在没有任务时处于等待状态,可以循环的执行任务;任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行,它主要规定了任务的入口,任务执行完后的收尾工作,任务的执行状态等;任务队列(taskQueue):用于存放没有处理的
2017-04-17 21:13:19 638
原创 Java对象的内存控制
内存分配初始化内存分配—这里指的是JVM为对象在堆内存中分配内存。 每个类对应一个Class对象,但可以创建多个java对象,一个JVM内的一个类的类变量只需一块内存空间存放;对于每次创建实例都会为实例变量分配一块内存空间。先初始化类变量,然后再初始化实例变量 实例变量的初始化时机: 从程序的角度来看,每次创建Java对象都会为实例变量分配内存空间,并对实例变量执行初始化。 从语法的角度来
2017-04-17 13:24:10 1064
原创 Java程序运行原理
Java的运行流程:java编译器(编译) → 虚拟机(解释执行) → 解释器(翻译) → 机器码ClassLoaderBootstrap ClassLoader:称为启动类加载器,是Java类加载层次中最顶层的类加载器,负责加载JDK中的核心类库,如:rt.jar、resources.jar、charsets.jar等。Extension ClassLoader:称为扩展类加载器,负责加载
2017-04-17 13:00:33 1837
原创 Java数据类型及大小
基本数据类型 类型 长度 范围 byte(字节型) 1个字节 -128~127 boolean(布尔型) 1个字节 true或false int(整型) 长度:4个字节 -2147483648~2147483647 short(短整型) 2个字节 -32768~32767 long(长整型) 8 个字节 -922337203685
2017-04-17 10:32:09 6076
原创 Java异常处理总结
异常的分类Java会将所有的异常封装成对象,其根本父类为Throwable。 Throwable有两个子类:Error 和Exception。 Error一个Error对象表示一个程序错误,指的是底层的低级的不可恢复的严重错误。遇到Error,程序一定会退出,因为已经失去了运行所必须的物理环境。 对于Error我们无法进行处理,因为我们是通过程序来应对错误的,可是程序已经退出了。 Except
2017-04-16 23:45:06 396
原创 Java 文本与二进制I/O总结
文本I/O与二进制I/O二进制I/O不涉及编码和解码,因此更高效。 文本I/O建立在二进制I/O的基础之上,它提供一层抽象,用于字符层次自动进行的编码和解码。 Java的类文件存储为二进制文件。因为二进制文件与主机编码方案无关,可移植,在任何机器上的Java程序可以读取Java程序创建的二进制文件。流流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字
2017-04-16 23:03:04 2384
原创 Java关键字总结
this关键字this引用对象自身。它也可以在构造方法内部用于调用同一个类的其他构造方法。 隐藏的静态变量可以通过”类.静态变量”来引用,而隐藏的实例变量就需要使用”this.实例变量”来引用。 调用一个重载的构造方法this引用是必须的。 this是个隐式参数,代表当前对象 publie class Student{ private String name; public void s
2017-04-16 16:47:47 700
原创 Java Comparable接口的使用与自定义实现
Comparable接口Comparable接口是一个泛型接口。Java类库中:Byte,Short,Integer,Long,Float,Double,Character,BigTnteger,BigDecimal,Calendar,String及Data类都实现了Comparable接口。可以直接调用,对于没有实现的类,可以通过接口implements实现。CompareTo方法Java提供Co
2017-04-14 14:51:11 7423 1
原创 Java处理控制台输入的长度可变的数组数据
问题由来Java编程中有的时候我们会在控制台输入长度可变的数组数据(分隔符一致),例如:1 2 3 4 5 6或者1,2,3,4,5,6,7然后对这串未知长度的数据进行处理,得到对应类型的数组。分析1.由于长度可变,所以不能直接用数组去接受,可以用ArrayList存储。 2.控制台输入,可以用Scanner对象的标记读取next()方法进行处理。 3.这里要提一下,默认情况下,Scanner对
2017-04-13 14:17:45 10174
windows老版图片查看器
2018-12-07
Android自定义输入法软键盘
2018-11-28
Kotlin学习手册电子书合集
2018-11-19
Okhttp3+MVP
2018-10-31
BroadcastReceiver代码示例
2017-05-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人