(一)Android系统架构

  1、Linux内核层:各种底层驱动,如显示驱动、音频驱动、电源管理等。

  2、系统运行库层:各种库支持,如3D绘图、浏览器内核、数据库等。

  3、应用框架层:各种API,各种Manager。

  4、应用层:所有的应用程序。

  (二)安卓系统级功能

  1、四大组件:Activity,Service,Broadcast,Content Provider。

  2、系统控件:用于写界面,也可以自己定制界面。

  3、SQLite数据库:轻量级、快速的嵌入式关系型数据库。

  4、地理位置定位:内置GPS,基于它可以开发LBS应用。

  5、多媒体:音频、视频、录音、拍照、视频等。

  6、传感器:加速度传感器、方向传感器。

  (三)搭建Android开发环境

  1、准备所需要的软件:

  (1)Android SDK

  (2)编译器:Eclipse

  (3)ADT:是Eclipse的插件

  PS:一整套工具百度网盘存放地址:http://pan.baidu.com/s/1jI6fmjO

  2、创建手机模拟器:用ARM架构的更快一些.
  PS:模拟器出问题时,先重启adb试试(在DDMS中),再重启Eclipse

  (四)Eclipse中项目文件结构

  1、src:放所有Java代码的地方

  2、gen:这个目录的内容都是自动生成的,主要有一个R.java文件,不要尝试手动去修改它!

    java代码中:R.xx.xx查询
    xml文件中:@xx/xx查询
  比如:
    R.string.hello_world
    @string/hello_world

  3、assets:存放一些随程序打包的文件

  4、bin:包含一些在编译时自动产生的文件,其中会有一个apk文件,可以在手机上直接安装.

  5、libs:包含第三方Jar包

  6、res:图片、布局、字符串等各种资源

  7、AndroidManifest.xml:项目配置文件,用到的所有四大组件都需要在这里注册.还可以添加权限声明、设置版本等.

  8、project.properties:只有一行代码,指定编译程序时所使用的SDK版本.

  (五)安卓项目中的资源(res目录)

  1、以drawable开头的文件夹:存放图片.
  PS:项目的图标文件就是在AndroidManifest.xml文件中通过下面代码指定的:android:icon="@drawable/ic_launcher"

  2、以values开头的文件夹:存放字符串

  3、layout文件夹:存放布局文件

  4、menu文件夹:存放菜单文件

  (六)日志工具android.util.Log 

  1、Log.v( ):打印琐碎的日志信息

  2、Log.d( ):打印调试信息

  3、Log.i( ):打印比较重要的数据

  4、Log.w( ):打印警告信息

  5、Log.e( ):打印错误信息

随机推荐

  1. 内核交互--sysfs

    文档介绍:http://lxr.linux.no/linux+v2.6.37/Documentation/filesystems/sysfs.txt The sysfs Filesystem Sysf ...

  2. jetty访问jsp页面出现异常:org.apache.jasper.JasperException: PWC6345: A full JDK (not just JRE) is required解决

    今天在jetty下配置一个jsp模版的报表页面,报如下异常信息:   org.apache.jasper.JasperException: PWC6345: There is an error in ...

  3. hdu 5374 Tetris(模拟)

    pid=5374">题目链接:hdu 5374 Tetris 模拟.每次进行操作时推断操作是否合法,合法才运行,否则跳过.每次一个token落地,推断一下是否有消除整行. #inclu ...

  4. 微信小程序 view 布局

    刚看到这个效果的时候还真是和ReactNative的效果一致,属性也基本的一样. view这个组件就是一个视图组件使用起来非常简单. 主要属性: flex-direction: 主要两个特性”row” ...

  5. ios -为什么用WKWebView加载相同的html文本,有时展示的内容却不一样。

      如图: 红色框部分是WKWebView,左边的是正常显示情况,右边的异常显示.我是在网页加载完成回调里执行的webview高度自适应内容: // 页面加载完成之后调用 - (void)webVie ...

  6. 【动态规划】skiing

    [动态规划]skiing 时间限制: 1 Sec  内存限制: 128 MB提交: 34  解决: 15[提交][状态][讨论版] 题目描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激. ...

  7. MySQL索引使用:字段为varchar类型时,条件要使用''包起来

    结论: 当MySQL中字段为int类型时,搜索条件where num='111' 与where num=111都可以使用该字段的索引.当MySQL中字段为varchar类型时,搜索条件where nu ...

  8. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.2——将Eclipse开发的项目导入到AndroidStudio

    问题: 你想要将一个Eclipse ADT项目导入到Android Studio中. 解决方案: Android Studio提供了一个导入向导,可以重写已有的项目. 详细: 在Android Stu ...

  9. 【BZOJ1937】[Shoi2004]Mst 最小生成树 KM算法(线性规划)

    [BZOJ1937][Shoi2004]Mst 最小生成树 Description Input 第一行为N.M,其中 表示顶点的数目, 表示边的数目.顶点的编号为1.2.3.…….N-1.N.接下来的 ...

  10. 《从零开始学Swift》学习笔记(Day 35)——会使用下标吗?

    原创文章,欢迎转载.转载请注明:关东升的博客 看下面的示例代码是不是使用过: var studentList: String[] = ["张三","李四",&q ...