- 博客(19)
- 资源 (12)
- 收藏
- 关注
原创 初识Android framework层
Android系统的构成如下,从上到下依次是Application应用层 Framework框架层 LIbrary系统库层 Linux内核层关于Framework层:Android的Framework是直接应用之下的一层,叫做应用程序框架层。这一层是核心应用程序所使用的API框架,为应用层提供各种API,提供各种组件和服务来支持我们的Android开发,包括ActivityMa...
2018-07-31 19:15:25 13495
转载 Invalidate、postInvalidate、requestLayout应用场景与区别
1、Invalidate和postInvalidate的区别Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。 鉴于此,如果要使用invalidate的刷新,那我们就得配合handler的使用,使异步非ui线程转到ui线程中调用,如果要在...
2018-07-30 22:08:32 1647
原创 Android中Handler的post(Runnable)用法和handleMesaage用法
在Android中,Handler被用来提供用于线程间通信,以确保线程通信安全(比如UI线程的安全)。包含四个组成部分:Message,Looper,MessageQueue,Handler,这四个组成部分构成了多线程中经典的“生产者————消费者模型”1、成员介绍 Message:主要功能是进行消息的封装,同时可以指定消息的操作形式; Looper:消息循环泵,用来为一个线程跑一个消息循...
2018-07-30 21:41:31 19990 2
原创 Android为什么在非UI线程中进行UI操作而不报错
一般而言,android中相关的view和控件不是线程安全的,Android会禁止在非UI线程更新UI,对于显式的非法操作,比如说直接在Activity里创建子线程,然后直接在子线程中操作UI等,Android会直接异常退出,并提示should run on UIThread之类的错误日志信息。而对于隐式的非法操作,App不会直接简单粗暴地异常退出,只是出现奇怪的结果,Only the origi...
2018-07-30 17:36:05 2633
转载 为什么说android UI操作不是线程安全的
可能在非UI线程中刷新界面的时候,UI线程(或者其他非UI线程)也在刷新界面,这样就导致多个界面刷新的操作不能同步,导致线程不安全。1、为什么说invalidate()不能直接在线程中调用?2、它是怎么违背单线程的?3、android ui为什么说不是线程安全的?4、android ui操作为什么一定要在UI线程中执行? 1、为什么说invalidate()不能直接在线程中调用?...
2018-07-30 00:05:35 1048 1
原创 Android截屏、保存、分享
原理:将截取到的Bitmap赋给Dialog上的ImageView,并对Dialog加了弹出和收起的动画,实现截屏效果。首先创建一个layout名为show_cut_screen_layout用于弹出截图对话框,上面是一个image,下面是横向线性布局的两个button。<?xml version="1.0" encoding="utf-8"?><Relative...
2018-07-29 19:15:45 3298
原创 Android接入WebView(五)——浏览器制作总结及源码分享
Android接入WebView(一)——基本用法Android接入WebView(二)——与JavaScript交互Android接入WebView(三)——浏览器书签与历史记录与二维码分享Android接入WebView(四)——浏览器书签与历史记录详细处理Android接入WebView(五)——浏览器制作总结及源码分享最近写了一个基于webview和zxing,sqli...
2018-07-29 13:30:01 5784 3
原创 Android接入WebView(四)——浏览器书签与历史记录详细处理
Android接入WebView(一)——基本用法Android接入WebView(二)——与JavaScript交互Android接入WebView(三)——浏览器书签与历史记录与二维码分享Android接入WebView(四)——浏览器书签与历史记录详细处理Android接入WebView(五)——浏览器制作总结及源码分享最近写了一个基于webview和zxing,sqli...
2018-07-29 13:16:04 6473
转载 RecyclerView详细用法
本文转自https://blog.csdn.net/tuike/article/details/79064750#comments,用作参考学习RecyclerView是support:recyclerview-v7中提供的控件,最低兼容到android 3.0版本。官方介绍RecyclerView为在有限的窗口展现大量数据的控件。拥有类似功能的控件有ListView、GridView以及...
2018-07-29 10:32:23 2246
原创 Android根据图片path转成Uri,分享图片
先给出代码:通过uri.fromfile()方法将图片path,转化为uri,然后送给EXTRA_STREAM,实现分享//分享 Uri pa=Uri.fromFile(new File(filePath));//根据路径转化为uri Intent imageIntent = new Intent(Intent.ACTION...
2018-07-26 17:50:19 3208
原创 Android 3种Notification使用方法
Notification可以让我们在获得消息的时候在状态栏,以及锁屏界面显示对应的信息,接下来介绍3种Notification,分别是普通Notification,折叠式Notification,悬挂式Notification。Notification 的创建主要涉及到 Notification.Builder 、 Notification 、 NotificationManager 。...
2018-07-25 13:58:44 709
原创 HashMap和HashTable的异同
比较 HashMap HashTable 存储结构 数组 + 链表/红黑树 数组 + 链表 扩容方式 oldCap * 2 oldCap * 2 + 1 K,V能否为null key, value 均可以为 null key, value 均不可以为 null 线程是否安全 线程不...
2018-07-24 22:58:58 498
转载 HashTable详解
目录 本文转自http://www.cnblogs.com/skywang12345/p/3310887.html,致敬原作者第1部分 Hashtable介绍第2部分 Hashtable数据结构第3部分 Hashtable源码解析(基于JDK1.6.0_45)第4部分 Hashtable遍历方式第5部分 Hashtable示例本文转自http://www.cnblo...
2018-07-24 22:25:49 284
转载 解决哈希冲突,拉链法,开地址法等
本文转自https://blog.csdn.net/lyp_558/article/details/49499035哈希冲突详解我喜欢用问答的形式来学习,这样可以明确许多不明朗的问题。 什么是哈希冲突? 比如我们要去买房子,本来已经看好的房子却被商家告知那间房子已经被其他客户买走了。这就是生活中实实在在的冲突问题。同样的当数据插入到哈希表时,不同key值产生的...
2018-07-24 21:38:55 1232
转载 HashMap详解
目录概要第1部分 HashMap介绍第2部分 HashMap数据结构第3部分 HashMap源码解析(基于JDK1.6.0_45)第4部分 HashMap遍历方式第5部分 HashMap示例本文转载自http://www.cnblogs.com/skywang12345/p/3310835.html。致敬原作者概要这一章,我们对HashMap进行学习。我们先对...
2018-07-24 17:49:50 567
原创 JAVA中的String,StringBuffer,StringBuilder笔记
相对于不可变的String来说,StringBuffer类就提供了更灵活更高效的字符串处理方式 String:值不可变。 每次对String的操作都会生成新的String对象,效率低,耗费大量内存空间。StringBuffer:值可变,默认分配16字节长度的缓冲区,当字符串超过该大小时,会自动增加缓冲区长度,而不是生成新的对...
2018-07-23 23:02:08 185
转载 八大排序详解,复杂度,代码实现(转载,日常笔记)
八大常用排序算法详细分析 包括复杂度,原理和实现如下:本文转载自https://blog.csdn.net/yuxin6866/article/details/527717391. 冒泡排序1.1 算法原理:S1:从待排序序列的起始位置开始,从前往后依次比较各个位置和其后一位置的大小并执行S2。 S2:如果当前位置的值大于其后一位置的值,就把他俩的值交换(完成一次全序列比较后...
2018-07-18 23:24:44 1294 1
原创 关于Android开发中某个参数遇到了inner class 需要被定义为final
在JVM中,内部类不是直接调用方法的参数,而是内部类将传进来的参数通过自己的构造器备份到了自己的内部,自己内部的方法调用的实际是自己的属性而不是外部类方法的参数。比如:class A{ final string a="aabbcc"; class B{ print(a); }}类A中的内部类B的函数print()调用了定义在A中的参数a,这个...
2018-07-18 22:39:50 1705
转载 Android中Handler导致内存泄漏的原理分析
本文转载自天宇1. 简介在写Android应用程序时,Handler应该是很常见的一个类。我们一般在使用该类时有采用如下方法:// 1.新建一个匿名的Handler内部类,并重新handleMessageprivate Handler mHandler = new Handler() { @Override public void handleMessage(Mes...
2018-07-04 19:35:01 224
一款Android浏览器源码 功能有:扫描二维码以及本地二维码加载网页,书签和历史记录管理,无痕浏览,分享网址,分享网址二维码,浏览器出错自定义等功能。
2018-07-29
Android studio利用webview和zxing制作的一款浏览器,带二维码扫描功能,解压后用Android studio能直接打开
2018-06-22
Android利用zxing用相机识别二维码,打开闪光灯,以及识别本地图片二维码,解压后用Android可直接打开
2018-06-15
Android利用zxing用相机识别二维码,以及识别本地图片二维码,解压后用Android可直接打开
2018-06-15
Android利用zxing生成二维码,识别二维码,中间填充图片,超详细、超简易demo
2018-06-12
Android利用zxing生成二维码,识别二维码超详细、超简易demo
2018-06-11
zxing jar文件,用于Android生成二维码,识别二维码,解压后放在libs文件夹内导入
2018-06-10
Android之sqlite基本增删查改demo
2018-06-05
课程设计做的一个火车购票管理系统,给大家分享一下代码。用Android studio可以直接打开
2018-06-03
安卓密码管理本APK
2018-06-02
Android密码管理本
2018-06-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人