Android学习笔记1

来源:互联网 发布:最完整的php集成环境 编辑:程序博客网 时间:2024/05/17 03:39
一、Android环境搭建
  • 1.1、JDK安装
  • 1.2、Eclipse安装
  • 1.3、Android SDK安装
  • 1.4、ADT安装
  • 1.5、创建AVD 

http://www.cnblogs.com/skynet/archive/2010/04/12/1709892.html

http://www.php100.com/html/webkaifa/Android/de_news/2013/0221/12082.html

jdk
http://jingyan.baidu.com/article/bea41d435bc695b4c41be648.html

二、Android系统组成
1.应用程序层
2.应用程序框架:提供大量API
3.函数库:系统C库、surfaceManager、Libwebcore、Freetype、SQLite等
4.Android运行时:Dalvik虚拟机、Android核心库
5.Linux内核

ps:每个Android应用程序都运行在单独的Dalvik虚拟机内,Dalvik和JVM不一样,也不兼容。

三、Android主要源代码组成
kernel:Android Linux内核
bionic:标准c运行支持库
bootloader:内核加载器
build:Build系统
cts:兼容性测试源
Dalvik:虚拟机
external:使用的开放源
frameworks:使用的框架
hardware:Android HAL(Hardware Abstract Layer)硬件抽象层
packages:包含Android基本应用,Content Provide等
system:Android初始化进程,蓝牙工具集等

JNI(Java Native Interface)
    从编程语言看,Android Framework由Java层与C/C++层组成,每个层中的功能模块是由相应的语写成的,并且两个层中的模块间有着千丝万缕的联系,所以就需要提供一种媒介或是桥梁将Java层与C/C++层有机的联系起来,在这两层中充当桥梁的就是JNI。
通常在下列情况下使用JNI
1.注重处理速度
2.硬件控制
3.已有C/C++代码的复用

在实际Android应用开发中,开发者通常使用Android SDK开发Java程序,而对于性能要求较高的应用,常常使用Android提供的NDK(Native  Development  Kit)开发基于C/C++的本地库,而后通过JNI将Java程序与C/C++程序集成在一起。

四、项目文件
主要用到的是src目,res目录和AndroidManifest.xml文件。
1.src中存放逻辑控制文件,即.java源文件。

2.res中存放各种资源文件,如layout目录中存放UI设计文件,即.xml文件;values目录中存放各种xml格式的资源文件,如字符串资源文件
strings.xml , 颜色资源文件colors.xml , 尺寸资源文件dimens.xml等。

3.AndroidManifest.xml文件是Android项目的系统清单文件,它用于控制应用的名称、版本、图标、访问权限等整体属性,四大组件都要在该文件中进行配置。

strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">zhouyuanyuan</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="title_activity_hello">HelloActivity</string>

</resources>

在xml文件中使用资源:@<资源对应的内部类名称>/<资源项名称>
eg:@string/app_name

在xml文件中为某一组件分配标识符:@+id/<标识符代号>
eg:android:id="@+id/button1"
如果想在Java代码中获取该组件,通过调用Activity的findViewById();
如果想在xml文件中获取该组件,则通过@id/<标识符代号>。

五、四大组件
Activity  、Service 、  ContentProvider 、 BroadcastRecevier

1.Activity:负责与用户交互的组件,即UI组件,可以将其想象为Swing编程中的JFrame。

2.Service:通常运行于后台,不需要与用户交互。一个Service组件运行起来之后,它将拥有自己独立的生命周期,Service组件通常用于为其他组件提供后台服务或是监控其他组件的运行状态。

3.ContentProvider:通过他来是想跨应用的数据交换。

4.BroadcastReceiver:广播消息接收器,类似于事件编程中的监听器。

ps:Activity ,  Service  ,   BroadercastReceiver 三种组件之间的通信都是以Intent作为载体。


原创粉丝点击