疯狂Android讲义
- Android系统的底层建立在Linux系统之上,该平台由操作系统、中间件、用户界面和应用软件4层构成。
- 应用程序层包含系列的核心应用程序,包括邮件客户端、SMS程序、日历、地图、浏览器、联系人等。
- Android运行时由两部分组成:Android核心库集和Dalvik虚拟机。其中核心库集提供了Java语言核心库所能使用的绝大部分功能,而虚拟机则负责运行Android应用程序。
- 每个Android应用程序都运行在单独的Dalvik虚拟机内(即每个Android应用程序对应一条Dalvik进程)。
- Dalvik并未完全遵守JVM规范,两者也不兼容。JVM虚拟机运行的是Java字节码(通常就是.class文件),但Dalvi运行的是其专有的dex(Dalvik Executable)文件。JVM直接从.class文件或JAR包中加载字节码然后运行;而Dalvik则无法从.class文件或者JAR包中加载字节码,它需要DX根据将应用程序的所有.class文件编译成.dex文件,Dalvik则运行该.dex文件。
- 查看当前运行的模拟器:adb devices
- 电脑文件复制到模拟器中:adb push d:/abc.txt /sdcard/
- 模拟器文件复制到电脑中:adb pull /sdcard/xyz.txt d:/
- 启动模拟器的shell窗口:adb shell
- Adb安装APK命令格式如下:adb install [-r] [-s] <file> -r表示重新安装;-s表示将APK包安装到SD卡上—默认是将APK包安装到内部存储器上。
- 从Android系统删除指定软件包:adb uninstall [-k] <package>
- 开发Andr应用的步骤:创建一个Android项目;在XML布局文件中定义应用程序的用户界面;在Java代码中编写业务实现。
- Android应用程序的包名非常重要,Android应用的包名可以作为应用的唯一标识。
- android:id:该属性指定了该控件的唯一标识,在Java程序中可通过findViewById(“id”)来获取指定的Android界面组件。
- android:layout_width:指定该界面组件的宽度。如果该属性值为match_parent,则说明该组件与其父容器具有相同的宽度;如果该属性值为wrap_content;则说明该组件的宽度取决于它的内容——能包裹它的内容即可。
- android:layout_height:指定该界面组件的高度。如果该属性值为match_parent,则说明该组件与其父容器具有相同的高度;如果该属性值为wrap_content,则说明该组件的高度取决于它的内容——能包裹它的内容即可。
- Res目录存放Android项目的各种资源文件,比如layout存放界面布局文件,values目录下存放各种XML格式的资源文件
- AndroidManifest.xml文件是Android项目的系统清单文件,它用于控制Android应用的名称、图标、访问权限等整体属性。除此之外Android应用的Activity、Service、ContentProvider、BroadcastReceiver这4大组件都需要在该文件中配置。
- Activity是Android应用中负责与用户交互的组件。
- View组件是所有UI控件、容器控件的基类。View组件需要放到容器组件中,或者使用Activity将它显示出来。如果需要通过某个Activity把指定View显示出来,调用Activity的setContentView()方法即可。
- Service与Activity的地位是并列的,它也代表一个单独的Android组件。Service通常位于后台运行,它一般不需要用户交互,因此Service组件没有图形用户界面。
- BroadcastReceiver代表广播消息接收器。BroadcastReceiver监听的是事件源是Andrid应用中的其他组件。
- Intent是Android应用内不同组件之间通信的载体。当Android运行时需要连接不同的组件时,通常就需要借助于Intent来实现。
网友评论