Android(经典实例).

所需积分/C币:38 2014-05-16 16:58:20 442KB PDF
收藏 收藏
举报

Google 的 Android SDK 发布也有一段时间了,一直想研究一下却苦于找不到时间。 利用这个周未,开始强迫自己再次进入学习状态,原因很简单:我看好开放的 gPhone。 SDK 的下载与安装并不复杂, 网上也有不少同学已经进入状态了, 我就不再重复了吧。 今天主要讨论的,还是永远不变的话题:Hello World.
android: layout width="wrap content android: layout height="wrap con tent android: text="astring/go> KrequestFocus/> </Button> 这里有两个地方要注意:id=@+id/go,这表示需要一个唯一的UID来作为 Button的ID, 它的引用名是go。还有一个是 android:txt=@ string/go表小这个按钮的文本不是直接 写有main.xm1里了,而是来源于另一个资源描述文件 strings.xm1里,本例中的 strings.xm1如下 K?xmI version=1.0 encoding="utf-8?> rcsourccs> <string name=app name >helloTwo</string) < string name=" tit dialog">提示</ string> string name=" msg dialog">你好,中国</ string> string name" ok dialog">确定</ string> < string name="go">浏览</ string> K/resources> 然后,在代码里( oncreate函数中)我们加上以下代码(简单起见,用了嵌套类): Button btn-(Button)findVicwBy Id(R id go btn. setOnClickListener (new View. OnClickListener( public void onClick(View v) 白由 EditText edt=(EditTexthelloTwo. this. findViewBy Id(R. id edt) TextView txt=(TextView helloTwo this findviewby Id(R idtxt txt.sctlcxt(gctString (R string msg dialog)+cdt. gctTcxto) 为铵钮增加一个 onclick事件处理器,在点击事件中,设置txt的文本为 R string msg dialgotedt getText 这里的关键是两个函数的使用: findviewby id(R.id.go)可以根据资源的名称加载 View类型的资湶,同样用函数 getstring(R. string. msg dialog)可以加载字符串资涼。 编译,run一下看看效果。 3.再让菜单 Say Hel1o 从API文档中我们看到 Activity中有两个函数: on CreateOptionsmenu和 onOptionsItemSelected,显示,这个0 ptionsMenu就是所谓的上下文菜单(在 GPhone 的模拟器上,有个键专用于弹出这个菜单)。下面我们就为这个 Helloworl d例子加上 个菜单,并且计它可以 Say he1lo。 这次,我们不涉及到资源的描述文件了,而是直接使用这两个函数来实现,其实代 码乜很简单,所以,我们冉增加一个退出应用的功能(否则每次都是按取消键退出应用 显示太不专业了)。 代码如下: public boolean onCreateOptionsMenu (Menu menu) super. onCrcatcOptions Menu(menu) menu. add(o, 1, say hello menu. add(0, 2,exit") return true public boolean onOptionsItemSelected(Item item super. onOptionsItemSelected (item) int id = item. getlo 白由 switch(id)i case AlertDialog show(this, gctString(R string. app namc) getString(r string msg dialog), getString(R stri ng. ok dialog), true) break casc 2. nisho reak 在( reatcOptionsmenu时,我们简单地増加两个菜单项,menu.add(组I,项I,显 示文本),(注意:这里我直接将文字写在代码里,这并不提倡)。然后,在 0 ptionsitemSelected事件中,我们根据选中的菜单项做相应处理,如果选中1,则弹出 个对话框显示资源文件中的“你好,中国”,如果选中2则退出应用。 AlertDialog.show是一个静态方法,类似于我们在W\平台上经常使用的 Messagebox一样,很方便的。 Aihttp://www.sf.orgcn/android/tumen/20976.htmi Android学习笔记(2)一初识 Activity 根据文档的解释, Activity是 Android开发中非常重要的一个基础类。我把它想像 成J2Ⅶ中的 Display类,或者是Win32平台上的Form类,也许不准确,但是它的重要性 我觉得应该是一样的(当然,如果我们写的是一个没有界面的应用,例如后台运行的服 务之类的,可以不用 Display的)。 1.在一个 Activity中使用多个vieW 如果把 Activity看作MvC中的 Control?它负责管理UI和接受事件(包括用户的输 入),虽然说一个 Activity通常对应一个屏幕,但事实上,我们是可以只用一个 Activity 管理多个不同的Vicw来实现简单的逻辑 首先,我们增加一个新的资源描述 layout/ second.xm1。 K?xmI version=1.0 encoding=utf 8?> KlinEarlayoutxmins:android=http://schemas.androidcom/apk/res/android android: orientation="vertical android: layout width=fill parent android: layout height="fill parent <lext view id=0@+id/txt android: layout width= fill parent android: layout height= wrap content android:text=" Hello中国 BUtton id=@+id/go2 android: layout width=wrap content android: layout height= wrap con tent android. text="back> KrequestFocus / </Button) K/Linearlayout> 除了一个“ Hello中国”以外,增加一个按钮可以返回前一个界面。然后,在代码中 我们要为he1lowo增加两个方法, setviewOne Command和 setviewtwoCommand,分别处 理一下在不同界面时,从资源里加载组件并为组件绑定一个事件处理器。 public void setviewOne O 日图 Button btn=(Button)findViewByIld(R id go btn. setOnClickListener(new View. OnClickListener( 白由 public void onClick(vicw v) 白由 helloTwo. this setContentView(R layout. second) helloTwo. this setView TwoCommando Button btnExit=(Button)findViewBy Id(R. id exit 白由 btnExit. setOnClickListener(new View. OnClickListenero i 白由 public void onClick(vicw v)I helloTwo. this finish public void setViewTwo Command O Button btnBack=(Button)findViewById(R id go2) 白由 btnBack. sctOnClickListcncr (new Vicw. OnClickListcnero i public void onClick(View v)I helloTwo. this. setContentView(R layout main) helloTwo. this set ViewOne Command O 最后,我们需要在 oncreate的时候,也就是启动后的main界面上设置一下按钮事 件处埋器。新的 oncrcatc方法如下 日田 public void onCreate( Bundle icicle){ super onCreate(icicle setTheme(android.R. style. Theme Dark) sctContcntVicw(. layout. main) setviewOne Command O 编译,运行,OK。 2.还是回到正道上,多个 Activity之间的跳转 Android中提供一个叫 Intent的类来实现屏幕之间的跳转,按文档的说法,似乎他 们也建议采用这种方法, Intent的用法比较复杂,现在我先看看它最简咩的用法。 先在应用中增加两个 Activity,这需要修改 Androidmanifest.xm1文件了,如下 K?xmI version=1.0 cncoding- utf-8?> Manifestxmins:android=http://schemas.androidcom/apk/res/android package=cn. sharetop android hello. three Application android: icon=@drawable/icon"> Activity class. HclloThrec" android: labcl-astring/app name> Kintent-filter> Action android: value="android intent. action. MAIn/> Kcategory android: value= android intent. category. LAUNCHER K/intent-filter> </ activity〉 Activity class=". HelloThreeB" android: label="@string/app name"> actlvlty K/application> manifest> 很简单,就是加一个标签而已,新标签的 class是. HellothreeB,显示的应用标题 与前一个 Activity一样而已,然后第二步就是修改一个 Hcllothrco类的实现,在 on Create方法中绑定按钮的事件处理器: public void onCreate(Bundle icicle)( super on Create(icicle) sctThemc(android.R style Theme Dark) setContentView(R layout main) setViewOne Command( public void sctVicwOncCommand O 日田

...展开详情
试读 67P Android(经典实例).
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
上传资源赚积分or赚钱
最新推荐
Android(经典实例). 38积分/C币 立即下载
1/67
Android(经典实例).第1页
Android(经典实例).第2页
Android(经典实例).第3页
Android(经典实例).第4页
Android(经典实例).第5页
Android(经典实例).第6页
Android(经典实例).第7页
Android(经典实例).第8页
Android(经典实例).第9页
Android(经典实例).第10页
Android(经典实例).第11页
Android(经典实例).第12页
Android(经典实例).第13页
Android(经典实例).第14页

试读结束, 可继续读6页

38积分/C币 立即下载 >