
android基础知识汇总
错把套路当深情
把每一件事情。当做乐趣来做。这样。每一件事情。都会干的很好
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Surfaceview+MediaPlayer存在黑边框问题
SurfaceView的大概原理就是在现有View的位置上创建一个新的Window,内容的显示和渲染都在新的Window中。但是呢,由于SurfaceView的内容没有显示在View中而是显示在新建的Window中, 使得SurfaceView的显示不受View的属性控制,不能进行平移,缩放等变换,也不能放在其它RecyclerView或ScrollView中,一些View中的特性也无法使用。它是将内容流直接投放到View中,并且可以和其它普通View一样进行移动,旋转,缩放,动画等变化。原创 2022-11-18 15:20:55 · 738 阅读 · 1 评论 -
Android版本中蓝牙简介
android版本中蓝牙简介原创 2022-06-14 10:34:04 · 1991 阅读 · 0 评论 -
解决livedata的粘性事件
MyMutableLiveData 继承 MutableLiveDataclass MyMutableLiveData : MutableLiveData<Any>() { open inner class WrapperObserver(private val stick : Boolean = false, //是否是粘性观察,是的话会收到订阅之前的消息 private val observer : Observer<Any>) : Observer<An原创 2021-12-11 15:55:15 · 2070 阅读 · 0 评论 -
解决scrollview+刷新控件+recyclerview滑动冲突
//阻止子view获得焦点//在刷新控件里加上该属性即可android:descendantFocusability="blocksDescendants"原创 2021-12-08 15:35:07 · 198 阅读 · 0 评论 -
解决打开新页面EditView自动获取焦点,软件盘没有弹出
class SearchActivity : BaseActivity, ViewTreeObserver.OnGlobalLayoutListener { override fun initView() { super.initView() //布局的状态发生变化或者可见性发生变化才会调用 mBinding.etContent.viewTreeObserver.addOnGlobalLayoutListener(this) } overrid原创 2021-11-25 15:10:14 · 490 阅读 · 0 评论 -
android无障碍整体编写
准备:一、打开monitor.bat 我的在 D:\androidSDK\tools\monitor.bat 如果打开报错方法一:进入D:\androidSDK\tools\lib\monitor-x86_64 打开monitor.exe方法二:任务管理器(ctrl+alt+delete)结束 monitor.bat 程序,删除 monitor-x86_64 下所有文件,再重新打开二、如果想看当前页面的类名使用adb命令adb shell dumpsys window | findstr原创 2021-11-25 15:01:44 · 2135 阅读 · 0 评论 -
android组件化单独运行
1、在 gradle.properties 中加上 isModule=true2、在对应的 build.gradle 中加上if(isModule.toBoolean()){ //表示可单独运行 apply plugin: 'com.android.application'}else{ //表示该module是个library,不可单独运行 apply plugin: 'com.android.library'}3、在对应的 build.gradle 中的android{原创 2021-11-09 17:29:19 · 1776 阅读 · 0 评论 -
注解与反射的使用
class MyAnnotation { companion object{ @JvmStatic fun main(args: Array<String>) { //main函数 checkField(UserBean("pjxx",111)) } fun checkField(bean:UserBean){ //通过反射得到Class对象 //方式一: val原创 2021-07-05 15:26:25 · 127 阅读 · 0 评论 -
通俗易懂的synchronized、lock、volatile
一、synchronized:内置的关键字,当一个线程获得锁时,其他的线程只能等待,这个线程释放锁,其他的线程才能获得该锁1、类锁:需要static,第二种如果包含全部方法代码就和第一种一样,如果只包含部分代码,就是代码块锁了 public static synchronized void test(){ // TODO } 或 public static void test(){ synchronized (TestSynchronized原创 2021-06-24 15:36:05 · 298 阅读 · 0 评论 -
ARouter原理解释
ARouter路由框架会在项目的编译期通过注解处理器apt扫描所有添加@Route注解的Activity类,然后将Route注解中的path地址和Activity.class文件映射关系保存到它自己生成的java文件中,只要拿到了映射关系便能拿到Activity.class。...原创 2020-11-05 17:38:18 · 158 阅读 · 0 评论 -
为什么三次握手和四次挥手?
http协议流程1、域名解析2、TCP三次握手3、建立连接后发起请求4、服务端响应请求,返回给浏览器数据5、浏览器解析html代码,同时请求资源(图片)6、浏览器进行渲染7、TCP四次挥手1、TCP为什么要三次握手?三次握手(一种情况正常,二种情况由于网络原因C第一次发的短信S没收到)C:“你看得到我给你发的短信吗?”S:“我看得到呀,你看得到我给你发的短信吗?”C:“我能看到,balabalabala”C:“你看得到我给你发的短信吗?”C:“你看得到我给你发的短信吗?”//重新原创 2020-10-15 09:54:53 · 209 阅读 · 0 评论 -
android多渠道中修改点击绿三角默认执行的渠道包
原创 2020-04-21 14:05:33 · 289 阅读 · 0 评论 -
android如何监听饺子播放器的播放结束
饺子播放器并没有给我们提供播放结束的监听事件,只能我们自己根据播放的状态来进行监听,使用handler,在播放视频的时候开启监听,每隔2s发送一次,记得关闭handler哦! mHandler=new HandlerUtils(this, new IHandlerMessageListener() { @Override public void ...原创 2020-04-08 17:23:39 · 2904 阅读 · 9 评论 -
android-webview解决不受控制的重复打开同一个html页面
继承WebViewClient重写shouldOverrideUrlLoading(WebView webview, String url)。返回false表示让系统使用webview来加载url。返回true表示人为操作,如果里面没有逻辑且返回true,就什么都不会执行我的代码(注意:只适合android控制页面跳转,不适合web控制页面跳转)@Override public b...原创 2020-04-08 16:50:50 · 1631 阅读 · 0 评论 -
android-webview设置背景透明
mWebView.setBackgroundColor(0);//亲测有效原创 2020-04-08 14:10:39 · 684 阅读 · 0 评论 -
android webview交互简写
android webview交互简写。原创 2020-04-08 09:00:11 · 899 阅读 · 2 评论 -
android面试2021
android面试2019activityactivity生命周期activity四种启动模式activity启动流程fragmentfragment作用fragment生命周期功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不...原创 2019-09-17 18:07:22 · 3299 阅读 · 2 评论