您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > android_控件手册
vAndroid常用控件总结2011-11-1312:56:54我来说两句收藏我要投稿[字体:小大]Notepad++编写可以负责粘贴到其中去看得更清楚。(内容包括了Android中的大部分常用控件及其事件的监听)第一章1.1Android中src文件夹包含项目的所有包及其资源文件,res文件夹包含了项目中所有的资源。比如:程序图标(drawable),布局文件(layout),常量(value),音频文件(raw)R.java是在创建项目是自动生成的只读文件,不可更改此文件。R文件其作用:是定义项目中所有资源的索引文件。1.2AndroidManfest.xml如下:?xmlversion=1.0encoding=utf-8?manifest//根节点,描述了packege包中所有的内容xmlns:android=包命名空间的声明,使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据package=Android.Summary//引用程序包名android:versionCode=1android:versionName=1.0uses-sdkandroid:minSdkVersion=7///使用SDK版本号application//包含package中application级别组件声明的根节点,可包含application的一些全局和默认的属性,如标签label,icon,主题,必要的全限。注意:一个manifest中只能包含一个或0个applicationandroid:icon=@drawable/icon//应用程序图标android:label=@string/app_name//应用程序名字activityandroid:name=.SummaryActivity//Activity用来与用户交互的主要工具,是用户打开程序的初始界面.此处为引用程序默认启动的Activityandroid:label=@string/app_nameintent-filter///描述了Activity的启动时间和位置,另外为了支持查找Activity可以包含一个或多个intent-filteractionandroid:name=android.intent.action.MAIN///acton为组件支持的Intentactioncategoryandroid:name=android.intent.category.LAUNCHER///categor为组件支持的Intentcategory这里指定了引用程序的默认启动的Activity/intent-filter/activityactivityandroid:name=Activity02/activity//在此对新增的Activity进行注册。如果在不同的包中注意声明是将包名带上/application/manifest1.3String.xml如下:?xmlversion=1.0encoding=utf-8?resources//此处定义了两个字符串资源,即定义了app_name,hello常量stringname=helloHelloWorld,SummaryActivity!/stringstringname=app_nameSummary/string/resources如何使用这个资源呢?如下:Resourcesr=this.getContext().getResources();//通过Context的getResource()实例化一个Resources对象Stringapp_name=((String)r.getString(R.string.app_name));//然后通过getString()方法取得指定的索引的字符串。项目中所有常量都可以在String.xml文件中定义Stringhello=((String)r.getString(R.string.hello));1.4main.xml如下:?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=线程版面配置android:orientation=vertical//版面配置的方式。此为自上到下为垂直配置,horizontal为水平配置android:layout_width=fill_parent//定义当前视图在屏幕上所占的宽度,fill_parent为填充整个屏幕宽度/*android:layout_weight=50*///用于给一个布局中多个视图的重要度赋值android:layout_height=fill_parent//定义当前视图在屏幕上所占的高度,...........................高度TextViewandroid:layout_width=fill_parentandroid:layout_height=wrap_content//随着视图的栏位的不同而改变这个视图的高度或宽度android:text=@string/hello//在视图上显示的内容,此处引用了@String中的hello字符串//LinearLayout1.5src下的java如下:packageAndroid.Summary;importandroid.app.Activity;importandroid.os.Bundle;publicclassSummaryActivityextendsActivity{//继承自Activity/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){//重写onCreate()方法super.onCreate(savedInstanceState);setContentView(R.layout.main);//设置要显示的布局}}第二章2.1Android应用程序由四个模块组成:Activity,Service,Intent,ContentProvider(注意:一个应用程序不一定包含全部的四个模块).在使用时必须在AandroidManfest中进行声明。Activity可以理解为用户看到屏幕,主要用于处理应用程序的整体性工作。如:a.监听系统事件,触屏事件,为用户显示指定的View,启动其他Activity等。b.所有应用的Activity都继承于android.app.Activity,该类是Android提供的基层类。c.一个Activity通常就是一个单独的屏幕。d.每一个活动都被实现为一个独立的类。e.大多数的应用程序都是由多个Activity组成。IntentAandroid中主要用Intent类实现从一个Activity跳转到另一个Activity。在Intent的描述结构中,有两个重要的部分:动作和对应的数据。典型的动作有MAIN,VIEW,PICK,EDIT.而动作对应的数据则以URI的形式表示。例如:要查一个人的联系方式,需要创建一个动作类型View的Intent,以及一个表示这个人的URI.Intent的使用:button1.setOnClickListener(newButton.OnClickListener(){publicvoidonClick(Viewv){Intentintent=newIntent();//创建一个Intent对象intent.setClass(Activity01.this,Activity02.class);//指明要启动的另一Activity02startActivity(intent);//启动一个新的ActivityActivity01.this.finish();//关闭当前Activity01}});这里需要注意在Android中对新启动的Activity进行声明。声明方式:activityandroid:name=Activity02/activity//注意:如果在不同的包中在声明是还要加上包名IntentReceiver如果希望Android应用能够对外部事件(如电话打入时,数据网络可用时,)做出响应,可用使用IntentReceiver.虽然IntentReceiver在如上事件发生时会使用NotificationManager通知用户,但它并不能生产UI。IntentReceiver可以在AndroidManifest.xml中注册,也可在代码中使用Context.registerReceiver进行注册。当IntentReceiver被触发时,系统会在需要的时候启动应用。各种应用还可以通过ContentReceiver()将他们自己的IntentReceiver广播出去。???????ContentProvider作用:主要用于不同应用程序中的数据的传递。ContentProvider是一个特殊的存储数据的类型。Android自身提供现成的ContentProvider:Contacts,Browser,CallLog,Settings,MediaStore应用可用通过唯一的ContentResolver界面来使用具体的ContenProvider,然后可以用ContentResolver提供的方法来使用你需要的ContentProvider其中,ContentResolver提供的方法有query(),insert(),update()等。URI----String形式的ContentProvider的完整路径。下面这个这个例子通过ContentProvider获取电话本中的数据,然后显示到TextView中去。publicclassActivity01extendsActivity{publicvoidonCreate(BundlesavedInstanceState){TextViewtextView=newTextView(this);//得到TextView对象Stringstring=;super.onCreate(savedInstanceState);ContentResolverresolver=getContentResolver();//得到ContentResolver对象Cursorcursor=resolver.query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);//取得电话本中开始一项的光标,通过query方法查询出符合标准的电话本记录//向下移动光标while(cursor.moveToNext()){//取得联系人名字intname_index=cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);Stringname=cursor.getString(name_index);//取得电话号码intnumber_index=cursor.getColumnIndex(PhoneLookup.NUMBER);Stringnumber=cursor.getString(number_index);string+=(name+:+number+\n);}cursor.close();textView.setText(string);//设置TextView显示的内容setContentView(textView);//显示到屏幕上其实TextView也是View的一种}}注意:在使
本文标题:android_控件手册
链接地址:https://www.777doc.com/doc-2901225 .html