Java For Android
MobMsg
【移动端】Android丨Kotlin丨Flutter丨Cordova 【前端】Vue丨Js丨Css丨Html 【后端】Java丨Kotlin丨Node 【各厂小程序】微信丨百度丨other...
展开
-
一句话讲清楚 Java【封装丨继承丨多态】三大特性很难吗!?
这句话就是...原创 2020-07-17 14:33:53 · 1375 阅读 · 2 评论 -
深深的码丨Java ArrayList 源码透析
本文将基于 JDK8 对 ArrayList 源码中的构造ArrayList()、存储add()、删除remove()、扩容grow()、序列化(writeObject()、readObject()) 等过程中所涉及 JDK 源码做行级解释原创 2020-07-13 09:08:03 · 3228 阅读 · 4 评论 -
Android TextView maxWidth、maxLines、maxLength、maxEms
maxWidth限制当前view的宽度,若此时高度设置为wrap_content,文字长度超过view的宽度时会自动换行 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#3E8...原创 2019-12-05 12:22:20 · 2431 阅读 · 1 评论 -
Android 四大组件丨Activity
Activity 生命周期onCreate():表示Activity正在被创建,常用来初始化工作,比如调用setContentView加载界面布局资源,初始化Activity所需数据等;onRestart():表示Activity正在重新启动,一般情况下,当前Acitivty从不可见重新变为可见时,OnRestart就会被调用;onStart():表示Activity正在被启动,此时Acti...原创 2019-11-08 18:11:58 · 920 阅读 · 0 评论 -
Android 四大组件丨Service
Service 生命周期onCreateonStartonBindonUnbindonRebindonDestroy普通启动onCreateonStartruning···onDestroy绑定启动onCreateonBindonUnbindonRebindonDestroyService的两种启动方式?区别在哪?startService():首先创...原创 2019-11-08 18:11:44 · 838 阅读 · 0 评论 -
Android 四大组件丨BroadcastReceiver
BroadcastReceiver 有几种形式及特点BroadcastReceiver 可分为无序广播和有序广播无序广播:通过sendBroadcast()方式发送,接收器接收顺序随机。特点是效率高,但不可停止广播或修改数据有序广播:通过sendOrderedBroadcast()方式发送,接收器按优先级顺序接收(同级时随机)。特点是可对广播进行处理,可以修改数据BroadcastRec...原创 2019-11-08 18:11:29 · 896 阅读 · 0 评论 -
Android 四大组件丨ContentProvider
ContentProvider 采用 Binder 机制,实现不同进程间共享数据与通信。本文模拟场景为:我拥有一张银行卡,家里收入归我统一管理!媳妇的收益转账给我,媳妇的零花钱由我转出,啧啧啧,我再做会儿梦!应用 A创建 ContentProvider/** * @des ContentProvider 事件接收类 * @author liyongli 20191108 * */p...原创 2019-11-08 18:11:12 · 835 阅读 · 0 评论 -
Android 自定义 View 理论基础
Android 中 View 的分类单一视图:如 TextView / ImageView 等某个特指的View 视图组:如LinearLayout / RelativeLayout 等多个单一视图组成的ViewGroupAndroid 中 View 的简介View 类是 Android 中所有组件的基类,包括ViewGroup Android 中所有组件都由 View、ViewGr...原创 2019-02-13 15:53:14 · 122 阅读 · 0 评论 -
Android Activity 四种启动模式及应用场景
1. Activity 启动模式 及 区别 Standare:默认启动模式,每次都会在虚拟栈顶创建一个实例。SingleTop:检查该 Activity 的实例是否位于栈顶,位于栈顶时复用,非栈顶时创建新实例。 SingleTask:该 Activity 在整个应用中只存在一个实例,启动此 Activity 时会检查虚拟栈中是否存在它的实例,如果存在直接复用,并把当...原创 2018-12-07 23:35:34 · 487 阅读 · 0 评论 -
Android Studio 3.0 实现 WIFI 真机调试 / AS 3.0 实现无线真机调试
WIFI 调试环境搭建步骤目前可选插件有多款,但问题是升级 AS 到 3.0 后,好几款都不能连接到手机,以下推荐这款是笔者新配置的,完全可用么得问题,运行速度给力!AS工具栏 → File → Settings → plugins → Browse repositories → WIFI → Android WiFi ADB怎样使用无线调试首先使用USB线连接手机 →然后启动插件...原创 2019-10-11 12:00:06 · 1581 阅读 · 5 评论 -
Android Spannable 千变 TextView
Spannable / 富文本的用途是丰富 Android TextView 的表现形式,如修改同一主体中某一部分文字的颜色、大小、样式、添加超链接以及添加图标,使得 TextView 功能与表现形式更强大!以下为笔者部分实现,更多请移步Google官方资料Spannable / 富文本的实现ForegroundColorSpan 修改前景色RelativeSizeSpan 修改文...原创 2019-10-11 11:46:38 · 1206 阅读 · 1 评论 -
Android 动态权限申请三步即可实现
Android 6.0 / Android M发布后,手机权限被分为两种,即:Normal Permission / 正常权限 和Dangerous Permission / 危险权限,更好的保护了用户的隐私,极大提升了系统安全性!危险级别权限都有哪些日历 READ_CALENDAR、日历 WRITE_CALENDAR、相机 CAMERA、联系人 EAD_CONTACTS、联系人 WRIT...原创 2019-10-11 11:10:36 · 934 阅读 · 1 评论 -
深深的码丨Java NIO 透析
Java 中传统的 IO 包基于流模型实现,交互方式为同步、阻塞,当发生读取或写入操作时,线程会阻塞在此,直到操作完成。编码时采用这种方式虽然源码较直观易维护,但容易产生应用性能下降问题,且 IO 效率及其拓展性存在较大局限Java 1.4 开始引入 NIO 框架,提供了 Channel(通道)、Selector(IO复用器/选择器)、Buffer(缓冲区),可构建多路复用、同步非阻塞的 IO...原创 2019-12-03 18:02:10 · 2141 阅读 · 2 评论 -
深深的码丨Java HashMap 源码透析
HashMap 相关概念HashTab、HashMap、TreeMap 均以键值对像是存储或操作数据元素。HashTab继承自Dictionary,HashMap、TreeMap继承自AbstractMap,三者均实现Map接口**HashTab:**同步哈希表,不支持null键或值,因为同步导致性能影响,很少被使用**HashMap:**应用较多的非同步哈希表,支持null键或值,是键值对...原创 2019-11-07 17:37:15 · 19749 阅读 · 26 评论 -
深深的码丨Java Object 透析
Object 相关概念Object 是 java 中的顶级父类,它是所有类的超类,所有对象以及数组均会实现这个类提供的方法JVM 在编译源码过程中,遇到没有继承 Object 的对象时,编译器会指定默认父类 Object接口没有继承顶级父类,但会隐式的声明一套和 Object 中的方法签名完全一样的方法,这也就符合万物皆对象的面向对象思想,任何对象直接或间接的跟 Object 对象有关...原创 2019-07-31 08:31:57 · 148 阅读 · 0 评论 -
深深的码丨Java Thread 透析
Thread 相关概念线程是系统资源分配的最小单位,它被包含在进程之中,是进程中的实际运作单位。JVM 允许应用程序同时运行、执行多个线程,每个线程都有优先权,具有较高优先级的线程优先于优先级较低的线程执行在Java中线程分为两类:User Thread(用户线程)、Daemon Thread(守护线程)在JVM启动时候会调用main函数,main函数所在的线程是就是一个用户线程,在此...原创 2019-07-19 22:37:09 · 251 阅读 · 3 评论 -
深深的码丨Java ClassLoader 透析
ClassLoader 是 Java 届最为神秘的技术之一,无数人被它伤透了脑筋,摸不清门道究竟在哪里。网上的文章也是一篇又一篇,经过本人的亲自鉴定,绝大部分内容都是在误导别人。本文我带读者彻底吃透 ClassLoader,以后其它的相关文章你们可以不必再细看了ClassLoader 做什么的?顾名思义,它是用来加载 Class 的。它负责将 Class 的字节码形式转换成内存形式的 Cl...转载 2018-12-25 13:49:34 · 127 阅读 · 0 评论