- 博客(38)
- 资源 (1)
- 收藏
- 关注
原创 三级缓存
1、三级缓存是指:网络、 内存、 SD卡三级; 展示一张图片 1、先判断内存里是否有该图片, 如果有,显示。如果没有,进入第二步 2、判断SD卡中是否有该图片,如果有, 加载到内存中,显示,如果没有,进入第三步 3、从网络下载该图片到sd卡中,并且加载到内存中。然后显示。2、利用三级缓存来实现一个listView的图片展示,代码如下:
2016-07-18 19:27:16
1046
原创 android中的广播Broadcast
a、简介 1、广播接收器 BroadcastReceiver 2、广播发送 sendBroadcast b、用法 1、静态注册广播接收器 2、动态注册广播接收器 NetWorkReceiver netWorkReceiver = new Net
2016-07-07 15:38:35
444
原创 android中的通知Notification
1、Notification的作用 用于通知用户关于APP的一些信息。(例如:推送的聊天消息,升级消息等等) 2、Notification的用法 a、 //创建NotificationBuilder //创建PendingIntent //将PendingIntent设置到NotificationBuilder中
2016-07-07 11:37:15
394
原创 Service介绍
1、Service的概念及应用场景 service是一个没有用户界面的后台运行执行耗时操作的应用组件。 其他应用程序组件能够启动service,并且当用户切换到另外的应用场景 service将保持后台运行。另外,如果一个组件能够绑定到一个service, 那么就可以与之交互。例如:(IPC),一个service可能会处理网络操作, 或者比如播放音乐,操作文件
2016-07-07 11:24:20
602
原创 android不同进程之间的数据传递
原理:在需要传递数据的2个进程中都写一个AIDL文件,自定义一个Binder继承自AIDL所创建的哪个Binder通过Binder把进程和Service绑定起来,来达到数据互传的目的。注意:1、两个进程创建的AIDL文件的文件名必须一致2、在写完AIDL文件后要点击Build目录下的Rebuild Project进行重新编译。在创建AIDL的时候,系统不会自动进行编译,所以必须进行手动
2016-07-07 10:18:35
2350
原创 Handler的使用
1、Handler的作用:1)在Android中UI操作一般情况下不能放在子线程中进行操作,如果在子线程中操作会出现Only the original thread that created a view hierarchy can touch its views.错误,但是有的时候UI布局需要得到子线程的数据,这个时候就需要使用Handler来进行UI的操作。2)如果UI布局还没有完成,
2016-06-28 20:54:45
332
原创 Android中的文本框,图片以及点击事件的设置
一、EditView android:hint 设置文本输入框的提示信息 android:maxLength="10" 设置当前文本框中最大的输入字符的数目 android:inputType 表示设置当前文本框输入内容来控制软键盘的弹出类型 ( 可输入的内容为: textEmailAddress 邮箱,number 数字键盘,
2016-05-18 20:29:44
5054
原创 Android的5种布局
1、LinearLayout orientation:设置线性布局的排版方向 padding:设置当前容器的子元素距离当前容器的距离。 margin:设置当前控件距离父容器的距离。 layout_weight:权重,在LinearLayout的子控件中设置。 layout_gravity:设置当前控件相对于父容器的位置。 gravity:设置当前控件
2016-05-18 20:00:47
649
原创 线程
1、创建线程:a、通过继承Thread类,重写run方法。 Thread类实现了Runnable接口。b、通过实现Runnable接口 编写好一个实现了Runnable的类以后,通过 Thread thread=new Thread(MyRunnable,线程名字)。
2016-05-09 20:22:33
810
原创 利用Java代码实现把一个文件从一个地方剪切到另一个地方
1、实现原理:通过输入流读取文件的内容,在通过输出流把读取到的内容输出到其他文件中,然后再读取结束后删除原来的文件就完成了文件的剪切。
2016-05-09 20:12:48
12066
2
原创 堆排序
1、排序原理首先对要排序的数组元素的进行比较把它初始化成一个大根堆的形势,此时这个堆的堆顶既原数组的第一个元素是最大的,把它与最后一个元素交换位置,然后在把除了最后一个元素的所有元素重新排列成大根堆,拿第一个和此时的最后一个交换位置,依次执行直到剩余的最后一个元素的下标为0是结束,此时的结果就是排序后的结果。
2016-05-07 11:46:51
777
原创 基数排序
1、排序原理把要排序的数组的元素按照他们个位数的数字进行排序,然后再把排序后的数组按照他们的十位来排序,依次类推直到排到这个数组的元素中的最大数所在的位数为止,此时得到的数组既是排序后的数组。
2016-05-05 20:46:03
393
原创 归并排序
1、排序原理把要排序的数组分成多个有序的数组,再把这些有序的数组进行排序最后得到的结果就是排序的结果。2、实现步骤:1)把数组中的每一个元素都看成是有序的数组,然后把这些有序的数组两两结合进行排序;2)把第一步得到的那些有序的数组再次两两结合进行排序,不断重复这个步骤,直到只剩下一个数组;3)此时得到的数组既是排序后的数组。
2016-05-05 19:57:50
345
原创 快速排序
1、排序原理1)先从要排序的数组中取出一个基数(可以先把第一个数作为基数)然后用后面的数依次和基数比较,如果比基数大就放到基数的右边,反之放到左边;2)把数组从这个基数所在的位置分成两个数组,左边一个,右边一个,把这两个数组分别按照第一步的方法进行排序;3)一直不断的选出中间数,把数组不断的分成两部分直到只剩一个元素为止。
2016-05-04 21:03:12
329
原创 希尔排序
1、排序原理1)把要排序的数组的长度除以2用这个值作为间隔把这个数组分成多个部分,然后把每个部分分别进行插入排序;2)完成一次排序后在把刚才的那个间隔除以2,继续用现在的间隔把数组分成多个部分,然后每个部分分别进行插入排序;3)一直循环上面两个步骤直到间隔小于1结束,这个时候的结果就是排序完成后的结果。
2016-05-04 20:33:21
270
原创 printf编译时一直出错的原因
出现这种错误的原因可能是eclipse的编译环境设置错误,可以选中工程名右键单击选择properties进行设置编译环境。双击JRE System Library进入编译环境的设置,把编译环境设置成JavaSE-1.7就可以了。
2016-04-25 21:13:30
2291
原创 File类的常用方法
File file = new File("C:\\Users\\Administrator\\Desktop\\qwe.txt");a、可读/可写/执行 file.canRead() file.canWrite() file.canExecute() b、创建文件 file2.createNewFile(); c、删除文件或者目录的操作
2016-04-23 10:20:33
539
原创 List集合
1、集合概念以及集成结构:2、Collection接口:3、泛型的使用4、Iterator:5、List接口:(ArrayList 和 LinkedList 的区别) 7、Vector和Stack
2016-04-19 19:46:12
341
原创 Java中的排序方法(冒泡排序 和 选择排序)
1、冒泡排序(从小到大排序)原理:通过不断的交换位置(即冒泡)来使数组按次序排列起来。a实现逻辑:b实现代码:2、选择排序:(从小到大排序)原理:通过不断的把剩余的数组的值 的最小值取出来放到剩余数的最前面来完成排序a、实现逻辑b、实现代码
2016-04-13 19:32:05
320
原创 把两个变量交换数值的方法
public class C { public static void main(String[] args) { //第一种方法 int a = 20; int b = 10; a = a ^ b; b = b ^ a; a = a ^ b; System.out.println(a); System.out.println(b);结
2016-04-05 20:00:41
734
原创 环境变量
配置环境变量:第一步:右键单击我的电脑,打开属性,选择高级系统设置,在选择环境变量开始配置。第二步:环境变量的配置:新建系统变量JAVA_HOME 和CLASSPATH变量名:JAVA_HOME变量值:C:\Program Files\Java\jdk X.X.X(安装的jdk的安装路径)变量名:CLASSPATH变量值:.;%JAVA_HOME%\lib\dt.j
2016-04-05 19:30:33
266
原创 移位(左移,右移和无符号右移)
public class Shift { public static void main(String[] args) { int x = -50; int a = 50; int b = 5 ; int m = 1; int c = a >> b; int d = a int e = a >>> b; int q = x >> b; i
2016-04-04 10:26:55
3829
原创 8种基本数据类型和运算(隐式转换和强制转换)
java中的8种基本数据类型:byte,short,char,int,long,float,double,boolean。byte 1 个字节,取值范围:-128~127, 8 位;short 2 个字节,取值范围:-2^15~2^15-1, 16 位;char 2 个字节;int 4 个字节, 取值范围:-2^31~2^31-1, 32 位;long 8
2016-04-04 09:26:34
2883
1
原创 java运算符(++运算和+=运算)
public class Qperator { public static void main(String[] args) { int a = 5; int b = 10; int c = a +++ b; int d = a + (++b); a += b; System.out.println( "a=" + a); System.out.pr
2016-04-04 09:11:16
2095
原创 for循环,while循环,do while循环
for(int i = 0 ; i }while(true){}do{} while(true);for 循环和while 循环满足条件才能进入循环体,do while 循环先进行一次循环才去判断循环条件是否成立,如果成立继续进入循环体进行循环,否则退出循环。break ; return ; continue 的区别。break:退出当前循环,不是跳到下一个循环
2016-04-04 08:39:08
630
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人