android开发之路01
一.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的更多相关文章
- android开发之路09(浅谈SQLite数据库01)
1.SQLite数据库: SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. 其特点是高度便携.使 用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同, ...
- Toast显示图文界面——Android开发之路1
Toast的多种使用方法 Toast其实是一个功能特别强大的组件,不仅仅可以吐司一个文本内容,还可以吐司图片以及图文混排的界面.具体用法如下: 第一种:简单的纯文本内容的吐司: Toast.makeT ...
- 菜单(Menu)的三中创建方式——Android开发之路2
菜单的三种创建方式 一.OptionsMenu---选项菜单 Android应用中的菜单默认是隐藏的,只有当用户点击手机上的MENU键,系统才会显示菜单.这种菜单叫做选项菜单(Options Menu ...
- Android中隐藏顶部状态栏的那些坑——Android开发之路3
Android中隐藏顶部状态栏的那些坑 先看看常规的隐藏状态栏的方法: 方法一: @Override protected void onCreate(Bundle savedInstanceState ...
- Android中点击隐藏软键盘最佳方法——Android开发之路4
Android中点击隐藏软键盘最佳方法 实现功能:点击EditText,软键盘出现并且不会隐藏,点击或者触摸EditText以外的其他任何区域,软键盘被隐藏: 1.重写dispatchTouchEve ...
- Intent的七大组件——Android开发之路5
------Intent------ Android中三个核心组件——Activity.Services.BroadCastProvider都是通过Intent传递参数. startActivity( ...
- android开发之路12(android四大组件&Fragment&AsyncTask类)
一.Activity组件1.简介:Activity组件是Android四大组件之一,通常一个Activity相当于一个用户界面,我们可以通过加载布局文件将Android提供的各种控件及自定义控件显示到 ...
- android开发之路13(实际开发常见问题及解决办法ING)
1.DDMS下无法浏览SDcard? 在做音乐播放器的时候,想通过eclipse中的DDMS视图将音频文件push到sd卡中,发现总是报错 :Failed to push selection: Rea ...
- android开发之路11(用SharedPreferences存储数据)
Android平台给我们提供了一个SharedPreferences类,实际上SharedPreferences处理的就是一个key-value(键值对),它是 一个轻量级的存储类,特别适合用于保存软 ...
随机推荐
- Flume 与Kafka区别
今天开会讨论日志处理为什么要同时使用Flume和Kafka,是否可以只用Kafka 不使用Flume?当时想到的就只用Flume的接口多,不管是输入接口(socket 和 文件)以及输出接口(Kafk ...
- ExtJs 5.0需要注意的问题
1.在网上查找到的一些例子当中,存在new Ext.grid.ColumnModel()这样的操作,在5.0当中这是不允许的,在5.0当中这个已经被设置为私有方法,不允许用户调用,在5.0中我们不需要 ...
- Cordova CrossWalk
http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/cordova-2-cordovabarcodescanner/ 军训结束后,同学们 ...
- 请求码(requestCode)与结果码(resultCode)解析
Android apk开发中经常需要在活动(Activity)之间穿梭,并实现活动之间的数据传递.为了启动一个新的活动并得到该活动的返回数据,需调用方法startActivityForResult() ...
- prefuse学习(二)显示一张图
1. 把数据以点连线的方式在画面中显示 2. 数据按照数据的性别属性使用不同的颜色 3. 鼠标左键可以把图在画面中拖动 4. 鼠标右键可以把图放大或者缩小 5. 鼠标单击某个数据上,该数据点 ...
- 【zoj3254】Secret Code
题意: 给出a.p.d.m 求a^x=d(mod p) 0<=x<=m 的解的个数 题解: 今天一整天的时间大部分都在调这题Orz BSGS什么的还是太不熟了 我们可以用BSGS拓展版求出 ...
- linux oracle10g安装
同样适合11g哦,亲; 一.安装系统 首先安装Linux系统,根据Oracle官方文档的建议,在机器内存小于1G的情况下,swap分区大小应该设置为内存的2倍大,若内存大于2G则swap分区设置为与内 ...
- 电脑突然死机,系统日志记录事件ID=6008
刚才正在写代码,在一次保存之后,正要刷新看下效果,电脑突然关机,没有任何提示或延迟.我的笔记本电池是一直插上的,也连接着电源. 重新开机之后,找到系统日志查看.只有这一条错误记录:非正常关机,事件60 ...
- HDFS的Java客户端操作代码(HDFS的查看、创建)
1.HDFS的put上传文件操作的java代码: package Hdfs; import java.io.FileInputStream; import java.io.FileNotFoundEx ...
- 转载 asp.net中ViewState的用法详解
转载原地址: http://www.jb51.net/article/73662.htm 在web窗体控件设置为runat = "server",这个控件会被附加一个隐藏的属性_V ...