Android学习日记1

1. Android系统架构

解析:

 

2. Android研究领域

解析:

[1]界面编程

[2]数据库编程

[3]网络编程

[4]游戏编程

[5]OpenGL编程

[6]音频编程

[7]视频编程

[8]安全编程

[9]驱动编程

[10]H5互调编程

 

3. OTA [Over-the-Air Technology]

解析:OTA [Over-the-Air Technology]即空间下载技术。它是通过移动通信的空中接口对SIM卡数据及应用进行远程管理的技术。空中接口可以采用WAP、GPRS、CDMA1X及短消息技术。OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。

 

4.Android应用开发四大组件

解析:Activity,Service,BroadcastReceiver,ContentProvider。

 

5.Dalvik虚拟机

解析:Dalvik是Google公司设计用于Android平台的虚拟机。它支持已转换为.dex[即Dalvik Executable]格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。

 

6.android:id,android:layout_width,android:layout_height

解析:

[1]android:id,该属性指定该控件的唯一标识,在Java程序中可通过findViewById("id")来获取指定的Android界面组件。

[2]android:layout_width,指定该界面组件的宽度。如果该属性值为fill_parent,则说明该组件与其父容器具有相同的宽度;如果该属性值为wrap_content,则说明该组件的宽度取决于它的内容。

[3]android:layout_height,指定该界面组件的高度。如果该属性值为fill_parent,则说明该组件与其父容器具有相同的高度;如果该属性值为wrap_content,则说明该组件的高度取决于它的内容。

 

7.Nexus 5X

解析:谷歌Nexus 5X,2015年9月30日该手机在美国旧金山谷歌新品发布会发布。该手机宣传卖点主要为轻薄塑料机身、经过强化成像质量更好的摄像头、持久的电量以及和 Nexus 6P一样的背面指纹识别功能。

 

8.Bundle类

解析:Android中Bundle类的作用类似于Map,用于存放key-value形式的值。

 

9.Android布局管理器

解析:LinearLayout[线性布局],RelativeLayout[相对布局],TableLayout[表格布局],FrameLayout[帧布局],AbsoluteLayout[绝对布局],GridLayout[网格布局]。

 

10.gradle

解析:Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言[DSL]来声明项目设置,抛弃了基于XML的各种繁琐配置。面向Java应用为主。当前其支持的语言限于Java、Groovy、Kotlin和Scala,计划未来将支持更多的语言。

 

11.intent中setClass,setClassName和setComponent区别

解析:

[1]intent.setClass(当前组件.this, 目标组件.class):打开内部activity。
[2]intent.setClassName(包名, 包名+activity名):打开外部应用。
[3]intent.setComponent(new ComponentName(包名, 包名+activity名)):打开外部应用。

 

12.Intent

解析:Android中的Intent提供了一种通用的消息系统,它允许在应用程序与其它的应用程序间传Intent来执行动作和产生事件。使用Intent可以激活Android应用三种类型的核心组件:活动、服务和广播接收者。

 

13.Service Intent must be explicit

解析:在Android 5.0上采用隐式启动时,会出现java.lang.IllegalArgumentException: Service Intent must be explicit异常。解决方法是给Intent设置具体的包名,指明具体是哪个包启动的Service。

 

14.IBinder

解析:Android通过IBinder实现IPC[Inter Process Communication]进程间通信的。

 

15.开启Service方式

解析:

[1]Context.startService():Service会经历onCreate->onStart(如果Service还没有运行,则Android先调用onCreate然后调用onStart;如果Service已经运行,则只调用onStart(),所以一个Service的onStart方法可能会重复调用多次);stopService的时候直接onDestroy,如果是调用者直接退出而没有调用stopService,Service会一直在后台运行。该Service的调用者再启动起来后可以通过stopService关闭Service。多次调用Context.startService()不会嵌套(即使会有相应的onStart()方法被调用),所以无论同一个服务被启动多少次,一旦调用Context.stopService()或者stopSelf(),它都会被停止。需要说明的是,传递给startService()的Intent对象会传递给onStart()方法。调用顺序为onCreate->onStart(可多次调用)->onDestroy。

[2]Context.bindService():Service会经历onCreate()->onBind(),onBind将返回给客户端一个IBind接口实例,IBind允许客户端回调服务的方法,比如得到Service运行的状态或其它操作。这个时候调用者(Context,比如Activity)会和Service绑定在一起,Context退出了,Service就会调用onUnbind->onDestroy相应退出。所谓绑定在一起就共存亡了。

 

参考文献: 

[1] Android研究领域:https://www.zhihu.com/question/27102589 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NLP工程化

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值