- 博客(70)
- 资源 (21)
- 问答 (1)
- 收藏
- 关注
原创 HarmonyOS ArkUi 唤起系统APP:指定设置界面、浏览器、相机、拨号界面、选择通讯录联系人
【代码】HarmonyOS ArkUi 唤起系统APP:指定设置界面、浏览器、相机、拨号界面、选择通讯录联系人。
2024-07-19 13:20:12
1070
原创 HarmonyOS ArkUi @CustomDialog 和promptAction.openCustomDialog踩坑以及如何选择
这种使用方式,无法在自定义的@CustomDialog内使用 @Link,进行父子双向绑定,会报错:下面这种写法有可能是 this指向问题,个人猜测的正确使用:需要再build下使用promptAction.openCustomDialog此种方式,无法全屏(DIalog本身内容全屏),状态栏和导航条盖不住即使设置很大的高度也只能导航条能遮住,除非偏移量设置负数,但是这种使用太傻逼了目前找其他人进行测试也不行,也许可能本身就不支持全屏吧。目前给华为提了工单,暂时还没回复如果需要DIalo
2024-07-18 15:48:18
882
原创 HarmonyOS ArkUi 低侵入实现根据点击位置弹出筛选框
第1、2种方式都已一个共同的缺陷:如果下拉筛选框在主界面的情况(底部几个tab ,点击tab 切换界面),每个界面的顶部有下拉筛选框的情况下,下拉筛选框会遮挡不住底部的tab。本项目业务是几个下拉框数据是一个接口,需要根据选择的数据,实时刷新其他下拉框数据。获取具体组件在屏幕中的位置。
2024-07-16 16:58:56
471
原创 HarmonyOS ArkUi ArkWeb加载不出网页问题踩坑
Android 、Ios 都有线上App 网页都是调试好的。是否为null进行判断,网页都可以正常加载出来了。有些网页加载不出来,有些能加载出来。使用还是比较简单的,直接贴代码了。官网上有一个写法,不过没验证。,导致整个界面都加载不出来。
2024-06-28 17:21:51
813
原创 HarmonyOS ArkUi Tabs+TabContent+List实现tab吸顶功能
【代码】HarmonyOS ArkUi Tabs+TabContent+List实现tab吸顶功能。
2024-06-27 11:10:10
1501
2
原创 图解Retrofit
如何使用Retrofitpublic interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path("user") String user);}Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.github.com/") .build();GitHubServi
2020-09-24 15:43:20
385
原创 数据结构速学笔记:栈
目录栈的特性使用场景数组模拟栈链表模拟栈栈的特性栈的数据结构:先进后出、只能在栈顶进行添加(入栈)或删除(出栈)栈的使用场景Android的Activity栈链表节点的反向打印,可以结合栈打印出来链表遍历时,把节点数据压入栈,把栈打印出来就是对应链表的反向打印数组模拟栈思路:定义一个int类型的指针表示栈顶: top每次添加(入栈)数据,top++每次删除(出栈)数据,top–代码实现/** * Created by joker on 2020-06
2020-06-09 17:05:10
344
原创 数据结构速学笔记:单链表面试题整理总结
###目录单链表倒数第k个节点单链表反转链表单链表反向打印节点单链表倒数第k个节点 /** * 单链表倒数第k个节点 * 思路:1. 遍历链表计算出,有效节点size(头节点排除在外) * 2. 倒数K节点对应的节点: size-k * 解释:例如链表:head(头节点) -> A.next -> B.next ->C.next -> D.next * head不是有效节
2020-06-08 23:52:13
293
原创 数据结构速学笔记:环形链表的构建以及约瑟夫问题
有不足指出,欢迎大佬指出!共同进步。目录如何构建环形链表?约瑟夫问题完整代码准备 static class RingNode { private int num; private RingNode next; // .....}如何构建环形链表? RingNode firstNode = null; // 环形链表第一个元素(固定不变) /** * 构建一个环形链表 * <p>
2020-06-07 19:13:06
422
原创 数据结构速学笔记: 单链表增删改查
目录单链表的存储结构单链表:增单链表:删单链表:改单链表的存储结构简介单链表是一种链式存取的数据结构,是实现线性表方式之一链表都包含:元素(data域名)+指针(next域) public static class LinkNode { //data域 start -------- int num; String name; String nickName; //data域 end -------
2020-06-03 23:11:18
370
原创 JDK1.8 HashMap解析
本篇不介绍红黑树,后续会单独分析。JDK 1.8也没看过jdk1.7 所以不做对比分析了需准备知识异或运算位移知道HashMap的数据结构有哪些知道单链表大致是怎么一回事能学到什么HashMap如何计算扩容阙值哈希表需要树化的标准条件哈希表什么时候初始化为什么需要扩容HashMap如何增加hash的散列性HashMap如何确定桶位链表如何删除元素这些问题都会在源码分析的注释中有体现出来。可能有些没分析到,欢迎留言,后续继续补充。文章目录HashMap核
2020-05-28 22:58:47
405
原创 Android自定义记账软键盘(仿鲨鱼记账的记账功能)
鲨鱼记账App效果:本文实现的效果图:本文 不是什么原理分析,属于使用工具,不再具体分析。直接贴图贴代码了自定义软键盘的XML模版注:android:codes的值,请参考ASCII<?xml version="1.0" encoding="utf-8"?><Keyboard xmlns:android="http://schemas.android.com/ap...
2020-03-09 16:40:47
1834
9
原创 Activity:启动流程
流程图先上activity启动的流程总图,分两大块分析:程序启动做了哪些事情?Activity加载以及完成它的声明周期程序的启动相关类 ActivityThrea、ActivityManager的主线流程图结合下面的源码分析一起看理解效果更佳哦!源码分析有看过源码的android 朋友都应该熟悉,ActivityThread中的main方法是启动点。下面看下main方法里究...
2019-10-31 13:59:34
286
原创 设计模式:概念 & 分类 & 功能 & 原则
本文是对设计模式概念、分类、功能的介绍, 不含有任何技术性介绍。旨在对设计模式有更清楚的认识,理解。会陆续对这些设计模式逐一总结!目录设计模式的目的设计模式是前辈大佬们的代码设计经验,是一种解决特定问题的套路。目的就是为了提高代码的重用性、可读性、可靠性、可扩展性、灵活性。学习设计模式的意义设计模式本质设计模式是面向对象设计原则的实际运用,是对类的封装、多态、继承以及对类的关联关...
2019-10-25 16:39:23
504
原创 全面图解android事件分发机制
最近的学习技巧就是画图、画图、画图!感觉这方法真的好实用。本文源码部分的分析是分模块去分析的,最后串联起来的。目录事件分发的Touch事件android触摸事件的分发 = (点击事件)Touch事件的分发Touch事件被封装MotionEvent对象,定义的有上图所示的4中事件类型组成: 一个Touch事件由一个down事件 + 一个up事件也有可能为0个 + 若干个move事件...
2019-10-16 17:07:02
644
原创 设计模式:责任链模式+思维导图+uml
责任链模式思维导图简介结构组成详解抽象处理者、具体处理者、客户端关系UML图客户端拼装组成的责任链抽象处理者abstract class AbsDispatchHandle { // 具体处理者标识 var handleLevel_1: Int = 1 var handleLevel_2: Int = 2 var handleLevel_3: Int...
2019-10-11 13:37:27
1066
原创 多线程:ThreadLocal探究之旅
ThreadLocal概述ThreadLocal提供线程一个独立的局部变量,解决了变量并发访问的冲突问题。解决了线程安全的问题ThreadLocal 对比给Thread上synchronized同步机制:前者空间换时间、后者时间换空间Threadlocal主题思维结构图核心部分会单独拿出来画图、分析!Threadlocal使用@RequiresApi(api = Build....
2019-10-08 15:34:26
308
1
原创 多线程:给你一篇通俗易懂AsyncTask(使用&源码分析)+思维导图方式
AsyncTask了解使用class SAsyncTaskActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.ac...
2019-09-19 13:21:47
391
2
原创 多线程:HandlerThread(使用 & 源码分析)+思维导图
HandlerThread简介使用请先熟悉上图的使用流程:Step 1 、Step 2 、 Step 3 private fun init() { // step 1 handlerThread = HandlerThread("SHandlerThread") // step 2 handlerThread?.st...
2019-09-17 18:20:33
317
原创 多线程:IntentService(使用 & 源码分析)+思维导图
先喝杯咖啡放松一下!概述IntentService 使用Step 1: 定义IntentService类,重写onHandleIntentStep 2: 清单文件注册Step 3: 开启服务Step 1class SIntentService : IntentService("SIntentService") { override fun onCreate() {...
2019-09-17 11:14:35
388
原创 教你一招APP如何快速定制马甲包
废话不多说,给我上·····按照本文进行定制马甲包的好处:马甲包和主包可以进行同步打包,一键生成不会增加apk的大小,不同的包打进对应的资源不影响主线的开发(无须拉分支、版本迭代时增加的需求,也无须在写一遍)在各个马甲包的母包上,可以利用一些加固平台,进行渠道分包关于马甲包的方式,会从最简单的方式开始介绍:最简单的方式AndroidManifest.xml的配置<...
2019-08-29 15:54:18
2799
1
原创 笔录Flutter(十一) FloatingActionButton
FloatingActionButton也是经常用的,除了常见的悬浮在右下角的一个按钮,还可以利用floatingActionButtonLocation属性,控制位置的展示。floatingActionButtonLocation源码:// Flutter 默认对其方式 static const FloatingActionButtonLocation endFloat = _En...
2019-08-13 15:33:34
862
原创 笔录Flutter(十) 侧边栏(Drawer)、UserAccountsDrawerHeader
Flutter练习Drawer、UserAccountsDrawerHeader常用属性Drawer const Drawer({ Key key, this.elevation = 16.0, this.child, this.semanticLabel, }) : assert(elevation != null && elevat...
2019-08-12 17:10:31
1511
原创 笔录Flutter (九) 路由
路由分类Flutter的路由就是指界面眺转,在Flutter中通过Navigator组件管理路由导航。并提供了管理堆栈的方法。如:Navigator.push和Navigator.pop总体来说分两种方式:基本路由命名路由基本路由效果图:使用代码import 'package:flutter/material.dart';/** * 基本路由 * */clas...
2019-08-11 22:11:32
419
原创 笔录Flutter (八)BottomNavigationBar实现底部导航、TabBar+TabBarView实现Tab切换
效果图:BottomNavigationBar实现底部导航常用属性使用void main() => runApp(MyApp());class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home...
2019-08-09 16:13:09
2206
原创 笔录Flutter (七) Card、AspectRatio、CircleAvatar、MaterialButton、Wrap
Card、AspectRatio、CircleAvatar、MaterialButton、Wrap 属性AspectRatioaspectRatio:宽高比 aspectRatio: 7 / 8, // 设置宽高比源码:const AspectRatio({ Key key, @required this.aspectRatio, Widget child ...
2019-08-08 15:36:58
1508
原创 笔录Flutter (六) 布局系列: Stack、Positioned、Align
常用属性关于alignment的使用使用这些属性直接使用Alignment(x, y)x、y两个值的范围在 -1 到 1 之间。如图:坐标的圆点表示center,如上图所示:使用效果图:import 'package:flutter/material.dart';class Layout2 extends State { @override Widget b...
2019-08-07 10:26:57
2787
原创 笔录Flutter(五)布局系列:Row、Column、Flex、Expanded 常用属性、使用
Row、Column常用属性线性布局有主轴和纵轴之分,如果布局是沿水平方向,那么主轴就是指水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向线性布局中,有两个定义对齐方式的枚举类MainAxisAlignment和CrossAxisAlignment,分别代表主轴对齐和纵轴对齐Row和Column 参数一样,不同的是布局方向为垂直,主轴纵轴正好相反...
2019-08-06 16:13:58
2074
原创 笔录Flutter(四)GridView常用属性、使用
常用属性使用方式4种使用方式的区别GridView()、GridView.count()、GridView.extent() 这三种和GridView.builder()的区别在于:GridView都需要一个Widget数组作为其子元素,前三种方式都会提前将所有子widget都构建好,所以只适用于子Widget数量比较少当子widget比较多时,我们可以通过GridView.bui...
2019-08-05 21:07:12
766
原创 笔录Flutter(三)ListView、ListTitle 的常用属性、使用、下拉刷新、上拉加载
Listview 常用属性reverse 和 shrinkWrap使用注意正常Listview 内容不够一屏(不设置 reverse 和 shrinkWrap属性)reverse = true默认falsescrollDirection = Axis.vertical false:布局从上倒下 true:从下往上scrollDirection = Axis.horizo...
2019-08-05 11:58:38
6106
1
原创 笔录 Flutter(二)Image的属性、使用、圆角、圆形
使用方式属性网络图片、本地图片、项目中资源图片加载资源图片时要注意以下几点:需要创建一个images文件 和lib、ios、android 同一等级区分几倍图的话,可以在images下创建2.0x 、 3.0x、4.0x如下图:assets一定要与uses-material-design齐,直接放开注释会有一个空格的,直接编译会报错 child: Image.ass...
2019-08-01 15:35:31
1421
原创 笔录 Flutter (一) Container 、Text属性、使用
属性ContainerTextTextStyle使用import 'package:flutter/material.dart';import 'ContainerPage.dart';import 'TextPage.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget ...
2019-07-31 16:59:29
308
原创 杂谈(Lrucache机制)
简介LruCache是Android 3.1所提供的一个缓存类,目前主流的图片加载框架底层大部分都是基于它。LruCache内部维护了一个LinkedHashMap,利用LinkedHashMap的数据结构特点去实现最近很少使用这一算法进行缓存。LinkedHashMap介绍LinkedHashMap的数据结构:数组+双向链表特点:双向链表结构可以控制访问顺序和插入顺序,使得Linked...
2019-05-21 10:34:20
315
原创 杂谈(android基础知识点梳理笔记)
1、四大组件是什么?以及生命周期和简单用法Activity 描述:一个Activity通常就是一个单独的屏幕,就是用户看得到的 生命周期:onCreate、onStart、onResume、onPause、onStop、onDestroy 正常启动一个activity:onCreate -&amp;gt; onStart -&amp;gt; onResume 切换到后台/锁屏:onPause -...
2019-05-21 08:20:49
969
原创 杂谈(app优化、android机制系列)
android机制系列Handler机制Handler机制(Looper、Message、MessageQueue)源码查看笔记事件分发机制Android:30分钟弄明白Touch事件分发机制Bindler机制Android跨进程通信:图文详解 Binder机制 原理IPC通信机制(进程间通信)通讯方式intent: 例如打电话contentProvider广播serv...
2019-05-19 14:01:25
456
Kotlin(Tab选项卡+复杂recyclerview+CoordinatorLayout收缩控件)
2017-07-07
Material design
2017-01-20
XRecyclerView如此so easy实现下拉刷新,上拉加载,添加头布局(头布局任意加)
2016-12-19
安卓app如何获取浏览器中的cookie信息,也不是内置的webview且没有任何交互
2017-09-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人