Android使用RecyclerView实现堆叠头像效果
第二个盖住第一个视图:item.layout 123456789101112<?xml version="1.0" encoding="utf-8"?><androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="24dp" android:layout_height="24dp" android:layout_marginRight="-10dp" android:elevation="0dp" app:cardBackgroundColor="@color/white" ...
Android音视频开发之ijkplayer
一.Ijkplayerijk的导入方式有两种,第一种是使用gradle导入ijkplayer发布到jcenter,已经打包好的依赖包,第二种是去github中下载ijkplayer源码,自己进行编译。 1.gradle方式导入:123456789101112# required, enough for most devices. implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8' implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8' # Other ABIs: optional implementation 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8' implementation 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8' implementation...
AOSP源码之编译、调试、刷机
一.准备工作 系统最好是Linux或者mac OS(本文基于Ubuntu)。 Ubuntu设置永不休眠,在setting中搜索power.blank-screen选择never。 一块大一点儿的硬盘,至少得有200G剩余空间。 二.下载Aosp源码1.安装GIT首先需要安装Git,因为源码是用Git管理的。1sudo apt-get install git 接下来创建一个bin文件夹,并加入到PATH中,有点像Windows的环境变量。12mkdir ~/binPATH=~/bin:$PATH 然后初始化Git,邮箱和姓名。12git config --global user.email "xxx@gmail.com"git config --global user.name "xxx" 2.安装Python环境1sudo apt-get install python 3.安装repo及配置repo 是一个python 脚本(所以我们上面要配置Python环境),因为Android源码包含数百个git库,简化帮助管理git...
微信小程序开发总结
一.开发前准备1.注册账号如果还没有微信公众平台的账号,先进入微信公众平台首页,点击 “立即注册” 按钮进行注册。注册的账号类型选择 “小程序” 即可。接着填写账号信息,需要注意的是,填写的邮箱必须是未被微信公众平台注册、未被个人微信号绑定的邮箱,而且每个邮箱仅能申请一个小程序。激活邮箱之后,选择主体类型为 “个人类型”,并按要求登记主体信息。主体信息提交后不可修改,该主体将成为你使用微信公众平台各项服务和功能的唯一法律主体与缔约主体,在后续开通其他业务功能时不得变更或修改。 2.获取id登录微信公众平台 —> 开发 —>...
网络抓包原理及Fiddler的使用
一. 什么是抓包?在应用的开发调试中,查看软件实际运行时HTTP/HTTPS通信的请求数据和返回数据,从而分析问题的过程就叫做抓包。通常我们说的抓包主要是分为两种: 使用Wireshark抓取传输层的TCP/UDP通信包。 使用Fiddler或者Charles抓取应用层的HTTP/HTTPS通信包。 在大部分场景下,我们只是需要抓取应用层的HTTP/HTTPS数据包也就是第二种方式。 二....
Kotlin总结之四面向对象编程
一.Kotlin类的创建1.类的声明Kotlin 类可以包含:构造函数和初始化代码块、函数、属性、内部类、对象声明。Kotlin 中使用关键字 class 声明类,后面紧跟类名: 1234// 类名为 Appleclass Apple{ // 大括号内是类体构成} 当类没有结构体的时候,大括号可以省略。如: 1class Apple 类的修饰符 描述 abstract 抽象类 final 类不可继承,默认属性 enum 枚举类 open 类可继承,类默认是final的 annotation 注解类 访问权限修饰符 描述 private 仅在同一个文件中可见 protected 同一个文件中或子类可见 public 所有调用的地方都可见 internal 同一个模块中可见 2....
Apk构建总结之二构建工具(Ant、Maven、Gradle)
一. 构建工具1.什么是构建工具?在进行编程操作的时候,我们经常会遇到很多与编程无关的项目管理工作。如下载依赖、编译源码、单元测试、项目部署等操作。一般的,小型项目我们可以手动实现这些操作,然而大型项目这些工作则相对复杂。所以我们需要用到构建工具。构建工具是帮助我们实现一系列项目管理、测试和部署操作的工具。构建工具可以把源代码生成可执行应用程序的过程自动化的程序(例如Android app生成apk)。构建工具包括编译、连接跟把代码打包成可用的或可执行的形式。 总的来说构建的自动化是编写或使一大部分任务自动执行的一个动作,而这些任务则是软件开发者的日常,像是: 下载依赖。 将源代码编译成二进制代码。 打包生成的二进制代码。 进行单元测试。 部署到生产系统。 2.为什么要使用构建工具?比如我们要写一个Java程序,一般的步骤也就是编译,测试,打包。这个构建的过程,如果文件比较少,我们可以手动使用java, javac,...
Apk构建总结之一打包流程及安装流程
一. 分析已经打好的apk要了解APK的打包流程,我们首先来了解下打包完成以后APK包里面包含哪些东西。.apk文件其实就是一个压缩文件,把文件的后缀改成.zip就可以用解压软件解压了: 1. 将apk后缀改成rar包 2. 解压rar包 apk是一个压缩包,里面有lib,META-INF,classes.dex,res,resources.arsc文件夹和文件。下面看看它们各自的作用。 assets资源。 lib不是每个apk都有的,主要看项目,文件夹里面存放的是so动态链接库,so动态链接库不需要做处理。 META-INF是签名文件夹,里面有三个文件。 res:除图片和 res/raw 文件夹下的文件外,其余的 xml 文件都被 aapt 编译成二进制的 xml 文件,里面还会分animator,anim,color,drawable,layout,menu和raw这几个文件夹。 AndroidManifest.xml:经过 aapt 编译后的二进制的 xml 文件,它位于整个项目的根目录,描述了package中暴露的组件(activities,...
Kotlin总结之三函数及函数式编程
一.Kotlin中的函数函数是执行特定任务的一段代码,程序通过将一段代码定义成函数,并为该函数指定一个函数名,就可以在需要的时候多次调用这段代码,代码复用的重要手段就是通过函数实现的。 1.函数声明定义格式为: 123权限修饰符 fun 函数名(参数名 :类型,...) : 返回值{ //函数执行体} 函数从参数角度,可以分为有参函数以及无参函数;从返回值角度,可以分为有返回值的函数以及没有返回值的函数。那么函数一共就有4种类型,无参无返回值、无参有返回值、有参无返回值、有参有返回值。 1234567891011121314151617181920212223242526272829//无参无返回值fun test() { println("test")} //无参有返回值fun test(): String { return"test"} //有参无返回值fun test(content: String) { ...