Android基础知识

1.Android SDK:Android SDK包含了一个调试器、库、一个模拟器、文档、实例代码和教程。
    2.ADT: 用于Eclipse的Android开发工具(Android Development Tools,ADT)插件是对Eclipse IDE的扩展,用以支持android应用程序的创建和调 试。
    3.AVD(Android Virtual Device): AVD是一个模拟器实例,可以用来模拟一个真实的设备。
    4.Activity: Activity(活动)是一个包含应用程序的用户界面窗口。一个应用程序可以有零个或多个活动。Activity 是所有程序的根本,所有程序都运行在Activity之中,Activity具有自己的生命周期,由系统控制生命周期,程序无法改变。
    5.Intent:Intent是android中的一种消息通信机制(媒介),专门提供组件互相调用的相关信息,实现调用者和被调用的解耦。
    5.1.显示Intent:指定了component属性的intent(调用 setComponent)或者setClass(context,class)来指定)。通过指定具体的组件类,调用应用启动对应的组件。
    5.2.隐式Intent:没有指定component属性的Intent。这些Intent需要包含足够的信息,这些系统才能根据这些信息,在所有的可用组件中,确定满足此Intent的组件。
    6.Toast: Toast是android中用来显示信息的一种机制和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定时间就会自动消失。
    7.Android 操作系统: Android是一种基于Linux的开源的收集操作系统。
    8.APK是Android Package的缩写,即Android安装包(anapk)。ps:APK文件其实是zip格式,但后缀名修改为APK,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik的字节码。

9.Android 四大组件(Activity,Service,Broadcast Receiver,Content Provider)

9.1.Activity:应用程序中,一个Activity通常是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。在Intent的描述结构中,有两个重要的部分:动作和动作对应的数据。

9.2.Broadcast Receiver:广播接收者(BroadcastReceiver)用于接收广播Intent,广播Intent的发送是通过调用Context.sendBroadCast()、Context.sendOrderedBroadcast()、Context.sendStickyBroadcast()来实现的。通常一个广播Intent可以被订阅了此Intent的多个广播接收者所接收(就像真的收音机一样)。广播(Broadcas)是一种广泛运用的应用程序之间的传输消息的机制。而广播接收者(BroadcastReceiver)是对发送出来的广播进行过滤并接收响应的一类组件。ps:BroadcastReceiver 广泛应用与应用间的交流。

9.2.1 BroadcastReceiver生命周期:每次广播到来时,会重新创建BroadcastReceiver对象,并调用onReceive()方法,执行完以后,该对象即被销毁。当onReceive()方法在10s内没有执行完毕,就会导致ANR。如果需要执行长任务,那么就必须要使用Service。另外在onReceive中使用线程是很危险的事情。因为线程没有执行完,BroadcastReceiver就挂了。

9.3 Service:和Activity属于同一级别的组件,不能自己运行只能后台运行,并且可以和其他组件进行交互。Service可以在很多场合的应用中使用,比如播放多媒体的时候启动了其他Activity这个时候程序要在后台继续播放。ps:一个Service是一段长生命周期的,没有用户界面的程序,可以用来开发如监控类程序。

9.4 Content Provider:ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用的数据进行增删改查。关于共享数据,可以使用文件操作模式,通过指定文件的操作模式为Context.MODEWORLDREADABLE 或 Context.MODEWORLDWRITEABLE同样也可以对外共享数据。但是使用文件共享数据存在数据访问方式不统一的问题。而Content Provider则对外暴露了统一的接口,每个应用程序都可以通过统一的接口操作数据。

管理器一般有四种:
LinearLayout:线性布局管理器(默认),分为水平(horizontal)和垂直(vertical)两种,只能进行单行布局。
FrameLayout:所有组件放在左上角,一个覆盖一个。
TableLayout:任意行和列的表格布局管理器,其中TableRow代表一行,可以向行中增加组件。
RelativeLayout:相对布局管理器,根据最近一个组件或者顶层父组件来确定下一个组件的位置。

11.Android应用程序是用java语言写的,通过aapt工具把编译好的java代码和应用程序所需要的所有数据、资源文件打包成Android包,及后缀为.apk的压缩文件,这个文件时发布应用程序和在移动设备上安装应用程序的媒介,是用户下载到他们设备上的文件。一个.apk文件中的所有代码属于一个应用程序。

10.ANR(Application No Response):程序无响应的错误信息。

11.Android体系结构:

Android从上到下分为4层:Android应用层,Android应用框架层,Android系统运行层,Linux内核层。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值