![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 84
ZytheMoon
努力成为自己想要的人
展开
-
遇到Attempt to invoke virtual method ‘java.lang.Object android.content.Context.的解决方案
java.lang.NullPointerException:Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference今天遇到一个问题 ,在Fragment中使用Recyclerview设置空布局的时候出现如上问题:View view = LayoutInflater.fro.原创 2020-09-27 22:26:48 · 15461 阅读 · 0 评论 -
Android 如何屏蔽返回键和Home键
有时候需要一个功能在进入一个 Activity后暂时屏蔽掉home键和back键。一、屏蔽返回键Android Activity返回键监听的两种方式:1、覆写Activity的OnBackPressed方法@Overridepublic void onBackPressed() { // super.onBackPressed(); // 完全由自己控制返回键逻辑,系统不再控制,但是有个前提是: // 不要在Activity的onKeyDown或者OnKeyUp中拦截掉返回键原创 2020-09-11 16:58:06 · 11538 阅读 · 2 评论 -
Android activity启动关闭时滑动出现消失(并解决activity跳转时出现的短暂黑屏)
Activity在切换或者是退出的时候可以使用渐入,滑动,缩放等动态效果。使用的就是方法overridePendingTransition,可以直在Activity当中直接调用。第一个参数为Activity进入时的动画,第二参数为Activity离开时的动画效果。此方法在startActivity()或者是finish()后调用,在切换或是退出时就会调用此动画。不过有时候overridePendingTransition 这个函数会不起作用,总结下,大概是以下几个方面的原因:1、andr..原创 2020-09-09 18:04:02 · 2033 阅读 · 0 评论 -
Android 各API对应Android版本以及使用
Android版本名称CodeName Android版本 版本发布时间 对应API (nocodename) 1.0 2008年9月23日 APIlevel1 (nocodename) 1.1 2009年2月2日 APIlevel2 ...原创 2020-09-08 14:57:56 · 1147 阅读 · 0 评论 -
Android:Handler消息机制(四)——为什么主线程不会因Looper.loop()里的死循环卡死
这个问题需要通过三方面来讲:1.为什么主线程不会因为Looper.loop()里的死循环卡死?2.为什么主线程一直在死循环却不会占用大量CPU消耗?3.那究竟是什么导致主线程卡死?一、为什么主线程不会因为Looper.loop()里的死循环卡死?首先理解“线程进入死循环”这个问题, 就是在循环体内具有一段可执行的子程序,由于for(; ;)的调度导致这段子程序持...原创 2020-04-29 22:35:27 · 2380 阅读 · 0 评论 -
Android:Handler消息机制(三)——Handler源码分析
一、处理者Handler类里的主要方法:Handler():构造方法sendMessage(Message msg):将消息发送到消息队列post(Runnable r):将消息发送到消息队列dispatchMessage(Message msg):将消息发送给对应的HandlerhandleMessage(Message msg):根据某一个消息进行相关的处理和操作...原创 2020-04-27 20:35:04 · 360 阅读 · 0 评论 -
Android:Handler消息机制(二)——如何使用Handler消息机制
一、消息机制的工作步骤Handler的工作流程分为四个步骤异步通信准备、消息发送、消息循环、消息处理:1.异步通信准备:在主线程中创建处理器对象、消息队列对象、Handler对象,Looper和MessageQueue均属于主线程,在创建MessageQueue后Looper自动进入消息循环,此时Handler自动绑定主线程的Looper、MessageQuene,并且启动子线程2.消...原创 2020-04-26 15:53:55 · 400 阅读 · 0 评论 -
Android:Handler消息机制(一)——什么是Handler消息机制
一、什么是Android的消息机制Android的消息机制主要是指Handler的运行机制,handler是一套消息传递异步通信机制,Handler是Android的消息机制的上层接口,在开发过程中只需要和Handler交互即可,目的是将一个耗时任务切换到某个指定的线程中去执行。Handler的运行需要底层的MessageQueue和Lopper一起完成,这三者其实是一个整体。额外使用Mess...原创 2020-04-26 15:35:44 · 621 阅读 · 0 评论 -
什么是强引用、软引用、弱引用、虚引用以及四种引用的区别及其实现
在JDK1.2以前引用的传统定义: 如果引用类型的数据中存储的数值代表的是另一块内存的起始地址,就称这块内存代表着一个引用。但是这种定义有些狭隘,一个对象在这种定义下只有被引用或者没有被引用两种状态。不具备对于对象状态的描述。所以在之后Java对引用的概念做了扩充,将引用分为强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Referenc...原创 2020-04-08 18:27:53 · 1190 阅读 · 0 评论 -
Android核心功能模块介绍
以下是Android的各个重要模块,从具体的功能模块了解Android,就可以知道Android具体可以做些什么 一、界面框架 Android界面框架最有特色的就是资源和布局体系,通过完善的控件库和简明的接口,可以快速搭建界面。 Android的每个交互界面都由一棵控件树构成,控件树上的控件皆派生自android.view.View类,非子节点的控...原创 2019-10-05 15:38:13 · 3124 阅读 · 0 评论 -
Android 中Scheme协议的使用详解
一、首先什么是Scheme? android中的scheme是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等。 客户端应用可以向系统注册一个 URL Scheme,该Scheme...原创 2019-09-29 10:31:43 · 5232 阅读 · 0 评论 -
详解Android系统启动是如何启动的
首先对Android的系统启动流程进行一个介绍,这个启动流程是贯穿Android四层架构的过程: 一、启动电源以及系统启动:引导芯片代码从固化在ROM上的预定义地方开始执行,加载引导程序BootLoader到RAM然后执行 二、引导程序BootLoader:是在Android系统启动前的程序,其主要作用是把系统OS拉起来并运行 三、Linux内核启动:在启动时,设置缓...原创 2019-04-21 20:09:33 · 1616 阅读 · 0 评论 -
Android五层架构
之前写过一篇详细的Android四层架构,但是最近发现Android的架构变为了五层,所以在之前的基础上简单介绍一下五层架构。1.应用层:应用层为系统对用户所提供的应用程序,负责与用户进行直接交互。2.framework应用框架层:向应用开发层开发者提供了统一开发的api,这一层是由java代码编写的,有ActivityManger(活动管理器),LocationManger(位置管理器)...原创 2019-04-10 12:42:15 · 2347 阅读 · 0 评论 -
Android开发中的dp、px、dpi、sp区别和联系
px :像素,代表屏幕上的像素点。dp :一个基于屏幕密度的抽象单位,如果一个160dpi的屏幕即标准屏幕,那么1dp=1px。长度宽度的数值要使用dp作为单位放入dimens.xml文件中,当dp不能作为适配单位时,就需要使用px。dip :等同于dp。dpi :一英寸长的直线上的像素点的数量来评价屏幕的显示效果,即像素密度。不同的设备,dpi值不同,显示效果不同,dpi的值...原创 2019-04-02 20:25:14 · 890 阅读 · 0 评论 -
Android项目需要使用的各种文件
任何一个新建的项目都会默认使用Android模式的项目结构,但这并不是项目真实的目录结构,而是被Android Studio转换过的这个模式结构比较简洁明了,适合进行快速开发,将其切换为Project模式就是项目的真实结构了。一.首先就是.gradle和.idea这两个目录下放置的是Android Studio 自动生成的一些文件,.gradle是gradle 运行时自动生成的gradle项目产生原创 2018-01-23 20:41:37 · 1764 阅读 · 0 评论 -
安卓学习日记(二)四大组件(一)活动——Activity详解
Android系统四大组件分别是活动、服务、广播接受器、内容提供器。其中活动是所有Abdroid应用程序的门面凡是在应用中你看得到的都是放在活动中的,服务是无法看到的但是它会一直在后台默默的运行即使用户退出了应用服务仍然可以继续运行,广播接受器允许你的应用接受来自各处的广播消息,当然你的应用同样也可以向外发出广播消息,内容提供器则为应用程序之间共享数据提供了可能。经过了上面的简单了解,现在原创 2017-11-24 00:07:24 · 1213 阅读 · 0 评论 -
安卓学习日记(一):了解安卓架构(linux内核层、系统运行库层、应用框架层、应用层)
首先为了理解安卓系统是怎么工作的,就先来看一下android的系统架构,其架构大至可以分为四层:linux内核层、系统运行库层、应用框架层和应用层,那就先说说这几层。1.linux内核层:Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动(如显示,音频,照相机,蓝牙,WI-FI,电源管理等等),那么Android为原创 2017-11-06 11:25:27 · 18459 阅读 · 5 评论 -
了解Android已发布的各种版本(即1.0、2.0、3.0、4.0、5.0、6.0、7.0、8.0)
Android操作系统是一个由Google和开放手持设备联盟共同开发发展的移动设备操作系统。最早的一款系统是2008年9月,谷歌正式发布的Android 1.0系统,也就是Android最早的版本,随后不断的更新Android系统,2.1、2.2、2.3的连续推出使Android占据了大量的市场,2011年google发布了Android 3.0系统这个系统是为了平板电脑设计的,但是是一个原创 2017-11-07 16:44:48 · 24028 阅读 · 0 评论