- 博客(8)
- 收藏
- 关注
原创 DayNight Mode实现Android夜间模式,android音频播放器
资源细分首先我们看一看一个界面需要控制哪些颜色:而除了上述基本需要控制的窗口颜色外,布局中受影响的还会有一些文本和图像。一般的,白天/夜间模式涉及到的显示状态的切换最基本改变影响就是这些文本、icon图标、整体的背景颜色等。首先我们在colors.xml中设置好这些颜色,代码如下:白天模式:<?xml version="1.0" encoding="utf-8"?>@android:color/black@android:color/white#FF9600#FF96
2022-01-07 21:07:16 342
原创 Dart语法——看这一篇就够了,互联网行业“中年”危机
var myarea = _area(2,3);print(myarea);print(area2(2));print(area3(2, height: 1, judge: false));}num _area(num width, num height) {return width * height;}// 使用@required来标注必须参数num area1({@required num width, @required num height}) {return width * h
2022-01-07 21:04:26 1091
原创 Code Review&编程习惯,2021最新Android算法相关面试大全
凡是会抛出异常的地方都进行捕获,你可以在catch中处理异常,如果不想处理则throw这个异常,由调用者去try-catch处理:涉及到资源关闭的记得在finally中关闭资源:另外不要在循环体中捕获异常,放在最外层,以提升性能。2. 空指针,千万不要理所当然的以为一个对象不会为空,在使用一个变量之前一定要进行判空处理,做好充分的容错处理。3. 数组越界,使用数组、List之前检查索引和长度。4. 魔鬼数字:直接写在代码里的数字,一定要用常量符号代替。5. 对于可以复用的部分,提取成共.
2022-01-07 21:03:01 835
原创 ButterKnife实现原理,Android插件化主流框架和实现原理
可用注解和反射实现拿BindView为例:首先创建BindView注解,参数为默认 int value()@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.FIELD)@interface BindView {int value();}在相应的类中进行引用:@BindView(R.id.text1)TextView textView1;@BindView(R.id.text2)TextView textView2;
2022-01-07 21:01:36 850
原创 BaseUrlManager 的设计初衷主要用于开发时,有多个环境需要打包 APK 的场景
implementation ‘com.king.base:base-url-manager:1.0.0’Lvy:如果 Gradle 出现 implementation 失败的情况,可以在 Project 的 build.gradle 里面添加如下:(也可以使用上面的 GitPack 来 implementation)allprojects {repositories {maven { url ‘https://dl.bintray.com/jenly/maven’ }}}引入的库:
2022-01-07 21:00:11 804
原创 AsyncTask源码分析,安卓开发面试书籍
public final AsyncTask<Params, Progress, Result> execute(Params… params) {return executeOnExecutor(sDefaultExecutor, params);}public final AsyncTask<Params, Progress, Result> executeOnExecutor(Executor exec,Params… params) {if (mStatus !=
2022-01-07 20:57:22 662
原创 AnnotationProcessor 处理器不工作怎么定位?
Set supported = new HashSet();supported.add(Bridge.class.getCanonicalName());return supported;}@Overridepublic boolean process(Set<? extends TypeElement> set, RoundEnvironment roundEnvironment) {System.out.println(“TestAnnotationProcessor proce
2022-01-02 23:16:21 221
原创 Android面试题之Listview篇
4.上拉加载和下拉刷新怎么实现?实现OnScrollListener 接口重写onScrollStateChanged 和onScroll方法,使用onscroll方法实现”滑动“后处理检查是否还有新的记录,如果有,调用 addFooterView,添加记录到adapter, adapter调notifyDataSetChanged 更新数据;如果没有记录了,把自定义的mFooterView去掉。使用onScrollStateChanged可以检测是否滚到最后一行且停止滚动然后执行加载。5.Lis.
2022-01-02 23:13:31 202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人