- 博客(103)
- 资源 (4)
- 收藏
- 关注
原创 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
2527
原创 Git问题汇总
文章目录Git写错分支,修改转移到另一个分支撤销上一次提交Git写错分支,修改转移到另一个分支写了一天的代码准备提交了,忽然发现写在了错误的分支上,what?!怎么在不让别人发现情况下,悄悄把这些修改转移到正确的分支上去呢?例如需要在test1分支上开发,现在代码全都写在了master分支上,首先把所有修改都git add进暂存区,先不要git commit,然后:git stash //把暂存区内的修改存储起来git checkout test1 //切换到正确的分支git
2022-04-02 17:49:31
3257
原创 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
4577
2
原创 bug解决方案
1.问题:Could not find active fragment with index -1解决:dialog使用dismissAllowingStateLoss()2.问题:Resources$NotFoundException: Resource ID #0xfffffe6c(https://apm.umeng.com/platform/5ce4e5d2570df3475b0000cf/error_analysis/crash/detail/4726839292207?errorId=4726
2022-02-24 15:04:22
2217
原创 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
2162
原创 Android开发常用库
下载框架RxDownloadhttps://github.com/ssseasonnn/RxDownloadimplementation "com.github.ssseasonnn:RxDownload:1.1.4"视频播放TextureVideoViewimplementation 'com.sprylab.android.texturevideoview:texturevideoview:1.2.1'滴滴debugdebugImplementation 'io.github.d..
2022-02-17 13:14:37
1043
原创 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
1568
原创 【Exception】okhttp3使用http明文流量抛异常(Android P 网络请求开始强制要求https)
文章目录异常问题解决异常CLEARTEXT communication to " + host + " not permitted by network security policy问题由于 Android P 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止。如果当前应用的请求是 htttp 请求,而非 https ,这样就会导系统禁止当前应用进行该请求,如果WebView 的 url 用 http 协议,同样会出现加载失败,https 不受影响。解决下新建一个 xml 目录,
2022-02-14 10:46:05
1788
原创 软键盘弹出时EditText上移
参考文章:https://blog.youkuaiyun.com/weixin_39678304/article/details/117649662Manifest中设置属性android:windowSoftInputMode="adjustResize" //多个属性用|分开windowSoftInputMode的各值的含义:stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置stateUnchanged:当这个activity出现时,软键盘
2022-02-10 17:06:17
1314
原创 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
2148
原创 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
3449
原创 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
3066
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
1720
原创 约束布局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
949
原创 [读书笔记] Android 源码设计模式解析与实战 第2版
https://www.jianshu.com/p/49baca8fd52e面向对象的六大原则单一职责原则(一个类只做一个事情)
2021-10-19 16:58:10
1547
原创 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
975
原创 图片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
1990
原创 Camera2的简单使用
一. 布局AutoFitTextureViewpublic class AutoFitTextureView extends TextureView { private int mRatioWidth = 0; private int mRatioHeight = 0; public AutoFitTextureView(Context context) { this(context, null); } public AutoFitTextu
2020-11-08 11:20:14
1366
原创 Android性能优化
文章目录一、性能优化的难点:二、启动速度优化1.启动时间的测量方式(1) adb(2) 手动打点2.启动优化工具的选择(1) traceview一、性能优化的难点:性能表现差APP启动慢、卡顿、丢帧内存占用高、抖动频繁耗电、网络请求慢崩溃率、异常率高线上问题无从追查如何保证异常感知灵敏度如何复原“案发现场”如何快速“止血”成功性能优化的长期开销大如何...
2020-03-01 21:23:37
333
原创 组件化封装思想实战
文章目录Application的作用它是整个程序的入口初始化工作为整个应用的其他模块提供上下文Charleshttp/https请求拦截,查看请求相关信息请求地址映射(Map),主要用于接口调试请求相关参数设置,如模拟慢网,超时等...
2019-07-28 18:40:31
675
原创 设计模式
软件设计概要一、Java设计模式软件设计的目标—— 复用二、面向对象设计原则1. 依赖倒置原则(DIP)高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象(稳定)抽象(稳定)不应该依赖于实现细节(变化),实现细节应该依赖于抽象(稳定)。2. 开放封闭原则(OCP)对扩展开放,对更改封闭类模块应该是可扩展的,但是不可修改3. 单一职责原则(SRP)一个...
2019-07-21 20:48:50
454
原创 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
514
原创 java中用实体类做key
java中使用实体类做key的时候, 必须重写equal()和hashCode()方法equal方法判断对象是否相同, 对于不需要参与判断的字段, 不要重写重写hashCode方法之后, 才可以map.get(key), 否则都为null, 对于不需要参与判断的字段, 不要重写, 例如状态等可变字段kotlin中默认重写了equal()和hashCode()方法, 所以要对字段分别判断的时候...
2019-06-12 16:12:26
1301
原创 CheckBox自定义样式
android:drawableStart="@drawable/sel_select"android:button="@null"此处不要使用background, 否则padding失效<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:draw...
2019-06-06 19:25:27
3268
原创 BottomNavigationView使用
设置显示模式app:labelVisibilityMode="labeled" |selected|unselected|auto设置字体颜色app:itemTextColor="@drawable/sel_text_color_select"<selector xmlns:android="http://schemas.android.com/apk/res/android...
2019-06-05 14:20:39
1061
原创 kotlin配置ARouter解决 w: 警告: 来自注释处理程序 'org.jetbrains.kotlin.kapt3.base.ProcessorWrapper' 的受支持 source 版本
kotlin语言这是携带参数跳转的时候可能产生的编译错误跳转页面的获取的参数加上注解@JvmField@Autowired(name = "a/b")@JvmFieldvar imageInfo: ImageInfo? = null
2019-05-15 17:47:31
6541
原创 相册(1) ---- 获取所有照片并按照时间分组
效果图一. 使用的第三方依赖及知识点1. recyclerView适配器 BaseRecyclerViewAdapterHelper使用(1) 继承 BaseMultiItemQuickAdapter因为集合中有两个种集合对象, 而这两种集合对象都实现了MultiItemEntity接口, 所以此处实体写为MultiItemEntity(2) 在构造方法中添加两种布局的//TYP...
2019-05-15 09:41:13
3564
2
原创 Android组件化即ARouter的配置与使用(kotlin)
文章目录一. 统一版本管理二. 动态切换library和application三. 合并AndroidManifest.xml一. 统一版本管理根目录下新建一个config.gradleext{android=[ conpileSdkVersion:25 ]dependence=[ supportV7: 'com.android.......']}在工程build.g...
2019-05-10 09:49:26
1847
原创 加密算法
ASCII 加密将字符转换为对应的ascii码'a'.toInt()fun encryptByAscii(s: String): String { /*with 携带的sb之后,方法体里面可以直接调用sb的方法*/ return with(StringBuilder()) { s.forEach { append(it.toInt())...
2019-05-06 21:13:05
203
原创 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
1353
原创 Android Handler机制
- Looper.prepare()创建了Looper对象, 在构造函数中创建MessageQueue, 获取到当前的线程成员变量Looper对象通过ThreadLocal跟当前线程绑定- new Handler()Looper looper = Looper.myLooper() 通过Looper类中的ThreadLocal从主线程中获取到Looper对象通过Looper对象获...
2019-04-25 00:42:26
123
原创 Android自定义注解的使用
文章目录一. 定义注解类 `@interface` 一般添加两个注解二. 定义一个注解处理类, 定义静态方法注入参考:https://blog.youkuaiyun.com/smileiam/article/details/72771634一. 定义注解类 @interface 一般添加两个注解@Retention(RetentionPolicy.RUNTIME) 表示作用时效@Target(E...
2019-04-24 22:25:22
328
原创 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
247
原创 判断图片是否与选择前一致(配合图片选择器使用)
参考: 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
391
原创 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
327
原创 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
1996
原创 开发必备
1.kotlin中多个匿名方法的简化处理例如et.addTextChangedListener使用方法,``et._` 包括其中的方法,也用_联想,注意不一定包含所有方法implementation "com.cysion:targetfun:1.1.0"...
2018-12-05 11:34:30
182
AbstractDbManager.java & IDao.java
2018-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人