- 博客(1164)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
转载 Android 面试题集(2019-04-04总结)
作者:ClAndEllen链接:https://www.jianshu.com/p/98255550b41e一份Android面试题集,适应于实习 & 初级工程师 & 中级工程师,高级工程师勉强吧。笔者不提供答案,但是会提供学习链接,旨在能帮助广大Android学习者找到心仪的Offer,文章底部是笔者收集的一些有关面试的文章链接,希望Android求职者认真研...
2019-07-12 19:48:57 999
转载 面试必备:《Java 最常见 200+ 面试题全解析》
毕业在即,想让面试官在短短的几十分钟内就认可你的能力?想在最快的时间内收获 Java 技术栈最核心的知识点?想要更全面、更深入的了解 Java 技术?这里能够给你想要的所有答案
2019-07-12 18:45:29 587
转载 cortex-M3 的SVC、PendSV异常,与操作系统(ucos实时系统)
SVC异常是?PendSV异常是?ucos 任务切换时机?ucos 如何满足实时性(实现)?ucos中,systick的优先级?SVC和PendSVSVC(系统服务调用,亦简称系统调用)和PendSV(可悬起系统调用),它们多用于在操作系统之上的软件开发中。SVC:SVC 用于产生系统函数的调用请求。例如,操作系统不让用户程序直接访问硬件,而是通过提供一些系统服务函数,用户程...
2019-07-11 19:30:21 763
转载 手写RTOS-PendSV中断
今天这一篇,我们说一下操作系统都要用到的PendSV中断,整个操作系统中,要自己写的的汇编代码不超过20行,全部都在PendSV中断里。以下是《Cotex-M3权威指南》里对PendSV的描述: 它是可以像普通的中断一样被悬起的。 OS 可以利用它“缓期执行” 一个异常——直到其它重要的任务完成后才执行动作。 悬起 PendSV 的方法是: 手工往 NVIC 的 PendSV 悬起寄...
2019-07-11 19:26:08 724
转载 一步步写STM32 OS【三】PendSV与堆栈操作
一、什么是PendSVPendSV是可悬起异常,如果我们把它配置最低优先级,那么如果同时有多个异常被触发,它会在其他异常执行完毕后再执行,而且任何异常都可以中断它。更详细的内容在《Cortex-M3 权威指南》里有介绍,下面我摘抄了一段。OS 可以利用它“缓期执行”一个异常——直到其它重要的任务完成后才执行动 作。悬起 PendSV 的方法是:手工往 NVIC的 PendSV悬起寄存器中写...
2019-07-11 19:24:52 631
转载 FreeRTOS高级篇4---FreeRTOS任务切换分析
FreeRTOS任务相关的代码大约占总代码的一半左右,这些代码都在为一件事情而努力,即找到优先级最高的就绪任务,并使之获得CPU运行权。任务切换是这一过程的直接实施者,为了更快的找到优先级最高的就绪任务,任务切换的代码通常都是精心设计的,甚至会用到汇编指令或者与硬件相关的特性,比如Cortex-M3的CLZ指令。因此任务切换的大部分代码是由硬件移植层提供的,不同的平台,实现发方法也可能不同,这篇文...
2019-07-11 19:23:48 413
转载 进入OS前的两步之PendSV(任务切换)
先了解下如何使用PendSV异常。(为何要使用PendSV而不是其他的异常,请参考《cortex-M3权威指南》)1,如何设定PendSV优先级?NVIC_SYSPRI14 EQU 0xE000ED22NVIC_PENDSV_PRI EQU 0xFF LDR R0, =NVIC_SYSPRI14 LDR R1, =NVIC_PENDSV_PRI STRB R1,...
2019-07-11 19:22:53 630
原创 Android开源库V - Layout:淘宝、天猫都在用的UI框架,赶紧用起来吧!
前言V- Layout 是阿里出品的基础 UI 框架,用于快速实现页面的复杂布局,在手机天猫 Android版 内广泛使用电商图让人激动的是,在上个月V- Layout终于在Github上开源!Github - alibaba - vlayout Github在五一假期我对V- Layout进行了详细分析,我将献上一份 V- Layout的使用攻略 & 源码...
2018-11-27 21:55:50 494
原创 V - Layout:淘宝、天猫都在用的UI框架,赶紧用起来吧!
前言V- Layout 是阿里出品的基础 UI 框架,用于快速实现页面的复杂布局,在手机天猫 Android版 内广泛使用让人激动的是,在上个月V- Layout终于在Github上开源! Github - alibaba - vlayout 在五一假期我对V- Layout进行了详细分析,我将献上一份 V- Layout的使用攻略 & 源码分析,希望你们会...
2018-11-27 20:42:27 1505 1
原创 Android填坑之旅(第二十一篇)天猫开源框架V_layout使用总结
基本使用流程网上案例很多,大多都是粘贴复制,当然也没有问题,只要读者能够明白使用的流程即可,笔者也是从网上一步一步按部就班去学习,梳理并最终运用到自身项目当中去在学习以及运用过程中碰到些疑惑并尝试着找出解决方案一. 复用机制RecyclerView.RecycledViewPool viewPool = new RecyclerView.RecycledViewPool();recy...
2018-11-27 19:50:20 349
转载 RecycleView多Item布局
用RecycleView来实现布局形式,默认只能指定一种布局格式,但是实际中我们的布局经常会用到多种类型的布局方式。如何实现呢?今天来说下常用的2钟方式。第一种:通过自定义addHeadView方法来添加头布局RecycleViewWithHead.Java [java] view plain copyimport android.app.Activity; im...
2018-11-03 18:07:28 563
转载 Android RecycleView实现不同样式Item样式效果完美解决
在我们开发过程中经常会遇到需要我们展示不同样式列表的情况,通常我们都会使用ListView展示列表,然后实现BaseAdapter两个方法,即:getViewTypeCount() 和 getItemViewType(int position)即可实现不过在Android Nougat Google发布了RecycleView之后,大家都纷纷弃ListView ,GridView,而使用Re...
2018-11-03 18:01:04 3456
原创 Android RecyclerView 多布局与混排
多布局 关于RecyclerView的基本用法参考下面三篇博客: Android RecyclerView之代替ListView与GridView Android RecyclerView之添加Item分割线 Android RecyclerView 的瀑布流式布局多布局思路:利用Adapter的getItemViewType()方法返回不同的ViewType在onCreate...
2018-11-03 17:54:13 821
原创 RecyclerView使用详解(三)
在上一篇(RecyclerView使用详解(二))文章中介绍了RecyclerView的多Item布局实现,接下来要来讲讲RecyclerView的Cursor实现,相较于之前的实现,Cursor有更多的使用场景,也更加的常用,特别是配合LoaderManager和CursorLoader进行数据的缓存及加载显示,基于此我们来重点看看RecyclerView的CursorAdapter具体要怎么实...
2018-11-03 17:37:04 339
原创 Android之ListView的getItemViewType和getViewTypeCount
PS:感觉这两个方法其实还是很容易理解的,也算是给我其他两个朋友写的吧,帮他们搞清楚这两个方法的用法和概念。同时还有一些小细节问题需要注意。 学习内容:1.getItemViewType和getViewTypeCount getItemViewType和getViewTypeCount是ListView中实现复杂列表的两个相关的方法,普通的ListView中Item是相同的,那么...
2018-11-03 17:23:20 803
转载 RecyclerView加载多类型item 实现淘宝首页布局
主要为大家介绍如何用RecycleView来实现淘宝首页复杂的布局,做电商类app的小伙伴们可以略作参考。首先上效果图: 下面说一下实现方式,主要思路就是根据不同的数据类型去制定不同的item类型,然后动态地去设置这些item的宽高,设置item的类型相信大家都会,我这里就不做阐述了,主要是说一下给不同类型的item设置不同的宽度。首先,我们给RecyclerView设置一个列数为x...
2018-11-03 16:18:29 572
转载 安卓Recyclerview加载多种布局-(仿商城首页)
前言: RecyclerView 是Android L版本中新添加的一个用来取代ListView的SDK,它的灵活性与可替代性比listview更好.多说无益,直接看效果图:首先项目build.gradle中添加下面依赖: //图片轮播 implementation 'com.youth.banner:banner:1.4.10' //注解id imple...
2018-11-03 16:17:50 801
转载 android开发游记:RecycleView 实现复杂首页布局三种方式
做过电商类应用的朋友可能都会遇到一个比较头疼的问题:复杂的首页布局如何实现。参考百度糯米,美团,bilibili等应用,都会发现其首页的布局相对复杂,例如下图bilibili的首页(第二张是demo实现的效果图),可以看到在同一个页面中先是有列表布局出现,然后出现了2列的网格布局,接着3列的网格布局,最后还出现了瀑布流式布局: 这样的效果该怎么做呢?是使用LinearLayoutManag...
2018-11-03 16:16:02 639
转载 RecyclerView实现复杂页面
近日,三星Galaxy S8正式发布,使用了曲屏无边超大屏幕,屏占比高达84%。为了获得更大的屏占比,S8甚至取消了正面指纹识别的设计,将指纹识别移到了后置摄像头右侧。另外还增加了语音助手Bixby,对苹果Siri的进行公开叫板。不知道这一旗舰机型能否挽回去年“炸弹”Note 7给公司形象带来的损害。作者简介 本篇来自 哦罢了 的投稿,分享了如何使用 RecyclerView 实现多种...
2018-10-19 21:36:57 707
原创 带下拉刷新的RecyclerView嵌套横向RecyclerView事件冲突
实际效果图采用结构 PtrFrameLayout 嵌套一个带下拉刷新的RecyclerViewPtrFrameLayout是一个自定义下拉刷新布局 RV内部Item包含一个横向滑动的RecyclerView在顶部 导致的问题:横向滑动RecyclerView时经常容易引起下拉刷新,这种体验很差解决思路 继承RecyclerView,重写dispatchTouc...
2018-10-19 21:32:04 722
原创 解决垂直RecyclerView嵌套水平RecyclerView横向滑问题
如下代码主要解决两个问题:解决ViewPager嵌套垂直RecyclerView嵌套水平RecyclerView横向滑动到底后不滑动ViewPager解决思路: 继承RecyclerView,重写dispatchTouchEvent,根据ACTION_MOVE的方向判断是否调用getParent().requestDisallowInterceptTouchEvent去阻止父view拦截...
2018-10-19 21:30:50 2378
原创 简单实现RecyclerView嵌套RecyclerView
Linearlayoutmanager RecyclerView嵌套GridLayoutManager RecyclerView布局方式:以一个GridLayoutManager的recyclerview作为Linearlayoutmanager RecyclerView的itemviewMainRecyclerAdapter.javapublic class MainRecycler...
2018-10-19 21:22:55 610
转载 Recyclerview 多布局多数据类型的处理
开场白给:醉乡民谣需求假定:有三个不同的数据请求源,每个数据源的布局方式不同,利用recyclerview的方式展示在界面上效果如下图: 本次效果采用rxjava+retrofit请求数据,将所有数据合并入一个List中,在recyclerview adapter中根据类型,进行布局的创建,并且使用了recylerview的一个setSpanSizeLookup方法,来生成不同的排列...
2018-10-19 21:16:24 1503
转载 一种优雅的方式实现RecyclerView条目多类型
下面以一个故事来讲来说明这中方式是怎么实现的。放弃vlayout大家都了解一般首页是非常复杂的,去年初项目引入vlayout来解决首页复杂布局的问题,后来对vlayout和databinding结合进行了封装,使用起来更方便简单,不仅首页使用,很多页面都在用,还封装了单纯列表样式的Activity,刷新加载的Activity,这样很开心的过了很久。由于vlayout项目一直比较活跃,在满足...
2018-10-19 21:07:39 263
转载 recyclerview用于多类型
参考:高仿各大商城首页—使用分类型的RecyclerView来实现Android 一个改善的okHttp封装库效果:依赖:dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.andro...
2018-10-19 20:54:17 700
转载 高仿各大商城首页---使用分类型的RecyclerView来实现
正所谓,一入商城深似海~商城类的App,确实是有许多东西值得学习,但是只要略微斟酌一下,你又会发现,它们之间存在着许多不谋而合的相似,也就是所谓的雷同~既然如此,让我们也来接下地气,先从一个简单的首页做起吧~实现的效果如下图:准备:①build.gradle文件需要添加的依赖: compile 'com.jakewharton:butterknife:7.0.1' ...
2018-10-19 20:49:44 583
转载 Android MultiType第三方库的基本使用和案例+DiffUtil的简单用法
目录1.MultiType简单介绍 2.基本使用方法 3.以一个复杂页面为例 4.今日头条真实案例 5.自定义DiffUtil简单用法1.MultiType简单介绍1.1.MultiType用于比较复杂的页面。 如下图,今日头条用到了MultiType处理各种复杂的页面。 这种还是比较简单的类型。因为一个页面也就这种类型。 下面看看这个页面。...
2018-10-18 22:12:35 791
转载 Android 复杂的列表视图新写法 MultiType
前言在开发我的 TimeMachine 时,我有一个复杂的聊天页面,于是我设计了我的类型池系统,它是完全解耦的,因此我能够轻松将它抽离出来分享,并给它取名为 MultiType.从前,比如我们写一个类似微博列表页面,这样的列表是十分复杂的:有纯文本的、带转发原文的、带图片的、带视频的、带文章的等等,甚至穿插一条可以横向滑动的好友推荐条目。不同的 item 类型众多,而且随着业务发展,还会更...
2018-10-18 22:10:52 352
原创 Github安卓流行布局开源库
抽屉菜单MaterialDrawer ★7337 - 安卓抽屉效果实现方案Side-Menu.Android ★3865 - 创意边侧菜单FlowingDrawer ★1744 - 向右滑动流动抽屉效果SlidingRootNav ★1338 - 仿DrawerLayout的ViewGroupFantasySlide ★1049 - 单手势滑出侧边栏与选择菜单Floating-Nav...
2018-10-18 22:06:24 919
转载 # RESTful登录(基于token鉴权)的设计实例
使用场景现在很多基于restful的api接口都有个登录的设计,也就是在发起正式的请求之前先通过一个登录的请求接口,申请一个叫做token的东西。申请成功后,后面其他的支付请求都要带上这个token,服务端通过这个token验证请求的合法性。这个token通常都有一个有效期,一般就是几个小时。比如我之前接入过一个支付宝和微信支付的通道,他们提供的api就要求先登录获取token然后才能使用...
2018-10-18 17:08:12 898
转载 redis 五种数据结构详解(string,list,set,zset,hash)
redis 五种数据结构详解(string,list,set,zset,hash)Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。String——字符串Hash——字典List——列表Set——集合Sorted Set——有序集合下面我们就来简单说明一下它们各自的使用场景:一、Redis String类...
2018-10-18 16:21:01 183
转载 redis-数据类型-string、hash、list、set、zset
String 类型操作string是redis最基本的类型,而且string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象。$redis->set('key','TK');$redis->set('number','1');$redis->setex('key',5,'TK'); //设置有效期为5秒的...
2018-10-18 16:17:24 297
转载 利用redis来实现身份验证的一种方法,类似session机制
HTTP协议是一种没有状态的协议,也就是说它不记录请求消息是谁发送的。这里我们把发送请求的称为客户端,接收请求并根据请求返回数据的称为服务端。HTTP协议传输就导致了一个问题:一个服务端,只要有请求URL,谁都可以访问服务端应用。显然这不符合大多数服务端的安全性要求。所以应当做到的是:客户端在通过用户名和密码进行了身份验证之后,下回这个客户端再发送请求的时候,服务器要能识别出来发送这个请求...
2018-10-18 16:04:28 1821
原创 PHP操作Redis常用技巧总结
一、Redis连接与认证? 1 2 3 4 //连接参数:ip、端口、连接超时时间,连接成功返回true,否则返回false $ret = $redis->connect('127.0.0.1', 6379, 30); //密码认证:成功返回true,否则返回false $ret = $redis->a...
2018-10-18 16:02:07 203 1
转载 PHP 使用 Redis
安装开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。 接下来让我们安装 PHP redis 驱动:下载地址为:https://github.com/phpredis/phpredis/releases。PHP安装redis扩展以下操作需要在下载的 phpredis 目录中完成:$ wg...
2018-10-18 15:55:11 147
转载 使用redis管理用户登录会话的方法
对于用来登录的cookie,有两种常见的方法可以将登录信息存储在cookie里面:一种是签名(signed)cookie,另一种是令牌(token)cookie。签名cookie通常会存储用户名,可能还有用户ID、用户最后一次成功登陆的时间,以及网站觉得有用的其他任何信息。除了用户的相关信息外,签名cookie还包含一个签名,服务器可以使用这个签名来验证发送的信息是否未经改动(比如将cooki...
2018-10-17 21:47:29 3410
转载 实现将登陆信息存储在redis数据库中
将登录信息存放在redis数据库中,可以极大的提高下次访问的效率。首先,其核心思想如下: 核心思想,首先在登陆之前在redis数据库中对数据进行查询,看是否存在该条数据,如果不存在的话,就去数据库查找,然后在查找到之后,在正常登录的时候将数据存储到redis中,当然这个存储信息的键值对也就是在redis查询的那个数据,然后下次如果再次执行访问的时候,在redis中就有了此数据,进而提高了访...
2018-10-17 21:46:01 2743
转载 $all匹配所有
这个操作符跟SQL 语法的in 类似,但不同的是, in 只需满足( )内的某一个值即可, 而$all 必须满足[ ]内的所有值,例如:db.users.find({age : {$all : [6, 8]}});可以查询出:{name: 'David', age: 26, age: [ 6, 8, 9 ] }但查询不出:{name: 'David', age: 26, ...
2018-10-15 16:14:54 1032
转载 ajax 设置Access-Control-Allow-Origin实现跨域访问
ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全。即使使用jquery的jsonp方法,type设为POST,也会自动变为GET。官方问题说明:“script”: Evaluates the response as JavaScript and returns it as pla...
2018-10-15 10:35:41 410
TA创建的收藏夹 TA关注的收藏夹
TA关注的人