第一章 第一行Android代码

1. android背景

  • 2003年Andy Rubin这哥们创办了Android公司,2005年完成项目被Google收购,2008年推出第一个版本。2013年市场占有率达到78%。
  • Android一词起源于 维里耶德利尔·亚当 的《未来夏娃》中的一个机器人。

2. 第一行代码

1. Android系统架构

Android大致可以分为四层架构,五块区域。

  • Linux内核层(Linux kernel):这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wifi驱动、电源管理等。
  • 系统运行库层(Libraries Runtime):这一层通过一些C/C++库为Android提供了主要的特性支持。SQLite、Webkit、OpenGL|ES等。
  • 应用框架层(Application Framework):这一层主要提供了构建程序时可能用到的各种API。
  • 应用层(Applications):所有安卓在手机上的程序
    维基百科图:

Paste_Image.png
2. Android应用开发特色

  • 四大组件:
    1. 活动(Activity):能看到的东西;
    2. 服务(Service):在后台一直运行,即使用户退出能应用也能;
    3. 广播接收器(Broadcast Receiver):允许接受来自各处的广播消息,如短信,电话;也能自己发布广播;
    4. 内容提供器(Content Provider):为应用程序之间共享数据。
  • 丰富的系统控件
  • SQLite数据库:轻量级、运行速度快的嵌入式关系型数据库。
  • 地理位置定位
  • 强大的多媒体
  • 传感器:速度传感器、方向传感器。

3. 根目录内容详解

  • src:放置所有java代码的地方;
  • gen:内容自动生成,主要是一个R.java文件,在项目中添加的任何资源都会在其中生成一个相应的资源ID。永远不要手动修改;
  • assets:存放一些随程序打包的文件,在运行时动态读取这些文件内容。使用WebView加载本地网页的功能,所有网页相关的文件也都会存放在这个目录下;
  • bin:包含编译时自动产生的文件。其中有一个你当前项目编译好的安装包;
  • libs:保存使用的第三方jar包;
  • res:存放项目中使用到的所有图片、布局、字符串等资源。R.java中的内容根据这个文件生成的。
    存放的资源:
  • drawable:图片;
  • layout:布局;
  • values:字符串;
  • menu:放菜单文件;
  • AndroidMainfest.xml:整个Android项目的配置文件。四大组件都要在这里注册;给应用程序添加权限声明;重新指定创建项目时指定的程序最低兼容版本和目标版本;
  • project.properties:指定编译时所使用的SDK版本。

4. 基本代码解释

  • AndroidMainfest.xml
                                                 //指定主方法                       ``` * src/HelloWorldActivity
public class MainActivity extends ActionBarActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);//onCreate()是被创建时必须执行的代码;    setContentView(R.layout.activity_main);//setContentview是应用activity_main这个布局;    if (savedInstanceState == null) {        getSupportFragmentManager().beginTransaction()                .add(R.id.container, new PlaceholderFragment())                .commit();    }}  ```
  • res/layout/fragment_main.xml
    //hello_world键;``` * res/values/strings.xml


HelloWorld//改变应用名称;
Hello world!//改变内容;
Settings
```

5. 日志工具Log

  • Log.v():对应级别verbose,打印最小的日志信息,级别最低;
  • Log.d():对应级别debug,打印调试信息,高于上级;
  • Log.i():对应级别info,打印比较重要信息,高于上级;
  • Log.w():对应级别warn,打印警告信息,高于上级;
  • Log.e():对应级别error,打印错误信息,级别最高。

更多相关文章

  1. android项目R文件丢失怎么办
  2. Android应用开发之XML文件解析之一
  3. 基础知识:android 数据存储--->文件存储
  4. 为NetBeans添加Andriod平台 .
  5. Android权限问题:Permission is only granted to system apps
  6. Android中把文件存放在SDCard
  7. NDK简单实例
  8. android 定制个性按钮 控件
  9. 【Android】Android(安卓)Studio中新创建的app目录结构

随机推荐

  1. ubuntu中adb安装与使用,android真机调试
  2. Android(安卓)so文件函数加密
  3. Android的存储系统—Vold与MountService
  4. android 布局适应不同分辨率
  5. android 如何保留数据两位小数
  6. Android避免内存泄露:合理使用getContext(
  7. Android初级教程:Android中解析方式之pull
  8. 跟我学Android应用开发 之 如何添加可选
  9. 《Android(安卓)全埋点解决方案》前言篇
  10. Android(安卓)TV开发总结(四)通过RecycleVi