
android进阶
文章平均质量分 59
lorienzhang
志之难也,不在胜人,在自胜。
展开
-
Android平台使用OpenGL实现图形渲染
OpenGL定义了一个跨编程语言、跨平台的专业图形程序接口。可用于二维或三维图像的处理与渲染,它是一个功能强大、调用方便的底层图形库。对于嵌入式设备,其提供了OpenGL ES(OpenGL for Embedded Systems)版本。由于OpenGL是跨编程语言、跨平台的设计,所以在每个平台上都要有它的具体实现,负责提供OpenGL的上下文环境以及窗口的管理。在Android平台使用EGL提供本地平台对OpenGL ES的实现。原创 2022-04-07 20:32:28 · 6501 阅读 · 1 评论 -
ubuntu20源码编译安装ffmpeg
ubuntu源码编译安装ffmpeg原创 2022-03-23 14:01:39 · 6982 阅读 · 0 评论 -
Android集成LAME库,实现pcm转mp3
Android借助LAME库实现MP3编码原创 2022-03-17 16:37:36 · 6692 阅读 · 2 评论 -
kotlin for Andrid
1. OnGlobalLayoutListener利用kotlin减少OnGlobalLayoutListener样板代码,让代码看上去更加awesome传统java写法recycler.viewTreeObserver.addOnGlobalLayoutListener( object : ViewTreeObserver.OnGlobalLayoutListener { override fun onGlobalLayout() { recycler原创 2021-05-08 13:49:34 · 221 阅读 · 0 评论 -
Kotlin杂记
基础语法函数当函数只有一行代码,Kotlin允许我们不必编写函数体fun largerNum(num1: Int, num2: Int) = max(num1, num2)return关键字可以省略,等号足以表达返回值的意思。kotlin拥有出色的类型推导功能。max()函数返回一个Int值,largerNum()又使用等号连接了max(),因此kotlin可以推导出largerNum()必然返回一个Int指。逻辑控制if条件Kotlin中if语句有返回值,返回值就是if语句每个条件中最后原创 2020-09-03 18:04:39 · 338 阅读 · 0 评论 -
算法-思维训练
两个链表想加思路:需要一个carry变量用于保存进位;最后退出循环,还需再判断一下carrypublic ListNode addLinkedList(ListNode l1, ListNode l2) { ListNode dummyHead = new ListNode(0); ListNode curr = dummyHead; // p,q两个移动指针 ListNode p = l1, q = l2; int carry = 0; whil原创 2020-10-09 17:20:16 · 342 阅读 · 0 评论 -
面试基础知识
Http 请求整体流程DNS解析,获取域名对应的ip地址建立tcp连接发送Http请求server发送http响应server关闭连接。Https 加密流程,哪些环节是对称加密,哪些环节是非对称加密https采用了对称加密+非对称加密结合的方式保护C/S之间通信安全流程:客户端请求server证书(证书里包含公钥)客户端用这个公钥对“对称密钥”加密,发送给server,s...原创 2020-10-09 17:22:09 · 597 阅读 · 0 评论 -
一种简单优雅的TextView行间距适配方案
由于Android屏幕碎片化严重,各种屏幕分辨率层出不穷,而在不同分辨率的屏幕上显示出一致的效果,是研发和视觉共同追求的目标。TextView行间距的适配问题在研发和视觉之间纠缠了很长时间,已成为平常开发以及视觉Review时的一大痛点,严重影响了大家的工作效率。因此下面探索一种简单且优雅的适配方式。问题分析不尽如人意解决思路探索适配方案...原创 2020-02-26 15:01:20 · 1498 阅读 · 0 评论 -
Android仿今日头条详情页---多子view嵌套滚动方案
一、背景类似百度APP、今日头条等产品的新闻详情页的实现。ELinkageScrollLayout给出了一种多子view嵌套滑动的解决方案。下文我们统一叫做"联动容器"项目地址:ELinkageScrollLayout直观感受下联动容器嵌套滚动的Demo效果:二、分析同大多数自定义控件类似,联动容器也需要处理子view的测量、布局以及手势处理。测量和布局对联动容器的场景来说非常简单,手...原创 2019-12-19 16:09:21 · 1777 阅读 · 0 评论 -
Android Studio发布项目到Maven仓库
为了方便别人使用我们开发的Android Library,一般我们都会把Android Library打成aar包,并将aar包发布到Maven仓库当中。如果是开源项目就可以把包发布到Maven Central仓库或者JCenter仓库中;如果是公司内部使用,一般公司内部会自己搭建私有Maven仓库,就把包发布到私有Maven仓库当中,以方便别人直接使用。这篇文章就这两类仓库的发布方法做一个介绍。准原创 2016-06-01 20:34:11 · 7146 阅读 · 5 评论 -
一个强大的下拉刷新框架
最近在学习github上的一个开源项目:android-Ultra-Pull-To-Refresh(下面简称UltraPtr) 。这个项目主要用于android APP中下拉刷新的功能。OK,之所以说UltraPtr非常强大,是因为它有以下两个特点: 1. content可以是任意的view; 2. 简介完善的header抽象,用户可以对header高度自定义;在理解了UltraPtr源码之后,原创 2016-05-10 21:09:45 · 11362 阅读 · 3 评论 -
Android Scroller使用详解
转载请标明出处:http://blog.youkuaiyun.com/h_zhang/article/details/51045045仔细算一下,学习android开发已经有一年时间了。大概就是读了两本书以及看一些牛人牛博。我自认为我的语言组织以及表达能力是相当差的,有很多时候自己想明白的东西就是说不出来。所以我写微博的目的就是想把一些知识点加以记录顺便锻炼一下自己的语言组织能力。如果有一些讲的不好的地方欢迎拍原创 2016-04-02 19:09:45 · 1773 阅读 · 5 评论