ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:27.89KB ,
资源ID:22863292      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22863292.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Android讲义.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Android讲义.docx

1、Android讲义3.2、FirstAndroidActivity.javaActivity介绍Android程序会用到各种各样的资源,我们将在后续章节中详细介绍关于这些资源的定义和使用。从上面的介绍,你是否得出这样一个结论:Android应用程序 = Java程序代码文件 + 资源文件 + AndroidManifest.xml粗略来讲这是对的!下面我们首先对Android的资源进行一个粗略的介绍。3.3.1、字符串资源在res/values工程目录下的strings.xml文件中定义的字符串内容:只是这里使用了整数类型的编号来代表字符串常量而已。在Android中,Android会给每个资

2、源分配一个唯一的编号,通过这个编号就可以访问到特定的资源!在Java程序代码中,你可以使用:R.string.app_name访问到由app_name定义的字符串;而在资源配置xml文件中,例如AndroidManifest.xml文件中,则使用:string/app_name来访问由app_name定义的字符串。3.3.2、布局资源Android规定,所有的布局资源文件必须放置在res/layout工程目录下。因此,如果你有多个界面需要显示,则在res/layout工程目录下会有多个这样的布局资源文件。注意代码中的:setContentView(R.layout.main);语句,在这里,我

3、们通过:R.layout.main3.2.2、ID资源我们所定义的新的资源均正确的反应在R.java文件中。3.3.4图片资源hdpi、-ldpi、-mdpi称为资源目录后缀,没有后缀的资源目录称为缺省资源目录:Android在搜索资源时,会首先获得最符合条件的资源,若没有符合条件的资源,则会从缺省资源目录中获得缺省的资源。图片资源文件,可以使任何目前支持的图片文件,包括:.jpg文件、.png文件、.bmp文件等, 3.3.6、引用资源不管Android资源的类型如何,所有的Android资源都是通过与之关联的ID来引用的。例如,为了在Java代码中引用message_1字符串资源,你可以使

4、用:R.string.message_1来引用;而为了引用png0237.png图片资源,你可以使用:R.drawable.png0237来引用。类似的,为了在资源配置XML文件中引用Android资源,例如,为了引用message_1字符串资源,你可以使用:string/message_1来引用;而为了引用图片资源png0237.png资源,你可以使用:drawable/png0237来引用。一般的,在Java程序代码中,你可以使用如下格式来引用Android程序资源:package.R.type.name类似的,在XML资源配置文件中,可以使用如下的格式来引用Android程序资源:pac

5、kage:type/name其中的type对应R.java文件中的资源类型,包括:Drawable.id.layout.string.attr.plurals.string-array4、深入分析Activity4.1、Activity的生命周期调用Activity的finish( )方法onPause( )onStop( )onDestroy( )来结束Activity。android将重新调用之前被覆盖的Activity的onCreate( )onStart( )onResume( ) 若因为资源紧缺而导致Activity被kill,Android系统一定会调用Activity的onSav

6、eInstanceState( )方法,当Android系统在恢复一个被Kill的Activity时会调用onRestoreInstanceState( )回调函数)。5.1、使用基于XML的布局修改res/layout/main.xml: 同时,修改res/values/strings.xml: 5_1_XMLLayout 点击 在这个文件中,我们定义了button_text引用。在这个接口中,只有一个方法:onClick(View v)。为此,我们对XMLLayoutActivity.java程序代码做如下修改:package teaching.android.xml_layout_5_1

7、;import java.util.Date;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;public class XMLLayoutActivity extends Activity implements View.OnClickListener Button btn; /* Called when the activity is first created. */ Override public void onCreate

8、(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); btn = (Button)this.findViewById(R.id.button); btn.setOnClickListener(this); Override public void onClick(View v) / TODO Auto-generated method stub btn.setText(new Date().toString(); XMLLayoutActivity实现了Vie

9、w.OnClickListener接口,同时,我们设置按钮监听点击事件,并在点击事件中修改显示在按钮上的文字为当前的日期时间。运行该修改后的程序:5.2、Android基本组件5.2.1、Button(1)android:text设置在Button上要显示的文字。可以是一个字符串常量或对一个字符串资源的引用。(2)android:textColor设置显示在Button上的文字的颜色。可以是对一个颜色资源的引用,或者是这些形式的颜色值:#rgb、#argb、#rrggbb、#aarrggbb。(3)android:textSize设置显示在Button上的文字的大小。可以是一个常数加单位,例如

10、,15px,20sp等,也可以是对单位度量资源的引用。(4)android:textStyle设置显示在Button上的文字的风格,可用的值:bold, italic, bolditalic。(5)android:typeface设置显示在Button上的文字的字体。目前Android只支持如下的字体:normal, sans, serif, monospace。但是,你可以在程序代码中使用任何你需要的字体。以上所介绍的这些属性是从android.widget.TextView中继承的,除此之外,你还可以使用从android.view.View中继承的XML配置属性。下面介绍这些属性。(6)a

11、ndroid:id设置Button的id属性以便在程序代码中可以引用该组件。(7)android:background设置Button的背景。可以是对一个drawable资源的引用,也可以是形如#rgb、#argb、#rrggbb、#aarrggbb的颜色值。(8)android:clickable设置该按钮是否可以响应点击事件。可选值:true、false。(9)android:onClick设置按钮被点击时要调用的处理函数。(10)android:visibility设置按钮是否显示在屏幕上。可选值:true、false。(11)android:padding、android:paddin

12、gTop、android:paddingBottom、android:paddingLeft、android:paddingRight设置组件的内边界,类似HTML/CSS的padding。(12)android:gravity设置按钮的文字内容在按钮上的显示对齐方式。可取值:top、right、left、center等。Android值支持三种字体:sans, serif, monospace,默认为sans, 5.2.2、TextViewTextView类似其他GUI的Label,用于显示一个字符串,显示在TextView中的字符串是不可编辑的。其实,Button组件的XML配置都是从Te

13、xtView和View中继承来的,因此,TextView的属性与Button组件的XML配置属性是类似的。5.2.3、ImageViewImageView组件用于显示一幅图片。ImageView常用XML配置属性包括:(1)android:maxHeight用于指定组件的最大高度。(2)android:maxWidth用于指定组件的宽度。(3)android:scaleType控制显示在ImageView中的图片应当如何改变大小或移动以适应ImageView组件的大小。可用的值及其含义:center:图片位于视图中间,但不执行缩放;centerCrop:按统一比例缩放图片(保持图片的尺寸比例)

14、便于图片的两维(宽度和高度)等于或者大于相应的视图的维度;centerInside:按统一比例缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或者小于相应的视图的维度;fitCenter:按比例缩放图片达到组件的大小,并使图片居中显示;fitEnd:按比例缩放图片达到组件的大小,并使图片居末显示;fitStart:按比例缩放图片达到组件的大小,并使图片居前显示;fitXY:不按比例缩放图片使之正好达到组件的维数;matrix:当绘制时使用图片矩阵缩放;(4)android:src指定显示在组件中的图片。必须是对一个图片资源的引用。(5)android:contentDescrip

15、tion设定图片的描述性文字。应用举例。5.2.4、EditTextEditText是可编辑的文本组件,与TextView组件类似,只是提供了编辑功能。它的XML配置属性都是从TextView及View中继承来的,如下的几个XML配置属性可能有用:(1)android:autoText设置是否对输入的文字进行自动拼写检查。只能取值“true”或者“false”。(2)android:captalize设置是否对输入的文字改为大写。只能取值“true”或者“false”。(3)android:digits设置是否只能输入数字。只能取值“true”或者“false”。(4)android:sing

16、leLine设置是否可以输入多行。只能取值“true”或者“false”。(5)android:hint设置当输入框为空时,在输入框中显示的提示信息。(6)android:inputType设置放置在EditText组件中的文字类型。取值包括:none、text、textCapCharacters、textCapWords、textUri、number等。举个例子。5.2.5、CheckBoxCheckBox组件就是在其他GUI组件我们常用的“复选框”,它继承了TextView和View组件的XML属性。该组件的常用方法:(1)isChecked( )检查该复选框是否被勾选。(2)setChe

17、cked(Boolean checked)设置该复选框的选中状态。(3)toggle( )将复选框的状态置反。5.2.6、RadioButtonRadioButton就是我们在其他GUI中使用单选按钮。一般情况下,我们总是将RadioButton与RadioGroup结合使用:使得在一组RadioButton中只有一个可以被选中。通过RadioGroup我们控制RadioButton的选中状态。常用的RadioGroup的方法:(1)check(int rb)检查指定rb的选中状态。(2)clearCheck( )清除所有RadioButton的选中状态,因此,调用该方法后,没有RadioBu

18、tton被选中。(3)getCheckedRadioButtonId( )返回被选中的RadioButton的id,若没有RadioButton被选中,则返回-1。5.3.1、LinearLayoutLinearLayout是一个Box,即,一个盒子,放置在其中的组件要么按列、要么按行的方式进行顺序布局。下面介绍LinearLayout的常用XML配置属性。(1)android:orientation设置LinearLayout容器布局组件的方式:要么按行要么按列。只能取值:horizontal、vertical。(2)android:gravity设置布局在LinearLayout容器内的组

19、件的对齐方式。取值包括:top、bottom、left、right、center、start、end等。(3)android:id设定该LinearLayout的id,以便可以再程序中引用该容器。这个属性是从View中继承来的。(4)其他从View中继承来的属性,包括android:backgroud、android:visibility等。同时,对于布局在LinearLayout中的组件,LinearLayout也提供如下这些XML配置属性,用以告知LinearLayout如何放置这些组件。这些配置属性是在容器的LinearLayout.LayoutParams配置属性列表中说明的:点击黄色

20、标注的链接,然后展开“From class android.view.ViewGroup.LayoutParams”:(1)android:layout_width和android:layout_height这两个属性是为放置在LinearLayout容器的组件提供的:所有放置在LinearLayout中的组件都必须通过android:layout_width和android:layout_height属性来告知LinearLayout如何对组件进行布局。有三个可选的值:match_parent/fill_parent-占满父容器的所有空间;wrap_content-组件将只占用为了正确显示器

21、内容所需的空间;一个常数值和单位,例如,100px,表示该组件占用100个像素宽。可用的单位:px(像素):屏幕上的点。in(英寸):长度单位。mm(毫米):长度单位。pt(磅):1/72英寸。dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。dip:与dp相同,多用于Google示例中。sp(与刻度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。(2)android:layout_gravity设置组件在容器中的布局方式。(3)android:layout_weight设置组件占用容器的空余显示空间的比例。(4)andr

22、oid:layout_margin、android:layout_marginTop、android:layout_marginBottom、android:layout_marginLeft、android:layout_marginRight设置组件的外边界,类似于HTML/CSS中的margin。5.3.2、RelativeLayoutRelativeLayout,顾名思义,就是相对布局:一个组件相对于另一个组件的位置来布局组件。例如,将组件A布局在组件B的右下方。RelativeLayout为布局在其中的组件提供了如下的XML布局属性,其含义是不言而喻的:5.3.3、TableLayo

23、utTableLayout很像HTML中的Table标签,用于按行和列的方式来布局组件。TableLayout与TableRow组件协同工作来完成对组件的布局。TableLayout的XML配置属性:其中:android:collapseColumns,指定要隐藏的列,以0为起始,多个列用“,”分隔;android:shrinkColumns,指定当列空间不够时,自动缩小的列,以0为起始,多个列用“,”分隔;android:stretchColumns,指定当列空间有多余时,自动延展的列,以0为起始,多个列用“,”分隔。对于布局在TableLayout中的组件,更准确的说是布局在TableRo

24、w中的组件,可以使用如下的由TableRow.LayoutParams提供的XML配置属性进行配置:其中,android:layout_column指定组件在TableRow中的列位置;android:layout_span指定组件占用几列。5.3.4、FrameLayoutFrameLayout以层叠的方式的布局组件:每次只能显示其中一个。这有点类似扑克牌,你只能看到最上面的那张。FrameLayout为布局在其中的组件提供了一个XML配置属性:用以设置FrameLayout容器中的组件的对齐方式。5.3.5、ScrollViewScrollView也是一个容器,它是FrameLayout的

25、子类,它的主要作用是可以包括多余屏幕可以显示的内容,ScrollView将提供垂直滚动。ScrollView提供了如下的XML配置属性:6、理解和使用Intent在基于HTML的页面程序中,我们使用“超链接”来实现页面之间的跳转。之前我们也提到过,Android应用程序界面是由一个到多个Activity组成的,一个Activity相当于HTML的一个页面,那么,当一个Android应用程序具有多个有相互联系的Activity时,它们之间如何实现跳转呢?这就是通过使用我们在这里将要介绍的Intent来实现的。6.1、Intent应用入门6.1.1、Intent入门例子6.1.2、课堂练习编写与例

26、子相似的、能通过Intent打开新的Activity的程序。6.2、细说Intent可以指明的条件包括:action、data和category。6.2.1、Intent的action我们可以为我们自己创建的Activity定义一个用于打开这个Activity的action,这个action是一个字符串常量,你可以任意定义,但是,Android建议的做法是,在命名action是,采用“Java包名+特定串”的形式来命名action。例如,我们为Intent_02_Activity定义的action:teaching.android.chapter6.intent_01.A1,其中,teachi

27、ng.android.chapter6.intent_01是包名,而A1是特定的名称。需要强调的是,Activity与action不一定是1对1的对应关系,也就是说,可能多个Activity对应同名的action,这在Android中是允许的,当这种情况出现时:Android平台将弹出一个对话框,让你选择满足条件的哪个Activity来运行。Android平台的Intent类已经预先定义了一些action:其中的每个action都有确定的含义,例如,ACTION_MAIN的含义:它表示包含这个action的Activity是android应用程序的入口Activity,也就是,当运行某个And

28、roid应用程序时,当首先打开包含这个action的Activity。这些action可以用来打开系统已经包含的一些Activity,例如,电话拨号Activity。当然,你也可以在程序程序直接使用这些action作为你的Activity的action。为了指明一个Intent的action,有两种方式:(1)通过Intent类的构造函数new Intent(String action)及new Intent(String action, URI uri)。(2)通过Intent类的setAction(String action)函数。6.2.2、Intent的data在通过隐式Intent打

29、开Activity时,除了指明Activity的action外,我们经常还指明Activity所支持的data。就像在HTML中那样,我们除了指明是GET、PUT、POST动作外,还经常需要指明页面的URI地址。在Android中,我们通过Intent的data指明要操作的数据,Android的data也是通过URI来指明的。URI的标准形式:scheme:/host:port/path 或者scheme:/host:port/pathPattern 或者scheme:/host:port/pathPrefix例如, 在如下的URI中:content:/com.example.project:200/folder/subfolder/etcscheme为content,host为com.example.project,port为200,path为folder/subfolder/etc。通过标签的子标签的子标签,我们可以指定某个Activity的data属性,其中包括:host、mimeType、path、pathPattern、pathP

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1