
【Android 基础】
Android 基础知识总结
QDJdeveloper
早已注定,我只能在荆棘中采拾鲜花,但重要的是要对胜利和信念充满执着
何塞-穆里尼奥
展开
-
接口 VS 抽象类的区别?
在面向对象编程中,抽象类和接口是两个经常被用到的语法概念,是面向对象四大特性,以及很多设计模式、设计思想、设计原则编程实现的基础。比如,我们可以使用接口来实现面向对象的抽象特性、多态特性和基于接口而非实现的设计原则,使用抽象类来实现面向对象的继承特性和模板设计模式等等。 不过,并不是所有的面向对象编程语言都支持这两个语法概念,比如,C++ 这种编程语言只支持抽象类,不...原创 2020-01-20 18:45:55 · 341 阅读 · 0 评论 -
封装、抽象、继承、多态分别解决了那些编程问题
封装(Encapsulation)首先,我们来看封装特性。封装也叫作信息隐藏或者数据访问保护。类通过暴露有限的访问接口,授权外部仅能通过类提供的方式(或者叫函数)来访问内部信息或者数据。这句话怎么理解呢?我们通过一个简单的例子来解释一下。下面这段代码是金融系统中一个简化版的虚拟钱包的代码实现。在金融系统中,我们会给每个用户创建一个虚拟钱包,用来记录用户在我们的系统中的虚拟货币量。对于虚拟钱包的...原创 2020-01-16 12:23:01 · 1264 阅读 · 0 评论 -
Android 四大组件之 Service (下)
上篇文章中我们学习了服务的概念、服务的基本用法,包括启动和停止服务、活动和服务进行通信、服务的生命周期,如何销毁服务等内容,这些都是我们日常用到的,不过还有一些更加高端的服务技术需要我们学习,如果你还对服务不是很了解可以去查看上一篇文章,文章地址:Android 四大组件之 Service(上),今天我们就一起来学习更多 Service 相关的内容,接下来我们开始演绎原创 2017-08-10 15:36:16 · 1103 阅读 · 0 评论 -
Android Fragment 完全解析(下)
前几天我们分享了 Fragment 的基本使用,包括 Fragment 的概念、Fragment 设计原理、如何创建 Fragment、在 Fragment 中模拟返回栈、Fragmen t的生命周期以及 Fragment和 Activity 之间的通信等相关的内容,如果你对 Fragment 的基本使用还没有一个详细的了解,可以先阅读 Android Fragment 完全解析(上),今天原创 2017-08-29 11:04:57 · 1099 阅读 · 0 评论 -
Android Fragment 完全解析(上)
Fragment(碎片),被称为Andorid第五大组件,也是继Activity、Service、BroadcastReceiver、ContentProvider四大组件之后有一个非常重要的组件,今天我们就来学习一下Fragment一、概述Fragment 表示 Activity 中的行为或用户界面部分,你可以将多个碎片组合在一个Activity中来构建多窗格 UI,以及在多个Activ原创 2017-08-25 17:07:20 · 1848 阅读 · 0 评论 -
Android Activity 完全解析(中)
在上一篇文章中我们学习了Activity的生命周期以及用Intent打开系统的方法相关方面的知识,分析了单个Activity生命周期从创建到销毁的过程,以及多个Activity之间互相跳转的生命周期的创建过程,如果你还不是很清楚,可以先阅读Android Activity完全解析(上),今天我们接着来学习一下Activity其它的相关方面的知识,为了让大家看起来一目了然今天分享的内容,绘制如原创 2017-03-12 20:09:07 · 1937 阅读 · 0 评论 -
Android Activity 完全解析(上)
Activity是Android的四大组件之一,学习Android恐怕打交道最多的就是Activity,只要是我们看到的界面上的东西,几乎都是以Activity为载体的,它是一种包含用户界面的组件,用于和用户进行交互,Activity是基础中的基础,但越是基础的东西,我们就有可能忽视它的重要性,这样我们的基础就会不扎实,所以即使是基础的东西,我们还是很有必要去花时间尽力好好分析一下的,下面我们对活动进行详细的介绍,说到活动恐怕活动的生命周期我们就不得不去研究原创 2017-03-04 19:27:47 · 2025 阅读 · 0 评论 -
2017 Android GitHub 常用开源框架汇总
现在 GitHub 上流行的开源库极大地节省了开发者从 0 开发的时间,很多公司和个人都在 GitHub 上开源自己的项目,今天我们就来整理一下 Android 开发中一些非常流行的库,也是我们必须掌握的,这样可以使我们在使用到时快速的查找到,这里的总结基本也都是自己在开发中用到的,也就是一些个人的见解,只做参考,不具有权威性原创 2017-07-13 16:20:01 · 5197 阅读 · 4 评论 -
Android Activity 完全解析(下)
在之前的文章中我们介绍了Activity的生命周期,包括正常情况下Activity的生命周期,以及多个Activity交互和横竖屏切换Activity之间的生命周期,还介绍了如何启动系统的Activity,Activity之间简单的数据交互,以及传递大数据时遇到的问题,还有就是Activity的四种启动模式,如果你对Activity还不太了解,那么可以先阅读之前的两篇关于Activity的相关介绍原创 2017-08-22 15:48:24 · 1427 阅读 · 0 评论 -
Android 四大组件之 Service (上)
Android 有四大组件,这是每一个 Android 开发者一开始就知道的,也是 Android 基础中的重中之重,是构成 Android 的基石,但相信并不是每一个人都对服务非常的了解,今天我们一起来探究 Android 四大组件之一 Service(服务),对服务进行详细的剖析,来看一看这个运行在后台的默默无闻的工作者一、服务的概念 服务(Service)是一个可以...原创 2017-08-06 22:04:25 · 1250 阅读 · 0 评论 -
Android 强大的滚动控件 RecyclerView
ListView 由于其强大的功能,在过去的 Andorid 开发中使用非常广泛,直到今天仍然还有很多人在使用着,不过 ListView 也有自己的缺陷,例如需要优化来提升运行效率,还有就是只能够纵向移动,我们要想实现横向移动就实现不了,ListView 的扩展性也不好为此 Android 提供了一个更强大的控件--RecyclerView 它可以说是一个增强版的 ListView 不仅可以实现和 ListVie原创 2017-09-03 23:29:29 · 2298 阅读 · 3 评论 -
Android 多线程编程初探
Android 中的多线程其实就是 java SE 中的多线程,只是为了方便使用,Android 封装了一些类,如 AsyncTask、HandlerThread 等,在日常的开发过程中,我们往往需要去执行一些耗时的操作,例如发起网络请求,考虑到网速等其他外在的因素,服务器可能不会立刻响应我们的请求,如果不将这条操作放到子线程中去执行,就会造成主线程被阻塞,今天我们就从多线程的基础来一起探讨一原创 2017-08-11 16:28:55 · 902 阅读 · 0 评论 -
Android DataBinding 初探
现在大家在项目的实际开发中很多用到了MVVM的开发模式,而说到MVVM就不得不提DataBinding,DataBinding是谷歌在2015年I/O大会上介绍的一个数据绑定框架,很好的解决了数据的绑定问题,使我们的数据绑定更加的解耦,也使得构建MVVM框架成为可能原创 2017-02-25 13:43:41 · 3396 阅读 · 1 评论 -
Android Glide 图片加载框架解析
在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载框架,作者是 bumpth,这个库被广泛的应用在 Google 开源项目中,包括2014年 Google I/O大会上发布的官方 App,现在在 Android 开发中已经有非常多的图片类的加载框架库,有前几年非常流行的 ImageLoader,以及现在的 Picasso、Fresco 等一些非常稳定和流行的框架,并且原创 2017-03-22 23:14:29 · 1792 阅读 · 0 评论 -
Android 数据存储方案
我们每天都在和数据打交道,在编写应程序以及使用应用程序的过程中时时刻刻存在着数据之间的交互,平时我们上 QQ、微信、微博,其实都是在产生数据,为了使关机后数据不丢失,我们就需要数据的持久化,这里简单的说一下数据的持久化,数据的持久化其实就是将那些在内存中的瞬时数据保存到存储设备中,保证即使在设备关机的情况下这些数据任然不会丢失,保存到内存中的数据是处于瞬时状态的,而保存在存储设备中的的数据是处于持原创 2017-04-15 23:02:10 · 1862 阅读 · 0 评论 -
Android 用 DrawerLayout 和 NavigationView 实现侧滑菜单栏
侧滑菜单是很多 APP 中常见的功能效果,今天我们将介绍使用 Material Design 中的 DrawerLayout 和 NavigationView 相结合来实现侧滑栏菜单效果,借助Google提供的这些工具实现侧滑的功能将变得异常的简单,侧滑菜单可以将菜单选项隐藏起来,然后可以通过滑动的方式来显示,这样很好的节省了手机屏膜的空间,这也是 Material Design 设计中非常推荐的原创 2017-05-04 22:51:28 · 2319 阅读 · 0 评论 -
Android 悬浮按钮 FloatingActionButton 和交互提示 SnackBar
今天是我们分享的关于 Material Design 的第五篇文章了,今天给大家简单分享 FloatingActionButton 和 SnackBar 这两个 Material Design 小控件用法,通过之前几篇博文的相关的对 Material Design 的介绍,大家对 Material Design 也有了一些了解,本篇我们来接着学习上面说到的两个简单的小控件原创 2017-05-13 10:02:53 · 4478 阅读 · 0 评论 -
Android DataBinding 详解
前几天小试牛刀写了一篇Android DataBinding 初探,只是简单的介绍了一下DataBinding的几个小问题,并没有特别详细的去介绍DataBinding的更多方法,这几天看了一下DataBinding的官网的相关内容,觉得有必要把官网的用法记录一下,用来参考及以后使用时的参考,以前大家很多人都使用过注解框架,包括Jake Wharton大神的ButterKnife,但DataB翻译 2017-03-15 19:55:47 · 10737 阅读 · 1 评论 -
Android 用 TabLayout + ViewPager + Fragment 实现顶部、底部导航栏
这是我们 Material Design 系列的第四篇分享了,对 Material Design 还不是太清楚的可以先过前几篇大概的了解一下,今天我们主要通过实现顶部和底部导航栏的功能来了解又一个 Material Design 的控件 TabLayout 的使用,在移动应用开发中,由于屏膜大小的限制,使得顶部、底部 Tab 导航栏的使用非常的广泛,相信大家在实际开发过程中也是经常遇到,以前可以通原创 2017-05-06 13:37:35 · 6304 阅读 · 2 评论 -
Android 四大组件之 BroadcastReceiver
广播接受器( BroadcastReceiver)是Android的四大组件之一,Android 中的广播机制是非常灵活的,Android 只的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会接受自己关心的广播内容,这些广播可能是来自系统的,也可能是来自其他程序的,Android 提供了一套完整的API,容许应用程序间自由地接受和发送广播,今天我们来一起总结 Broadcast Re原创 2017-08-15 23:25:05 · 938 阅读 · 0 评论 -
Android ToolBar 完全解析
在上一篇文章中我们详细介绍了什么是 Material Design,以及一些 MD 的风格,接下来我们就来进行实战,而 ToolBar 将会是我们第一个来进行实战的 Material 控件,虽然对 ToolBar 还不是那么熟悉,但是相信另一个相关的控件我们是非常熟悉的,那就是 ActionBar,相信这个大家都是很熟悉了,没错,活动的顶部导航的那个标题栏其实就是 ActionBar,我们之前的应原创 2017-04-23 14:18:58 · 2081 阅读 · 2 评论