Android
努力成为科技博
确认过眼神,是爱写笔记的人哈哈哈哈
展开
-
算法
求n*n个正方形小方格组成的大正方形 里面的正方形个数当n=1时 有1个当n=2时 有 4+1 = 2^2 + 1 = 5个 (4个小的1个大的)当n=3时 有 9+4+1 = 3^2 + 2^2 +1 = 13个 (有9个小的,4个中的,各1个大的)…所以n×n个小方格组成的正方形中包含有 n^2 +(n-1)^2 +…+1 = (n+1)(2n+1)n/6个...原创 2020-08-27 09:53:31 · 154 阅读 · 0 评论 -
视频播放sdk
常见的三种实现方式:VideoView :简单,但丑陋,几乎没有可定制性MediaPlayer+SufaceVIew:需要自己处理生命周期,复杂,可定制性高*** MediaPlayer+TextureView:同第二种,还可添加动画,在listview等复杂控件中使用MediaPlayer视频播放核心类TextureView显示帧数据核心类众多事件接口1、开始/错误/完成/缓...原创 2020-07-02 18:32:56 · 3868 阅读 · 0 评论 -
插件化
插件化开发宿主和插件话分开编译淘票票支付宝的功能并发开发动态更新插件按需下载模块 第一次加载 比较慢方法数或变量数 爆棚@Overrideprotected void doBeforeSetContentView() {super.doBeforeSetContentView();DisplayUtil.translucentStatuBar(this);Status...原创 2020-07-02 18:32:40 · 109 阅读 · 0 评论 -
使用Retrofit+RxJava下载文件并实现APP更新
后台接口这次就不能再像上一年那样通过一个txt文件来存储apk信息了,我们要做的就是请后台吃顿饭,写一下以下接口上传接口putApk这个接口用于方便我们上传新版本,可暂时配合postman使用获取apk接口 getApk我们通过当前版本号和version的对比判断是否需要更新 //retrofit implementation 'com.squareup.retro...原创 2020-07-02 18:32:09 · 480 阅读 · 2 评论 -
BSDiff增量更新技术
android9源码很多软件都有用到libbspach.so 库,如微信、qq、抖音、今日头条等libbspach.so 合成布丁bsdiff 差分(v1.1 v1.2不需要完整下载下来再安装)背景:全量更新痛点(小功能、bug)【热修复tinker\andfix 。。*】产品频繁迭代(小步快跑)用户体验很差(下载、安装)服务器耗流量(昂贵)二分法...原创 2020-05-27 19:46:02 · 247 阅读 · 0 评论 -
android 透明度
格式:android:background="#XXxxxxxx"(颜色可以写在color中)说明:半透明颜色值不同于平时使用的颜色,半透明颜色值共8位,前2位是透明度,后6位是颜色。也就是说透明度和颜色结合就可以写出各种颜色的透明度。下面是透明度说明表,供大家参考。不透明 100% FF95% F290% E685% D980% CC75% BF70% B365% A66...转载 2020-04-22 10:40:26 · 1262 阅读 · 0 评论 -
圆角渐变背景
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="@dimen/dp2"...原创 2020-04-09 15:37:44 · 96 阅读 · 0 评论 -
FlexboxLayoutManager 用法
flexWrap默认情况下 Flex 跟 LinearLayout 一样,都是不带换行排列的,但是flexWrap属性可以支持换行排列。这个也比 LinearLayout 吊啊有三个值:nowrap :不换行wrap:按正常方向换行wrap-reverse:按反方向换行justifyContent justifyContent属性定义了项目在主轴上的对齐方式。flex-start(...原创 2020-04-07 13:54:42 · 6296 阅读 · 0 评论 -
git 回滚
先显示提交的log$ git log -3commit 4dc08bb8996a6ee02fAuthor: Mark <xxx@xx.com>Date: Wed Sep 7 08:08:53 2016 +0800 xxxxxcommit 9cac9ba76574da2167Author: xxx<xx@qq.com>Date: Tue Se...转载 2020-03-26 10:12:01 · 94 阅读 · 0 评论 -
解决vivo手机安装测试包失败的bug
gradle.properties文件添加android.injected.testOnly=false-AndroidManifest.xml 清单文件在application添加中添加android:testOnly=“false”奥利给! 完美解决 撒花完结~...原创 2020-03-23 18:10:46 · 4172 阅读 · 0 评论 -
mac +java文字转xml
optiojn+回车原创 2020-03-16 17:37:01 · 94 阅读 · 0 评论 -
关于Rxjava操作符(实现接口嵌套功能)
对事件序列中的事件 / 整个事件序列 进行加工处理(即变换),使得其转变成不同的事件 / 整个事件序列具体原理如下:RxJava中常见的变换操作符如下:数据类型转换:Map()将事件的参数从 整型 变换成 字符串类型 为例子说明 // 采用RxJava基于事件流的链式操作 Observable.create(new ObservableOnSubscri...转载 2020-03-06 13:12:02 · 343 阅读 · 0 评论 -
android:scaleType="centerCrop"
(1)当图片大于ImageView的宽高:以图片的中心点和ImageView的中心点为基准,按比例缩小图片,直到图片的宽高有一边等于ImageView的宽高,则对于另一边,图片的长度大于或等于ImageView的长度,最后用ImageView的大小居中截取该图片。(2)当图片小于ImageView的宽高:以图片的中心店和ImageView的中心点为基准,按比例扩大图片,直到图片的宽高大于或等于I...原创 2019-11-03 15:24:59 · 622 阅读 · 0 评论 -
自定义内部环进度条
public class TableDetalPager extends MenuDetalBassPager { /*初始化布局*/ private RefreshListview listview; public View initView() { View view=View.inflate(context, R.layout.tabletail_pa...原创 2019-10-27 13:22:34 · 92 阅读 · 0 评论 -
去掉ListView默认的线
原创 2019-10-25 21:53:39 · 322 阅读 · 0 评论 -
Android新闻客户端笔记(2)
新闻详情页面的实现新闻类的app都有一些共性,那就是有一行页签,然后点击页签的内容后,会跳转到对应的页面。有很多此类app都是用到了ViewPagerIndicator这个开源框架。ViewPagerIndicator是安卓大神JakeWharton的作品,页签指示器,项目中经常会遇到。1、import modle导入sample会默认导入libraryC:\Users\LshyE...原创 2019-10-24 01:23:59 · 173 阅读 · 0 评论 -
Android知识图谱
原创 2019-10-18 19:48:54 · 90 阅读 · 0 评论 -
Android面试技能储备
技能储备毕业一到两年Java 基础知识方面需要掌握的有:面向对象的理解、基本类型与引用类型、构造方法、常用类(内部类、匿名类、抽象类)、三大特性(封装、继承、多态)、重写与重载、接口与接口的实现等等。这些问题面试官会在掌握的层面上去问你,主要是考察你的基础知识是否扎实,毕竟安卓是用 Java 编写的。Android 方面需要掌握的有:四大组件的简单使用、activity 的生命周期、frag...转载 2019-10-18 19:47:04 · 244 阅读 · 0 评论 -
Android数据库的优化
Android数据库优化瞎扯其实自己在BAT的某家工作过,另外2家也都面试过,据我工作和面试的情况感觉各大公司对于客户端数据库的使用是比较少的,尽量的情况都是在内存中做,或者文件。比如新浪微博大部分的可持久化数据是基于文件的而不是数据库不知道是基于什么考量。但是之前我工作的部门是根据谷歌的开发理念是做了基于以cursor为model,以loader,notify为model和view的双向关...转载 2019-10-18 19:44:43 · 193 阅读 · 0 评论 -
气体检测软硬件连接
AD转换就是模数转换,就是把模拟信号转换成数字信号。D/A转换是把数字量转变成模拟的器件。A/D转换器是用来通过一定的电路将模拟量转变为数字量。模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。...原创 2019-10-16 13:23:46 · 209 阅读 · 0 评论 -
58同城退出对话框
开发步骤实现主界面布局创建对话框布局文件创建平移动画文件创建对话框样式实现动画对话框#FF5B3F原创 2019-04-11 14:33:11 · 157 阅读 · 0 评论 -
基于SQLite开发的Android记账APP
1.Android中的持久化技术SharedPreference文件储存SQLite【1】 轻量级关系数据库【2】运算速度快【3】占用资源少【4】支持标准SQL语法数据库中的基本元素关系数据库表:同一类记录的集合字段:对应实体的属性元祖:也叫做记录,表中的每一行数据库的四个主操作CRUD增,添加(Create)删,删除(Delete)改,更新(Updat...原创 2019-04-23 08:38:51 · 2829 阅读 · 0 评论 -
Android 画布
思路:布局:<?xml version="1.0" encoding="utf-8"?><android.pims.com.drawingboard.MyViewandroid:id="@+id/draw"android:layout_width=“fill_parent”android:layout_height=“0dp”android:layout_we...原创 2019-09-20 11:03:35 · 137 阅读 · 0 评论 -
网络框架
常用网络框架volleyhttps://github.com/mcxiaoke/android-volleyxUtils原创 2019-09-29 19:52:49 · 91 阅读 · 0 评论 -
Android killer第一次使用遇到的问题
1、反编译时显示编译失败原因:未添加apktool_2.3.4.jar解决方法:百度 下载该文件 复制到C:\Users\LshyER\Downloads\AndroidKiller_v1.3.1\AndroidKiller_v1.3.1\bin\apktool\apktool然后 :在图形化界面添加新版本的apktool2、反编译源码卡死原因:rtl230.bpl版本低解决方...原创 2019-09-29 20:02:56 · 464 阅读 · 0 评论 -
Android 新闻客户端笔记
cmd—>ipconfig找到自己的ip地址:WebView 将web端网页添加到手机客户端,主要用于Android和H5用户的交互Github上传项目有了自己的账号以后,就可以进行登录,开始创建一个新的项目创建一个新的项目,填写项目名称,描述创建完成之后,跳转到下面的页面,下面红框中的网址要记住,在后面上传代码的时候需要使用接下来,我们需要先下载Git,这里最好下...原创 2019-10-08 18:00:36 · 436 阅读 · 0 评论 -
android 底层
软件的UI结构 —3层原创 2020-07-02 18:33:30 · 218 阅读 · 0 评论 -
Android中fragment A里面点击button跳转到fragment B实现方法
Android中fragment A里面点击button跳转到fragment B实现方法方法一https://blog.csdn.net/bfboys/article/details/53193034方法二https://blog.csdn.net/solocoder/article/details/83655975(回调或者替换) ...原创 2019-04-01 10:29:50 · 4330 阅读 · 0 评论