Android
fulele1
QQ:1208545388
展开
-
kotlin学习
要把函数作为参数传给其他函数使用,除了传lambda表达式,kotlin还提供了其他方法,传递函数引用,函数引用可以把一个具名函数转换成一个值参,使用lambda表达式的地方,都可以使用函数引用。匿名函数能修改并引用定义在自己的作用域之外的变量,匿名函数引用这定义在自身的函数里的变量,如下,匿名函数使用的在自身之外的year和hour,也使用了自身的name。能接受函数或者返回函数的函数又叫高级函数,高级函数广泛应用于函数式编程当中。java实现函数传递的方法,使用接口,然后抽象方法,匿名内部类。原创 2022-11-16 09:47:52 · 110 阅读 · 0 评论 -
笔记-字体转换
/把sp转成pxprivateintsp2px(intsp){return(int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX,sp,getResources().getDisplayMetrics());}原创 2022-07-25 15:27:08 · 83 阅读 · 0 评论 -
笔记-自定义view
1.4个构造分别在什么情况下调用。原创 2022-07-22 13:53:34 · 97 阅读 · 0 评论 -
问题-新建项目后版本问题
4.2.26.7.1allprojects{repositories{google()mavenCentral()jcenter()}}原创 2022-07-20 17:43:31 · 98 阅读 · 0 评论 -
笔记-viewbinding
在module的bulid.gradle中添加。省去了findviewbyid的烦恼。原创 2022-07-20 15:51:20 · 337 阅读 · 0 评论 -
笔记-Livedata
不用担心内存泄露,在创建的时候会绑定activity,在销毁的时候会自动解除绑定。一个可以使得数据编程有生命周期的一个数据也就是live活着的生命周期。2.observe中更新数据,哪里使用到哪里的数据就会被更新。1创建MutableLivedata容器接收所要更新的数据。数据用livedata传递,起到分发数据的作用。在module的build.gardle中添加。livedata是jetpack的一个组件。和eventbus作用差不多。...原创 2022-07-20 14:09:57 · 119 阅读 · 0 评论 -
面向面试学习-线程
3类实现callback接口有返回值。2.类实现runable接口多实现。1.类继承thread单继承。4线程池,有顺序的执行。原创 2022-07-15 08:47:32 · 83 阅读 · 0 评论 -
面向面试学习-代码的混淆
3.Androidstudio的Terminal界面输入gradleassembleRelease回车进行编译打包,如果编译失败则检查配置的混淆规则。成功后即可得到混淆后的aar或apk文件。2.progrond-rules.pro文件中配置相应的不需要混淆的文件eg对外暴露的接口,实体类,自定义的控件,第三方的jar包之类的。1.在build.gradle中设置modifyenable=true。...原创 2022-07-14 23:59:22 · 218 阅读 · 0 评论 -
面向面试学习-安卓中常用的5大存储方式
2SQLite,是一种轻量级的数据库,安卓有提供sqliteopenhelper来创建数据库,sqlitedatebase中有里面有对应的增删改查,一般用户客户信息的存储。1sharedpreference,本质上是创建一个xml进行键值对的存储,一般用于保存用户的设置。4可以给外部提供的媒体图片,联系人信息的文件。3图片文件,多媒体文件的本地存储。5网络存储,不是很多。...原创 2022-07-14 19:12:59 · 361 阅读 · 0 评论 -
面向面试学习-常见的内存泄漏
Android常见内存泄漏汇总 - 简书1.非静态内部或者匿名内部类会被默认持有外部类的引用比如handler中,解决方法就是使用静态内部类+弱引用的方式,这样就解决了在退出activity的时候messagequene中还持有activity导致无法退出而造成的内存泄漏。2.广播,或者rxbus在ondestory中需要反注册防止内存泄漏。3webview在使用完后记得在父容器中移除后再webview.destory()...原创 2022-07-14 18:13:48 · 223 阅读 · 0 评论 -
面向面试学习-handler机制
handler随记原创 2022-07-14 17:42:15 · 321 阅读 · 0 评论 -
面向面试学习-activity的生命周期
onCreate 创建onStart 可见 但没被显示到前台onResume 完全显示 获得焦点onPouse 没有到后台 失去焦点onStop 不可见 到后台onDestory 销毁eg: 1正常的启动:onCreate -onStart-onResume 2正常的退出:onPause-onstop-ondestory 3back: onpause-onstop -ondestory 4 home:onpause-onstop 再打开:onrestar原创 2022-07-13 19:16:12 · 174 阅读 · 0 评论 -
面向面试学习-activity的四种启动模式
standard:标准模式,新建一个activity就会在栈中建一个singleTop:栈顶模式,如果新建的activity在栈顶,会直接使用,否则会在栈顶创建一个,singleTask:栈内单例,如果栈内有,会移除前面的出栈singleInstance:另起一个新栈...原创 2022-07-13 17:25:48 · 119 阅读 · 0 评论 -
Android Studio3.0后依赖ButterKnife不成功的解决方法
3.0之前:在app build.gradle 中添加apply plugin: 'android-apt'在app build.gradle dependencies中添加compile 'com.jakewharton:butterknife:8.1.0'apt 'com.jakewharton:butterknife-compiler:8.1.0'在pr原创 2017-11-15 15:04:37 · 1439 阅读 · 0 评论 -
Picasso的简单实用
Picasso.with(instance) .load(url)//图片链接 .transform(new CircleTransform())//设置为圆形图片 .placeholder(R.mipmap.nothing_pic)//占位图 .error(R.mipmap.failed_pic)//加载失败图 .i原创 2017-11-23 15:11:15 · 160 阅读 · 0 评论 -
使用链式结构初始化Application 拒绝一般做法
mmp写的一遍不知道怎么回事 发表之后只有一半 不写了 直接上代码public class ExampleApp extends Application { @Override public void onCreate() { super.onCreate(); Latte.init(this) .withApiHo...原创 2018-07-12 14:23:36 · 283 阅读 · 0 评论 -
解决依赖冲突 android.support.v4.animation.AnimatorCompatHelper 记录一下
configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> def requested = details.requested if (requested.group == 'com.android.support') { ...原创 2018-08-24 17:06:07 · 954 阅读 · 0 评论