首页
学习
活动
专区
工具
TVP
发布

Android小知识

专栏作者
103
文章
112073
阅读量
24
订阅数
算法之旅——地图篇
亲爱的工程师你好,欢迎来到算法世界! 我的主人在算法的世界里闯过了111关,下面是他闯关所绘制的地图,相信你看完以后也可以踏上这趟旅程! 工程师对LeetCode应该并不陌生,当你们掌握了这份地图中的要点,就可以来这里闯关了! 一、序 ①这份地图我的主人想了很久要不要画,答案你们也看到了,原因有二 一则作为记录 二来为将来想要学习算法的新人提供一些帮助 ②为什么要开启这趟旅程 逻辑和思维的提升 爱好 || 消磨时间 面试 ③出发之前我们需要什么装备 基础的数据结构 对应你掌握的语言里的API有哪些 经典的算
longzeqiu
2022-01-10
2580
泛型
定义泛型方法:修饰符和返回值类型中间要有<参数类型>,泛型方法可定义在任意位置。 注意 定义在泛型类中的泛型方法,传入的参数类型可以与泛型类传入的类型不同,泛型类传入的类型只影响普通方法。
longzeqiu
2021-11-24
2690
从头再看Handler
Handler是什么 想必每一个做安卓开发的人都知道Handler,就是线程间通信的桥梁,那么他的本质是什么呢,说白了就是内存共享。 Handler的是如何实现内存共享的 这就要说到Message消息,说到消息就需要说到MessageQueue消息队列,那么有了消息和消息队列,肯定少不了Looper消息泵,最后如何运行起来呢,就用到了Looper.loop()消息泵的开关,好了到这里Handler基本就明了了。 从源码理解Handler 我们用Handler发送消息都是通过sendMessage()或者po
longzeqiu
2020-03-26
3240
Kotlin学习总结
不需要findviewbyid 最新版 AS build.gradle 中默认引入 apply plugin: 'kotlin-android-extensions' 所以在代码中直接引用布局中的id就可以使用非常方便简洁。 Anko Anko是一个扩展库,提供了很多的扩展方法,可以写布局、数据库、和activity跳转toast等的通用方法。真的超级方便! 继承 kotlin中子类继承父类,父类要标记为open否则编译器会报错。 设计模式 java写项目的时候我们使用MVP模式会使用RxJava,那么K
longzeqiu
2020-03-26
4430
带你搞懂Java多线程(二)
Runnable和Callable是对任务的抽象,只有Thread是对线程的抽象。
longzeqiu
2020-02-10
3110
带你搞懂Java多线程(一)
什么是多线程 多线程也叫并发编程,那么在写多线程之前,我们先来了解一下并发编程的基础概念。 ①CPU核心数和线程数的关系 核心即CPU,多核就是将多个CPU集成到一个芯片内,每个处理器都是单独的,核心数和线程数是一比一的关系,Interl使用超线程技术,将一个物理CPU模拟成两个逻辑CPU核心数和线程数实现一比二。 即如果一个4核CPU使用超线程技术,就可以同时运行8个线程,未使用超线程技术的话,则同时运行4个线程。 ②CPU时间轮转机制 也叫RR调度,可以理解为将CPU的运行时间进行切片,每一
longzeqiu
2020-02-10
5280
带你搞懂Java多线程(六)
在应用中,读写操作的比例大概为十比一,而且读的操作是可以同时进行,并且不允许写操作,但写操作时是不允许其他操 作的,从而保证了安全性。
longzeqiu
2020-01-15
2370
带你搞懂Java多线程(五)
Lock是一个接口,只能手动的获取和释放锁,属于Java语法层面的锁,解决了synchronized的缺点。 注意 使用lock.lock()后,应将lock.unlock();放在finally中;
longzeqiu
2020-01-15
2430
带你搞懂Java多线程(三)
为了解决上面的问题Java语言内置了synchronized关键字,所以也叫内置锁。
longzeqiu
2020-01-15
2320
带你搞懂Java泛型
定义泛型方法:修饰符和返回值类型中间要有<参数类型>,泛型方法可定义在任意位置。 注意 定义在泛型类中的泛型方法,传入的参数类型可以与泛型类传入的类型不同,泛型类传入的类型只影响普通方法。
longzeqiu
2020-01-02
4680
JNI
什么是JNI java native interface java本地接口 c/c++与java之间相互调用的桥梁 为什么要学JNI java运行在虚拟机上,调用驱动需要jni来扩展他的能力 java解释型语言,c/c++执行效率比java快,通过jni把耗时操作放到c/c++提高运行效率 java代码编译成的.class文件安全性较差,可以通过jni把重要的业务逻辑放到c/c++编译后是汇编语言,反编译难度大 c历史悠久,1972年c 通过jni可以调用优秀的c开源类库 怎么用JNI java c/c++
longzeqiu
2019-12-13
5460
Could not find manifest-merger.jar
报错如下 Could not find manifest-merger.jar (com.android.tools.build:manifest-merger:26.1.0). Searched in the 产生原因 根目录中jcenter()写在了google()前,从而导致在jcenter中找不到manifest-merger.jar包就直接报错不会再去google中寻找了。 解决办法 在根目录的build.gradle中将google()写在jcenter()前 代码如下: // Top-
longzeqiu
2019-08-20
7090
SlidingMenu使用详解
SlidingMenu 是什么 SlidingMenu 是一个强大的侧边栏导航框架,并且已经被一些比较牛的 App 使用 SlidingMenu 的主要特点 (1) 侧边栏可以是一个Layout,包含任何 View,也可以是一个 Fragment (2) 使用简单方便,支持左滑和右滑等 (3) 自定义侧边栏显示动画 SlidingMenu 常用属性介绍: menu.setMode(SlidingMenu.LEFT);//设置左滑菜单 menu.setTouchModeAbove(SlidingMen
longzeqiu
2019-08-15
1.1K0
Android集合排序
之前项目里有一个模块中有多个字段的参数为数字,需求为点击字段对应的参数名,实现降序或升序。 这里记录一下我的实现过程。 首先我用到了Java里的Collections类调用它的sort方法,代码如下:
longzeqiu
2019-08-15
3440
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档