Android学习第三章摘要

经过环境搭建,今天开始正式进行Android的学习,第三章的东西感觉还是非常重要的,毕竟要对整体有个了解

Android的程序框架

一个Android程序建立以后,主要有src文件夹,gen文件夹,res文件夹,以及一些xml文件,个人认为,了解每个文件是描述什么的是非常重要的。按照书上的顺序一一略作记录:

gen中的R.java,这是之前Java程序没有的,他是只读模式,不能修改,是定义了项目所有资源的索引文件(订了很多常量,常量名字与res中文件相同,自动生成索引)

AndroidManfest.xml,包含了项目中使用的ActivityServiceReceiver

res资源文件夹中的一些xml,主要一些常量的定义

使用这些资源的方式:通过ContextgetResources实例化一个Resources对象,再通过Resources对象的getString方法取得指定索引的字符串

Resource r=this.getContext().getResources();Stirng appname=((String) r.getString(R.string.app_name));

所有使用的常量都可以通过xml文件方式定义,包含在<resources></resources>标签中

布局文件res—layout—main.xml

主要有几个布局和参数(<LinearLayout>android:orientationandroid:layout_widthandroid:layout_heightwrap_content

@方式引用String.xml中的字符串资源

对于HelloAndroid.java来说,继承了Activity类,重写了onCreate方法,通过setContentView(R.layout.mian)设置了布局文件

Android应用解析

4个模块

ActivityIntentContent ProviderService

Activity是最基本的模块,称为活动,通常一个Activity就是一个屏幕。每个活动都实现为一个独立的类,处理应用程序的整体性工作。

Intent是实现Activity间切换的特殊类,用于描述应用的功能。它的两个重要部分:动作和动作对应数据。典型动作类型有MAINVIEWPICKEDIT等,对应数据以URI表示。

该机制的2个好处

Activity能够重复利用从其他组件中以Intent形式产生的请求

Activity可以在任何时候被具有相同IntentFilter的新的Activity取代

然后有一个2Activity切换的实例

Content Provider提供了数据的访问,Android应用将数据保存到文件和SQLite数据库中,当要与其他应用共享时,Content Provider会提供方法。

应用可以通过唯一的ContentResolver界面来使用具体某个Content Provider(个人感觉类似JDBCResultSet),ContentResolver提供包括queryinsertupdate等方法。

同样通过一个获取通讯录信息的例子来说明

Service,是一个生命周期长且没有用户界面的程序。(个人理解就是后台运行)有Context.startService()Context.bindService()等方法可以用。。

一个MP3播放的例子

Android的生命周期

OnCreateonStartonResumeonPauseonDestroy

贴个图


通过一个程序说明了下

Android等程序UI设计

介绍了自带的UI设计界面(main.xmllayout标签)

以及一个工具DroidDraw

继续再好好看下3个几个示例程序,接下来开始比较具体的Android开发学习

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. 关于android:sharedUserId="android.uid.system"这个系统级权限
  6. JavaScript与Android原生相互调用并传参
  7. Android实现ListView嵌套Checkbox真正的多选、全选、反选
  8. 关于Android中的四大组件(AIDL Service的使用)
  9. [Android] 40个比较重要的Android面试题,必知

随机推荐

  1. MySQL事务的隔离性是如何实现的
  2. MySQL中连接查询和子查询的问题
  3. mysql配置SSL证书登录的实现
  4. MySQL约束超详解
  5. Mysql中undo、redo与binlog的区别浅析
  6. Mysql 日期格式化及复杂日期区间查询
  7. MySQL读取my.cnf的顺序问题详情
  8. MySQL 日期时间加减的示例代码
  9. MYSQL METADATA LOCK(MDL LOCK) 理论及加
  10. MySQL是怎么保证主备一致的