走进Anroid
文章平均质量分 91
本专栏中的博客,以郭霖大神的《第一行代码 Android 第2版》为基础,参考多方面博客,从入门开始介绍Android的基础知识,其中穿插了一些由于Android版本变动而变动的知识点(第一行代码没有提到的)。
快乐肥柴
致力于做一只快乐肥柴
展开
-
Android基础知识(一):项目结构
Android基础知识(一):项目结构Android的项目结构如下图所示。一、项目结构.gradle、.idea和app.gradle和.idea这两个目录下放置的都是Android Studio自动生成的文件。项目中的代码、资源等内容几乎都是放置在这个app目录下(若有其他的module,则module下也会放置代码和资源)。build、gradle和.gitignorebui...原创 2019-04-18 16:51:09 · 382 阅读 · 0 评论 -
Android基础知识(二):日志工具
Android基础知识(二):日志工具Android中的日志工具类为Log,其提供了五个方法以供打印日志。 Log.v()。用于打印最为琐碎、意义最小的日志信息。对应级别为verbose,是Android日志里面级别最低的一种。 Log.d()。用于打印一些调试信息,对应级别为debug,比verbose高一级。 Log.i()。用于打印一些比较重要的数据。对应级别info,比deb...原创 2019-04-18 16:53:20 · 181 阅读 · 0 评论 -
Android基础知识(三):Android四大组件简介
Android基础知识(三):Android四大组件简介一、ActivityActivity是一种可以包含用户界面的组件,主要用于和用户进行交互。关于Activity一个Activity通常就是一个单独的屏幕(窗口),Activity之间通过Intent进行通信。Android应用中每个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执...原创 2019-04-25 10:34:01 · 541 阅读 · 0 评论 -
Android基础知识(四):Intent
Android基础知识(四):IntentIntent是Android程序中各组件之间进行交互的一种重要方式,其不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可被用于启动活动、启动服务以及发送广播等场景。Intent大致可以分为两种:显示Intent和隐式Intent。一、显示Intent显示Intent是指按名称(完全限定类名)指定要启动的组件。显示...原创 2019-04-19 11:10:47 · 467 阅读 · 1 评论 -
Android基础知识(五):Activity的生命周期
Android的Activity生命周期一、认识ActivityAndroid系统中是通过Activity栈的方式来管理Activity的,而Activity自身则是通过生命周期的方法管理Activity的创建与销毁。Android中的Activity是可以层叠的,每启动一个新的Activity,就会覆盖在原Activity之上,销毁最上面的Activity,下面的Activity就会重新显...原创 2019-02-21 14:40:41 · 1040 阅读 · 0 评论 -
Android基础知识(六):Activity的启动模式
Android的Activity启动模式Activity启动模式有4种:standard、singleTop、singleTask和singleInstance。可以在AndroidManifest.xml中通过标签指定android:lanchMode属性来选择启动模式。standardstandard是Activity默认的启动模式,在不进行显示指定的情况下,所有活动都会自动使用这种启...原创 2019-03-08 10:40:09 · 518 阅读 · 0 评论 -
Android基础知识(七):Activity互调之间的生命周期变化与onNewIntent()触发机制
Android Activity切换的生命周期与onNewIntent()触发机制一、Activity切换的生命周期前面Android的Activity生命周期一文中,提到的关于Activity的生命周期只是单个Activity的生命周期,没有说明从一个Activity进入另一个Activity时,或者从一个Activity返回到上一个Activity时这些函数的调用顺序。从一个Activi...原创 2019-03-08 14:39:04 · 3538 阅读 · 0 评论 -
Android基础知识(八):Android多线程编程
Android基础知识(八):Android多线程编程Android多线程编程中,当需要执行一些耗时操作,比如发起一条网络请求时,考虑到网速等其他原因,服务器未必会即使响应,如果不将这类操作放在子线程中运行,就会导致主线程被阻塞,从而影响用户对软件的正常使用。一、在子线程中更新UIAndroid的UI线程是不安全的,如果想要更新应用程序的UI元素,则必须在主线程中进行,否则就会出现异常。A...原创 2019-04-23 15:28:13 · 309 阅读 · 0 评论 -
Android基础知识(九):Handler机制的原理分析
Handler机制的实现与原理分析一、Handler机制简介Handler机制是一套Android消息传递机制/异步通信机制。Handler机制的作用在于:在多线程的应用场景下,将工作线程中需更新UI的操作信息传递到UI主线程,从而实现工作线程对UI的更新处理,最终实现异步消息的处理。此外,在多个线程并发更新UI的同时保证线程安全,从而避免线程操作不安全的问题。二、Handler机制实现...原创 2019-02-22 14:11:17 · 1572 阅读 · 0 评论 -
Android基础知识(十):Handler的使用方式与注意事项
Handler的使用方式与注意事项在使用Handler机制之前,需要向了解Handler机制的原理:Handler机制的实现与原理分析。Handler使用方式因发送消息到消息队列的方式不同而不同,共有2中方式:Handler.sendMessage()和Handler.post()。一、使用Handler.sendMessage()线程切换(空消息)一个简单的例子如下,在主线程中创建一...原创 2019-02-22 14:05:47 · 1222 阅读 · 0 评论 -
Android基础知识(十一):AsyncTask原理与使用简介
Android异步操作工具AsyncTask原理与使用简介在Android应用开发的过程必须遵循单线程模型的原则:Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。单线程模型有2条法则:不要阻塞UI线程确保只在UI线程中访问Android UI工具包一、Android异步操作工具Android提供了几种在其他线程中访问UI线程的方法:Activity.r...原创 2019-02-27 10:28:24 · 342 阅读 · 0 评论 -
Android基础知识(十二):Service简介与基本用法
Android基础知识(十二):Service简介与基本用法一、Service简介Service是Android中实现程序后台运行的解决方案,用于后台完成用户指定的操作,其非常适合用于执行那些不需要和用户交互而且还要求长时间运行的任务。服务的运行不依赖于任何用户界面,即使程序被切换到后台,或者用户打开另一个应用程序,服务依旧可以保持正常运行。需要注意的是,Service并不是运行在一个独立的...原创 2019-04-23 18:10:35 · 426 阅读 · 1 评论 -
Android基础知识(十三):Service生命周期及更多技巧
Activiyt基础知识(十三):Service生命周期及更多技巧一、Service生命周期当Service是使用startService()方法启动时,则Service的生命周期如下图所示。调用Context的startService()方法,相应的Service就会启动,若该Service之前未被创建,则onCreate()方法优先于onStartCommand()方法执行。服务启动后一...原创 2019-04-24 13:44:24 · 449 阅读 · 0 评论 -
Android基础知识(十四):Broadcast Receiver简介与基本用法
Android基础知识(十四):Broadcast Receiver简介与基本用法一、广播机制简介为了便于进行系统级别的消息通知,Android引入了一套类似的广播消息机制。Android中的每个应用程序都可以对自己感兴趣的广播进行注册,从而接收到所关心的广播内容,这些广播可能来自系统,也可能来自其他应用程序。广播的发送是通过Intent发送的,而广播的接收通过Broadcast Recei...原创 2019-04-24 17:23:08 · 683 阅读 · 0 评论 -
Android基础知识(十五):发送广播、本地广播的使用与Android O对广播的限制
Android基础知识(十五):发送广播、本地广播的使用与Android O对广播的限制一、发送标准广播在笔记Android基础知识(十四):Broadcast Receiver简介与基本用法中可得知,标准广播是一种完全异步执行的广播,在广播发出后,所有广播接收器几乎都会在同一时刻接收到这条广播消息。通过静态注册一个广播接收器如下所示,其中action表示接受一条值为“android.int...原创 2019-04-25 10:42:18 · 796 阅读 · 0 评论 -
Android基础知识(十六):Android运行时权限
Android运行时权限从Android6.0(API级别为23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。此方法可以简化应用安装过程,因为用户在安装或更新应用时不需要授予权限,可以让用户对应用的功能进行更多的控制。一、系统权限分类系统权限分为两类:正常权限和危险权限:正常权限:不涉及到用户敏感信息,应用只需要在AndroidManifest中声明,系统会自动授予相...原创 2019-02-18 13:27:14 · 1024 阅读 · 0 评论 -
Android基础知识(十七):Content Provider
Android基础知识(十七):Content Provider一、Content Provider简介Content Provider主要用于在不同的应用程序之间实现数据共享的功能,其提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性。目前,使用内容提供器是Android实现跨程序共享数据的标准方式。Content Provider使一个应用程序的指定数...原创 2019-04-25 15:23:43 · 1352 阅读 · 0 评论 -
Android基础知识(十八): Fragment的生命周期
Android Fragment的生命周期一、Fragment的状态同Android的Activity生命周期中所类似,Fragment同样有四个状态,只不过有一些区别。运行状态当一个Fragment是可见的,并且它所关联的Activity正处于运行状态,该Fragment也处于运行状态。暂停状态当一个Activity进入暂停状态时(由于另一个未占满屏幕的Activity被添加到栈顶...原创 2019-03-16 15:02:53 · 628 阅读 · 0 评论 -
Android基础知识(十九):Fragment的使用及其addToBackStack()方法
Frament的使用及其addToBackStack()方法一、Fragment的使用此处仅仅介绍Fragment通过事务进行动态的添加,替换以及删除。废话不多说,直接上代码。如上述代码所示,Fragment的使用是通过一个Fragment的事务处理器进行的,通过调用add()、remove()、replace()方法对事务处理器中的Fragment进行添加、移除,替换,此外还可以调用s...原创 2019-03-16 15:50:22 · 5035 阅读 · 0 评论 -
Android基础知识(二十):Notification、提醒式通知(横幅)踩坑与通知界面设置跳转
Android基础知识(二十):Notification、提醒式通知(横幅)踩坑与通知界面设置跳转一、Notification通知与基本用法通知Notification是Android系统中比较有特色的一个功能,当某个应用程序希望用户发出一些提示消息,而该应用程序又不在前台运行时,就可以借助通知来实现。首先上代码,如下为Notification的一个简单的例子,其中使用Notificatio...原创 2019-04-26 16:26:38 · 12276 阅读 · 5 评论 -
Android基础知识(二十一):Android五大存储之文件存储、Content Provider存储和网络存储
Android基础知识(二十一):Android五大存储之文件存储、Content Provider存储和网络存储一、Android存储——持久化技术数据持久化是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或者电脑关机的情况下,这些数据仍然不会丢失。保存在内存中的数据是处于瞬时状态的,而保存在存储设备中的数据是处于持久状态的,持久化技术则提供了一种机制可以让数据在瞬时状态和持久状态...原创 2019-04-28 11:11:00 · 859 阅读 · 0 评论 -
Android基础知识(二十二):五大存储之SharedPreferences存储和SQLite数据库存储
Android基础知识(二十二):五大存储之SharedPreferences存储和SQLite数据库存储一、SharedPreferences存储不同于文件的存储方式,SharedPreferences是使用键值对的方式来存储数据的。此外SharedPreferences还支持多种不同的数据类型存储,因此使用SharedPreferences来进行数据持久化要比使用文件方便很多。将数据...原创 2019-04-28 16:16:08 · 3224 阅读 · 0 评论 -
Android基础知识(二十三):网络请求与HttpURLConnection的基本用法
Android基础知识(二十三):网络请求与HttpURLConnection的基本用法一、Android网络请求在过去,Android上发送HTTP请求一般有两种方式:HttpURLConnection以及HttpClient。不过由于HttpClient存在API数量过多、扩展困难等缺点,在Android 6.0系统中,HttpClient功能被完全移除。二、HttpURLConnect...原创 2019-04-29 16:21:20 · 473 阅读 · 0 评论