一.android系统被分为4个层次:1.最下层的是linux核心,包括多个驱动程序,提供了操作系统应该具备的核心功能;2.在linux核心之上,包括两个部分,一部分是Android Runtime(包括Dalvik虚拟机,和Core Libraries相当于java中的jdk)和LIBRARIES;3.是Application Framework这一层,该层包括多个Android开发框架(即各种管理器,如资源管理器等);4.Aplication层(该层既是我们工作的领域app)
二.基于组件的应用程序开发:这种方式使得Android开发变得简单化,把需要的功能封装成一个一个的组件,当开发app的时候使用对应的组件开发。Android组件:①Activity:Activity就相当于网站上的页面;②Service:Service主要负责在Android操作中耗时较长的操作,它没有图形化界面;③Content Provider:数据共享的一种方法,如果我的app有一个Content Provider,那么其他程序就可以访问我的app。④BroadcastReceiver:广播接收器,它的作用是监听手机中发生的事情,它是用来监听系统行为的(例如:手机进入低电量的时候,那么手机就会给应用程序发送一个广播,如果用户正在玩游戏,那么是不是应该在获取系统所发出的消息后,应该给予用户提示)
三.初识Activity:
1.Activity启动流程:①Activity启动之前,Android操作系统首先会去读取AndroidMannifest.xml文件,决定启动哪个Activity,然后生成默认Activity的对象,然后调用该对象的onCreate()方法(这些操作都是由Android操作系统来完成的),在onCreate()方法当中又会去读取布局文件main.xml,根据布局文件中的内容决定Activity该显示什么内容;
2.Activity与布局文件之间的关系:①RelativeLayout:就是相对布局,相对布局的容器范围之内的控件都使用相对布局的方式②TextView:即文本视图,它用于显示文本;
3.在Activity当中获取代表控件对象:在Activity中有TextView对象,而在main.xml中有<TextView>控件的声明,那么就可以说该TextView对象就是代表控件的对象,当onCreate()方法中要读取某个布局文件的时候,此时Activity生成该布局文件中控件所对应的对象,我们通过findViewById()来获取代表该控件的对象;又因为findViewById()返回的全是View类型的对象,所以我们必须向下转型成对应的对象类型;我们可以在布局文件中控制控件的属性,同样可以在Activity中控制属性;
三.
1.View的基本概念:在Activity中显示出来的控件,在android技术体系中就是View,View是所有控件类的父类,每一种控件都对应一个类,这些类通通都是View的子类;
2.在Activity当中获取代表View的对象:findViewById();
3.设置View的属性:一种是在布局文件中,一种是在Activity中;
4.为View设置监听器
5.为控件绑定监听器:①获取代表控件的对象;②定义一个类,实现监听器接口;③生成监听器对象;④为控件绑定监听器对象
四.
1.控件布局的基本概念:控件布局就是指控件在Activity当中的位置,大小,颜色以及其他样式属性的方法。使用布局文件完成控件布局,在java代码中完成控件布局。有两种方式:①在布局文件中完成控件布局;②在java代码中完成控件布局
2.布局方法分类:LinearLayout(线性布局),RelativeLayout(相对布局)在实际开发中,相对布局是我们使用最多的。在线性布局中,每个控件都会独占一行,或者一列,和控件内容的长度无关。
五.长度单位与内外边距
1.距离单位之px:即像素,例如我们所说的屏幕分辨率是480*320也就是说,在横向屏幕被分成了480份,纵向被分成了320份。而整个屏幕被分成了480*320个格子,而这每一个小格子就是一个像素;
2.距离单位之dp:dpi即每英寸上点的个数,也就是屏幕显示的细腻程度。dpi值越高屏幕分辨率越高,反之屏幕分辨率越低;dp=dip(Device Independent pixels)换算公式:px=dp*(dpi/160)在dpi为160的屏幕上:1dp=1px
3.距离单位之sp;scaled pixels(可缩放的像素)通常用于指定字体的大小,当用户修改手机显示字体时,sp会随之改变。
4.控件的外边距和内边距:margin和padding
六.
1.单选按钮的基本概念:单选按钮与多选按钮之间的区别在于在一组按钮中只能有一个能被选中;
2.RadioGroup与RadioButton
3.OnClickListener与OnCheckedChangeListener监听器
4.ImageView
5.LinearLayout布局的嵌套
6.layout_weight:子控件未能占满父控件的空间,layout_weight的值用于指定空闲空间的分配比例
7.RelativeLayout:相对布局是通过指定当前控件与兄弟控件或者是父控件之间的相对位置,从而达到控制控件位置的目的。RelativeLayout布局的新属性(Android 4.2之后)
七.
1.TimePicker;2.DatePicker;3.ProgressBar;4.RatingBar
android开发之路01
时间: 2024-11-06 08:28:36
android开发之路01的相关文章
android开发之路09(浅谈SQLite数据库01)
1.SQLite数据库: SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. 其特点是高度便携.使 用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下 - 只要确保 SQLite的二进制文件存在即可开始创建.连接和使用数据库. 对于SDK来讲,已经内置了SQLite的程序,因此我们不需要在SQLite官网上下载.一般数据库采用的都是静态的数据类 型,而我们的SQLite数据库采用的是动态数据库,会
android开发之路02(浅谈BroadcastReceiver)
一.BroadcastReceiver (广播接收者)的作用是用来接收来自系统和应用中的广播.应用如下: 1.开机完成后系统会产生一条广播----->接收到这条广播就能实现开机启动服务的功能: 2.网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作: 当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户及时保存进度: Android中的广播机制设计的非常出色,大大减少了开发的工作量和开发周期. 二.静态注册广播接收者和动态注册广播接收者 ①创
android开发之路03
一.Activity1.如何在一个应用程序中定义多个Activity:①定义一个类,继承Activity:②在该类当中,复写Activity当中的onCreate方法:③在AndroidManifest.xml文件当中注册该Activity:2.如何启动一个Activity:①生成一个意图(Intent)对象:②调用setClass方法设置所要启动的Activity:③调用startActivity方法启动Activity3.Android当中的back stack(返回栈即返回按钮):栈这种数
菜单(Menu)的三中创建方式——Android开发之路2
菜单的三种创建方式 一.OptionsMenu---选项菜单 Android应用中的菜单默认是隐藏的,只有当用户点击手机上的MENU键,系统才会显示菜单.这种菜单叫做选项菜单(Options Menu)或系统菜单. 从3.0开始,Android不要求手机设备上必须提供MENU按键.因此Android推荐使用ActionBar来代替Menu. 在不同的版本中菜单显示效果有差异 二.ContextMenu---上下文菜单 三.PopupMenu---弹出式菜单 可以在指定的组件上设置弹出式菜单,默认
android开发之路11(用SharedPreferences存储数据)
Android平台给我们提供了一个SharedPreferences类,实际上SharedPreferences处理的就是一个key-value(键值对),它是 一个轻量级的存储类,特别适合用于保存软件配置参数及用户的偏好设置参数,比如登录时候的记住密码功能等.使用 SharedPreferences保存数据,实际上是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下 : 1.获取SharedPreferences对象的两种方式:
android开发之路08(ListView&;Adapter)
ListView控件介绍:用于将数据库中的数据或者网络中的数据通过列表的形式显示出来:ListView采用MVC模式将前端显示和后端数据进行分离. 也就是说,ListView控件在装载数据时并不是直接使用ListView.add或者类似的方法添加数据,而是需要指定一个Adapter对象.该对象相当于MVC模式中的C(控制器),ListView相当于MVC模式中的V(视图),用于显示数据.为ListView提供数据的List或数组相当于MVC模式中的M(模型)在ListView控件中通过Adapt
JavaScript开发之路01(初识Sencha Touch框架)
刚开始学习JS框架SenchaTouch就被简单的文件显示打蒙了,我去!我看的书是SenchaTouch权威指南,上面的第一个例子是这样写的:Ext.application({ name:'WebContent', icon:'images/icon.png', glossOnIcon:false, phoneStartupScreen:'images/phone_startup.png', tabletStartupScreen:'images/tablet_startup.png', lau
Android开发之Tween(补间动画)完全解析(下)
欢迎转载,转载请注明出处:http://blog.csdn.net/dmk877/article/details/51980734 在上一篇文章中,我们详细讨论了Tween动画的xml的实现以及interpolator的使用,相信通过上篇文章大家对Tween动画的xml属性的配置会有一个详细的理解,当然这篇文章也是承接上篇文章,所以强烈建议先阅读上篇文章:Android开发之Tween(补间动画)完全解析(上),这篇文章将从代码的角度实现上篇文章的效果.如有疑问请留言,如有谬误欢迎批评指正. T
Android开发之AudioManager(音频管理器)详解
AudioManager简介: AudioManager类提供了访问音量和振铃器mode控制.使用Context.getSystemService(Context.AUDIO_SERVICE)来得到这个类的一个实例. 公有方法: Public Methods int abandonAudioFocus(AudioManager.OnAudioFocusChangeListenerl) 放弃音频的焦点. void adjustStreamVolume(int streamType, int dir