笔记
文章平均质量分 56
那时候
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
android MVVM
文章目录LifecycleLiveDataViewModel注意DataBindinghttps://www.jianshu.com/p/7f77cfc43313LifecycleLiveDataViewModel注意ViewModel中不能持有Activity的Context对象ViewModel的生命周期比Activity和Fragment长,在配置改变时,Activity会销毁重建,而ViewModel不会,所以ViewModel不应该持有Activity的Context对象,否则可原创 2022-04-02 18:28:57 · 2577 阅读 · 0 评论 -
Git问题汇总
文章目录Git写错分支,修改转移到另一个分支撤销上一次提交Git写错分支,修改转移到另一个分支写了一天的代码准备提交了,忽然发现写在了错误的分支上,what?!怎么在不让别人发现情况下,悄悄把这些修改转移到正确的分支上去呢?例如需要在test1分支上开发,现在代码全都写在了master分支上,首先把所有修改都git add进暂存区,先不要git commit,然后:git stash //把暂存区内的修改存储起来git checkout test1 //切换到正确的分支git原创 2022-04-02 17:49:31 · 3302 阅读 · 0 评论 -
Android中的设计模式
设计模式面对对象六大原则1. 单一职责原则(SRP SingleResponsibilityPrinciple)2. 开闭原则(OCP OpenClosePrinciple)3. 里式替换原则(LSP LiskovSubstitutionPrinciple)4. 依赖倒置原则(DIP DependenceInversionPrinciple)5. 接口隔离原则(ISP InterfaceSegregationPrinciples)6. 迪米特原则(LOD LawOfDemeter,最少知识原则)Androi原创 2022-03-07 23:45:46 · 4663 阅读 · 2 评论 -
Activity与Fragment
文章目录ActivityFragmentViewPager2中的Fragment的生命周期Activity进入页面onCreate - onStatrt - onResume — onRestart - onPause - onStop - onDestroyFragment创建onAttach - onCreate - onCreateView - onViewCreated - onActivityCreated - onStart - onResume销毁onPause -原创 2022-02-23 11:44:11 · 2207 阅读 · 0 评论 -
retrofit
导入implementation 'com.squareup.retrofit2:retrofit:2.1.0' implementation 'com.squareup.retrofit2:converter-gson:2.1.0' implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'注解@Query例如URL https://base_url/backend-service/config?env=dev ,问号后面属于原创 2022-02-14 11:48:55 · 1600 阅读 · 0 评论 -
Android面试知识
文章目录assets和res/raw的区别Serializable 和 Parcelable 的区别assets和res/raw的区别assets中的文件资源不会映射到R中,而res中的文件都会映射到R中,所以raw文件夹下的资源都有对应的ID;assets可以能有更深的目录结构,而res/raw里面只能有一层目录;资源存取方式不同,assets中利用AssetsManager,而res/raw直接利用getResource(), openRawResource(R.raw.fileName)原创 2022-02-10 16:47:15 · 2190 阅读 · 0 评论 -
LifecycleObserver的使用
LifecycleObserver是一个接口, 实现之后可以通过注解, 在activity的生命周期中, 会回调相关的方法public class ProcessLifecycleObserver implements LifecycleObserver { @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) void onCreate() { } @OnLifecycleEvent(Lifecycle.Event.ON_START原创 2022-02-09 16:36:36 · 3630 阅读 · 0 评论 -
Android共享元素实现页面跳转动画
文章目录介绍实现要点说明参考动画框架(4)-共享元素动画和场景切换Demo介绍从AActivity跳转到BActivity, 指定的view会有动画实现AActivity.javaIntent intent = new Intent(this, BActivity.class);Pair<View, String> pair1 = new Pair<View, String>(mIv, "这是共享元素tag");ActivityOptions options =原创 2021-11-29 18:28:33 · 3158 阅读 · 1 评论 -
drawable文件
文章目录一、level-list二、transition三、inset一、level-list<level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@mipmap/a" android:minLevel="1" android:maxLevel="2"/> <item android:drawable="@mipmap/b原创 2021-11-23 18:10:13 · 1760 阅读 · 0 评论 -
约束布局ConstraintLayout
文章目录一、二、组件1. ImageFilterView/ImageFilterButton2. ~~MockView~~3. MotionLabel一、二、组件1. ImageFilterView/ImageFilterButton属性:roundPercent 圆角比例, 1圆 0正方形 [0,1]round 圆角尺寸 [dimen]imageRotate 图片旋转角度 (顺时针角度, 图片位置不变)imageZoom 图片缩放(图片位置不变)saturation 饱和度 [-100原创 2021-11-23 16:34:43 · 977 阅读 · 0 评论 -
Android基础知识(进阶)
文章目录Activity全知识一、Activity的启动1. Activity的方法执行顺序二、方法详解1. onSaveInstanceState2. onRestoreInstanceState3. onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?)其他(不常用):Activity全知识一、Activity的启动1. Activity的方法执行顺序启动Activity1:onCreate -&原创 2021-09-06 17:54:26 · 1015 阅读 · 0 评论 -
图片Bitmap
参考:Android Bitmap(位图)详解Bitmap即位图, 本质上就是一张图片的内容在内存中的表达形式Bitmap.ConfigARGB_8888:每个像素点4字节内存,质量最高,内存占用最大,色深为32位;RGB_565:每个像素点2字节内存,不支持透明度,色深为16位;ALPHA_8:不支持颜色值,只能存储透明度通道值,用于设置遮盖效果等.Bitmap的压缩存储Bitmap是图片在内存中的表示,GIF、JPEG、BMP、PNG和WebP等格式图片是持久化存储后的图片。内存中的原创 2021-02-04 14:26:01 · 2039 阅读 · 0 评论 -
Android性能优化
文章目录一、性能优化的难点:二、启动速度优化1.启动时间的测量方式(1) adb(2) 手动打点2.启动优化工具的选择(1) traceview一、性能优化的难点:性能表现差APP启动慢、卡顿、丢帧内存占用高、抖动频繁耗电、网络请求慢崩溃率、异常率高线上问题无从追查如何保证异常感知灵敏度如何复原“案发现场”如何快速“止血”成功性能优化的长期开销大如何...原创 2020-03-01 21:23:37 · 548 阅读 · 0 评论 -
组件化封装思想实战
文章目录Application的作用它是整个程序的入口初始化工作为整个应用的其他模块提供上下文Charleshttp/https请求拦截,查看请求相关信息请求地址映射(Map),主要用于接口调试请求相关参数设置,如模拟慢网,超时等...原创 2019-07-28 18:40:31 · 703 阅读 · 0 评论 -
设计模式
软件设计概要一、Java设计模式软件设计的目标—— 复用二、面向对象设计原则1. 依赖倒置原则(DIP)高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象(稳定)抽象(稳定)不应该依赖于实现细节(变化),实现细节应该依赖于抽象(稳定)。2. 开放封闭原则(OCP)对扩展开放,对更改封闭类模块应该是可扩展的,但是不可修改3. 单一职责原则(SRP)一个...原创 2019-07-21 20:48:50 · 476 阅读 · 0 评论 -
Kotlin入门与进阶
文章目录第4章 面向对象4-1 面向对象-抽象类与接口(abstract,interface)4-4 类及其成员的可见性(private,protected,internal,public)4-5 类的鼻祖-object4-6 伴生对象与静态成员4-7 方法重载与默认参数4-8 扩展成员4-9 属性代理4-10 数据类(allOpen,noArg插件,再见,javaBean)知识点1备注(在And...原创 2019-07-14 22:31:14 · 660 阅读 · 0 评论 -
Android组件化即ARouter的配置与使用(kotlin)
文章目录一. 统一版本管理二. 动态切换library和application三. 合并AndroidManifest.xml一. 统一版本管理根目录下新建一个config.gradleext{android=[ conpileSdkVersion:25 ]dependence=[ supportV7: 'com.android.......']}在工程build.g...原创 2019-05-10 09:49:26 · 1901 阅读 · 0 评论 -
Android Handler机制
- Looper.prepare()创建了Looper对象, 在构造函数中创建MessageQueue, 获取到当前的线程成员变量Looper对象通过ThreadLocal跟当前线程绑定- new Handler()Looper looper = Looper.myLooper() 通过Looper类中的ThreadLocal从主线程中获取到Looper对象通过Looper对象获...原创 2019-04-25 00:42:26 · 148 阅读 · 0 评论 -
Android自定义注解的使用
文章目录一. 定义注解类 `@interface` 一般添加两个注解二. 定义一个注解处理类, 定义静态方法注入参考:https://blog.youkuaiyun.com/smileiam/article/details/72771634一. 定义注解类 @interface 一般添加两个注解@Retention(RetentionPolicy.RUNTIME) 表示作用时效@Target(E...原创 2019-04-24 22:25:22 · 354 阅读 · 0 评论 -
设置控件的背景的stroke显示指定边
不显示右边框<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:right="-2dp"> <shape> <solid android:color="#ff...原创 2018-07-17 18:06:48 · 611 阅读 · 1 评论 -
Android新组件应用
CheckedTextView替代LineaLayout + TextView + ImageView 构造单选项Chronometer替代RxJava.interval + TextViewStackView类似Android的多任务的布局原创 2018-08-22 17:10:45 · 376 阅读 · 0 评论 -
反射
作用: 修改某个java文件的某个变量的值//qcb为该类的对象val f = qcb::class.java.getDeclaredField("mOverlay") //获取变量名为mOverlay的变量f.isAccessible = true //设置该变量的权限f.set(qcb, null) //重新给该变量赋值...原创 2018-08-22 17:14:13 · 153 阅读 · 0 评论 -
给ViewGroup的Item添加动画
如RecyclerView/LinearLayout.. 布局中添加android:layoutAnimation="@anim/anim_layout" anim文件夹中:<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" android:animation="@an...原创 2018-08-27 12:30:06 · 318 阅读 · 0 评论 -
沉浸式状态栏
参考: Android状态栏微技巧,带你真正理解沉浸式模式隐藏ActionBarsupportActionBar?.hide()设置全屏(隐藏状态栏)decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN设置沉浸状态栏(图片填充状态栏,不隐藏导航栏)val decorView = window.de...原创 2018-08-31 19:05:45 · 177 阅读 · 0 评论 -
Kotlin笔记
扩展函数写在当前类,当前使用类A.方法x() 的形式,可以直接在该扩展函数中使用该类中的对象或方法(仅public方法)使用: a.x()原创 2018-09-13 18:09:43 · 228 阅读 · 0 评论 -
Android笔记
setTextSize()方法的坑mText.setTextSize(18); 18spmText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18); 18spmText.setTextSize(getResources().getDimension(R.dimen.sp_18)); (sp2px(18))spmText.setTex...原创 2018-09-19 10:51:54 · 238 阅读 · 0 评论 -
开发必备
1.kotlin中多个匿名方法的简化处理例如et.addTextChangedListener使用方法,``et._` 包括其中的方法,也用_联想,注意不一定包含所有方法implementation "com.cysion:targetfun:1.1.0"...原创 2018-12-05 11:34:30 · 210 阅读 · 0 评论 -
anko的使用
基本导入ext.anko_version='0.10.8'implementation &amp;amp;quot;org.jetbrains.anko:anko:$anko_version&amp;amp;quot;dp、sp、px的相互转换Context方法,直接调用dip 将dip单位的数值转换为以px为单位的数值sp 将sp单位的数值转换为以px为单位的数值px2dip 将px单位的数值转换为以dip为单...原创 2018-12-12 17:11:48 · 2042 阅读 · 0 评论 -
Android读写文本、图片等
Kotlin方法readText : 读取文本形式的文件内容。readLines : 按行读取文件内容。返回一个字符串的List,文件有多少行,队列中就有多少个元素。readBytes : 读取字节数组形式的文件内容1. 文本写:val text = File(&amp;quot;s&amp;quot;).writeText()读val text = File(&amp;quot;s&amp;quot;原创 2018-12-13 10:35:16 · 364 阅读 · 0 评论 -
判断图片是否与选择前一致(配合图片选择器使用)
参考: https://blog.youkuaiyun.com/qq_30711091/article/details/80750078在view中设置tag根据iv.tag判断在Application中配置ViewTarget.setTagId(R.id.glide_tag)在values中添加ids.xml <item name="glide_tag" type="id"/>使用G...原创 2018-12-18 10:40:33 · 416 阅读 · 0 评论 -
drawable中只显示某一条边的background
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:left="-2dp" android:right="-2dp" android:top="-2dp"> <shape原创 2019-01-02 11:35:43 · 264 阅读 · 0 评论 -
设置禁止截屏
window.addFlags(WindowManager.LayoutParams.FLAG_SECURE)原创 2019-01-16 09:15:07 · 7194 阅读 · 2 评论 -
Android网络请求(原生 URLConnection)
GETURL url = new URL("https://www.baidu.com");URLConnection connection = url.openConnection();//使用输入流InputStream is= connection.getInputStream(); InputStreamReader isr= new InputStreamReader(is, ...原创 2019-04-26 22:28:56 · 1381 阅读 · 0 评论 -
Builder 模式
pubilic class DownloadConfig {... 内部类 public static class Builder { private DownloadConfig config; //1. 创建外部类对象 public Builder() { config = new DownloadConfig(...原创 2018-05-22 15:32:52 · 128 阅读 · 0 评论
分享