Android基础总结(1)

1、Android开发的特点

  • 四大组件:活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)、内容提供器(Content Provider)。其中活动是所有Android应用程序的门面,方式在应用中看到的东西,都是放在活动中的。而服务就低调得多,你无法看到它,它会在后台默默地运行,即使用户退出了应用,服务仍然可以继续运行。广播接收器可以允许你的应用接收来自各处的广播消息,例如电话、短信等,当然,你的应用也可以自己向外发出广播消息。内容提供器则为应用程序之间共享数据提供了可能,比如你想要读取系统电话簿中的联系人,就需要通过内容提供器来实现。
  • 丰富的系统控件:安卓系统为开发者提供了丰富的系统控件,用户也可以定制属于自己的控件(如何实现自定义控件???)。
  • SQLite数据库:Android系统自带这种轻量级、运行速度很快的嵌入式关系型数据库。不仅支持标准的SQL语法,还可以通过Android封装好的API进行操作,让存储和读取数据变得更加方便。(SQLite数据库与其他开源数据库的区别,如何选???)
  • 地理位置定位:利用Android手机都内置的GPS系统结合功能强大的地图功能进行定位。(怎么用???)
  • 强大的多媒体:Android系统还提供了非常丰富的多媒体服务,如音乐、视频、录音、拍照、闹铃等
  • 各种传感器:Android手机中会内置各种传感器,如加速度传感器、方向传感器等

2、Android开发需要准备的软件

  • JDK、SDK(开发工具包,通过引入该工具包来使用Android相关的API)、Eclipse、ADT(谷歌提供的有一个Eclipse插件,连接Android和Eclipse,便于开发)
  • JDK、SDK、Android Studio

3、Android项目开发在Eclipse中的文件架构

           Android基础总结(1)    Android基础总结(1)

  • src:放置我们所有的Java代码的地方,它在这里的含义和普通的Java项目下的src目录是一样的
  • gen:自动生成的文件目录,主要是有一个R.java,你在项目中添加的任何资源都会在其中生成一个相应的资源id。这个文件永远不要手动修改它。
  • assets:资产目录,存放一些随程序打包的文件,包含应用系统需要使用到的诸如mp3、视频类的文件,这些文件会被打包到应用程序的apk(安装包)中。如果你用到
  • WebView加载本地网页的功能,所有网页相关的文件也会都存放在这个目录中。这个目录用的不多
  • bin:编译后生成的二进制文件目录,不需要过多关注。包括打包产生的apk(安装包)也在此目录下。那该目录下的apk文件直接拷到手机上就可以直接安装了
  • libs:如果你的项目中用到第三方Jar包,就需要将Jar包都放在libs目录下,放在这个目录下的Jar包都会自动添加到构建路径里去。
  • res:资源目录,这个目录下的内容就有点多了。简单点说,你项目中使用到的所有图片、布局、字符串等资源都会存放在这个目录中。前面提到的R.java中的内容也会根据这个目录下的文件自动生成对应的资源id。这个目录下还有很多子目录,图片都放在drawable目录下,布局文件都放在layout目录下,字符串等都放在values目录下,values目录下可以存放多个*.xml文件,还可以存放不同类型的数据。比如arrays.xml、colors.xml、dimens.xml、styles.xml

  • androidmanifest.xml:整个项目的配置文件,记录应用中所使用的各种组件。项目中定义的所有四大组件都需要在这里进行注册,另外还可以在这个文件中给应用程序添加声明权限,也可以重新指定创建项目时指定的程序的最低兼容版本和目标版本。

  • project.properties:代表项目属性,即编译的版本,对应android.jar的版本 。就是通过一行代码指定了编译时所使用的SDK版本。

4、Android中的MVC架构

Android基础总结(1)

  MVC架构的主要目的是使程序中的数据与界面分离,其中M表示模型(model,也就是数据),V表示试图(view,也就是界面),C表示控制器(controller,用于控制M和V之间的联系)。Android SDK同样采用了MVC模式来展现数据和界面的关系。此外,常用的Java Web和Struts也是用的MVC框架。

  MVC的基本原理就是通过Controller连接View和Model。也就是说,当view中显示的数据变化时(eg:ListView中要删除某个列表项),会通知controller,而不是直接通知model。然后controller接到通知后,会在model中采取相应的动作。同样,如果model中的数据有变化,会通知controller,然后controller会通知view重新显示数据。

  • 使用MVC模式可以将显示部分和数据部分分离,这样当更换试图或模型时可以不影响对方,更有利于程序的维护。

5、Android中的日志工具,LogCat

  Android中的日志工具类是Log(android.util.Log),提供了如下几种方法供我们打印日志:

  • Log.v():打印最为琐碎、意义最小的日志信息。对应级别为verbose,是Android日志里级别最低的一种
  • Log.d():打印一些调试信息。对应级别为debug,比verbose高一级
  • Log.i():打印一些比较重要的信息。对应级别为info,比debug高一级
  • Log.w():打印一些警告信息。对应级别为warn,比info高一级
  • Log.e():打印一些错误信息。比如程序进入到catch语句中。对应级别为error,比warn高一级

  Android中使用Log而不使用System.out.println()的主要原因是Android系统运行时会产生大量的、各种类型的、各种应用程序的信息,Log有级别,可以很轻松地过滤和筛选,得到相应级别、相应类型、相应应用程序的日志信息。方便调试。

上一篇:zookeeper服务器端管理工具


下一篇:angular 与 layer 集成过程