小部件加载
小部件加载的流程,三方交互,Provider数据方,system_server中转站以及宿主方Host方(AppWidgetHost)Provider 进程provider这里面就是继承了provider,就具体来写这个RemoteView的地方,然后它这里为什么用的是remoteView呢?因为你这里是provider进程,你到时候还要跨进程传输到system_server,然后传送到这个Host,两次IPC binder调用,然后再渲染,然后你这个具体我不太懂,但是这个应该是不同的进程,导致这个View,它实际上拿不到具体的属性,然后只能用这个remoteView这种传输layoutId+action来做 具体来说 RemoteViews 不是 View。 它是一个 指令包 — layoutId + Action 列表Parcel 序列化过去的:layoutId + [SetText(“hello”), SetImage(R.drawable.xx), …]我这里其实很迷惑,你这里是R.这个不能跨进程吗?那那个context我记得都能loadApk,这个相当于也能跨进程拿资...
刷题day2
移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作: 更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。返回 k。 题意大概意思就是给你一个数组,一个值,返回这个数组去除这个值的顺序数组 解法暴力遍历最简单 然后优化应该就是双指针了。就这样吧,你可以新开一个数组,然后顺序走++,因为你每次++都一定会填入一个你需要的数值然后这个数值的得到是通过原始num数组和val是否相等来的,这个也是顺序++判断的 题解还有个解法没仔细看,叫对撞指针?看不明白就这样吧
刷题day1
题目给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作: 更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。返回 k。 思路这里要我返回这个顺序递增的这个数组,最暴力就是平移+排序然后我的思路是,你后面这个nums2, 他可以二分找到这个要插入的位置,然后这插入的这个位置是一个顺序set对应每个nums2的元素都需要对nums1来进行二分,如果num1 n, nums2 m,那这里复杂度就是mlogn,然后这里我需要对每个插入的这些nums2的这些元素分别来做排序也就是milogmi, sum mi = m; 每个桶大小 mi,排序 O(mi log mi),总和 O(Σ mi log mi),其中 Σmi = m由于 Σ mi log mi ≤ m log m(当所有元素集中在一个桶...
shortcutMenu小需求
lawnchairfeat: add open in store shortcut (#6461) 需求简介需求很简单,就是你长按一个app,然后如果它不是系统应用,有来源,就显示来源,然可以跳转到对应的来源去 需求拆解可以拆成几个部分,就是长按这个app,filter,跳转intent shortcutMenu然后长按这里 1234567891011121314151617kotlinoverride fun getSupportedShortcuts(container: Int): Stream<SystemShortcut.Factory<*>> = Stream.concat( super.getSupportedShortcuts(container), // AOSP 原有的快捷方式(App Info 等) Stream.concat( Stream.of(LawnchairShortcut.UNINSTALL, LawnchairShortcut.CUSTOMIZE, LawnchairShort...
flutter入门 (1)
flutter,哎没办法,也是拉完了兄弟,学点跨端,指不准还能有一口饭吃。 statewidget树类似于这个dom树。所以的flutter画面都是由widget组成的。我是感觉flutter和compose react真的很像。与其说是节点,不如说我这个都是由组件组成,不同的组件拆成不同的颗粒度而已。 12345678910111213// React 的 JSX<div> <Text>hello</Text> <Button onClick={handleClick}>click</Button></div>// Flutter 的 WidgetColumn( children: [ Text('hello'), ElevatedButton(onPressed: handleClick, child: Text('click')), ],) 然后这里也是类似于 React 的 useState / Compose 的 reme...
devc++中文乱码问题
解决devc++中文乱码问题详细图解也许你需要试一试ansi、gbk或者unicodetips:我后来又经历过主页面是乱码的情况,然后是通过取消勾选,重启一下就好了(就是进去dev的主页面,到处都是棍斤拷)点取消,然后重启 然后,就又乱码了然后我就把utf-8改成了gbk,然后现在又好了,只是字体没以前那么纤细了 也许会会弹出这个,但是无论你选哪个,最后输出仍然会是中文 over~
20221162
一些散的知识点但是比较容易忘的不同进制数之间的转化 涉及小数整数部分 除基取余,上右下左小数部分 乘基取整,上左下右$$(835.63)_{10} = (1503.50243)_8$$简单来说,就是整数部分用短除号一直除到结果为0,所有的余数从下往上,拿到的就是对应的值,也就是下面的在右边,上边的在左边。而小数部分,每一次都需要取出小数部分,乘以基,得到的数列在右边,然后接着取小数乘,往后循环,最后拿出列在右边的数的整数部分,使用与整数相反的排列顺序。 浮点数表示 IEEE753标准小数点 尾数 基 阶码1位符号位,8位阶码(移码表示:bias=2的n次方-1),23位尾数(前面有一个默认的1),意思是尾数算出的小数要加上1再进行运算 非规格化数阶码全是0 尾数不为0 无穷阶码全1 尾数全0 非数阶码全1 尾数不为0 一个数有多种表示形式$$规格化形式:1.0 \times 10^{-9}(唯一)$$$$非规格化形式:0.1 \times 10^{-8}, 10.0 \times 10^{-10}$$ 当计算机无法表示计算得到的数时,会转化成最近可表示数数据宽...
matplotlib入门<一>
matplotlib入门x轴和y轴matplotlib比较难写,我们一般缩写成plt。用plot()方法进行绘制图像,第一个参数表示x轴,第二个参数表示y轴 123456789xpoints = np.array([1, 8]) ypoints = np.array([3, 10]) plt.plot(xpoints, ypoints) plt.show() ``` 画多个点(有连线) xpoints = np.array([1, 2, 6, 8])ypoints = np.array([3, 8, 1, 10])plt.plot(xpoints, ypoints)plt.show() 1234 `tips:`这里的x轴是有默认值的,如果你没有传入x轴的参数,默认是从0开始增长,到传入y轴的参数个数-1 ypoints = np.array([3, 8, 1, 10, 5, 7])plt.plot(ypoints)plt.show() 12345678 ## 参数markermarker用指定的标记来强调每个点marker=...
汇编入门<一>
汇编语言环境VMWare Workstation Ubuntu14.04 32位操作系统输入whereis nasm查看是否下载有nasm,如果没有则会显示nasm:,有则会显示路径如果没有下载,可以通过sudo apt install nasm下载,此时再输入whereis nasm就会显示路径了。不知道是原来自带还是这样就好了,输入nasm -version有具体的版本信息,安装ok。 指示符指示符普遍的应用有:1、定义常量2、定义用来储存数据的内存3、将内存组合成段4、有条件地包含源代码5、包含其它文件NASM代码像C一样要通过一个预处理程序。它拥有许多和C一样的预处理程序。但是,NASM 的预处理的指示符以%开头而不是像C一样以#开头 equ 指示符equ指示符可以用来定义一个符号。符号被命名为可以在汇编程序里使用的常量。 12345678910symbol equ value ``` 符号的值以后不可以再定义。### %define 指示符这个指示符和C中的#define非常相似。它通常用来定义一个宏常量,像在C里面一样。 %define SIZE 100mov...
层次分析法
评价类问题评价类问题可以用打分解决







