android(经典实例)

上传人:第*** 文档编号:61906390 上传时间:2018-12-14 格式:PDF 页数:67 大小:576.89KB
返回 下载 相关 举报
android(经典实例)_第1页
第1页 / 共67页
android(经典实例)_第2页
第2页 / 共67页
android(经典实例)_第3页
第3页 / 共67页
android(经典实例)_第4页
第4页 / 共67页
android(经典实例)_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《android(经典实例)》由会员分享,可在线阅读,更多相关《android(经典实例)(67页珍藏版)》请在金锄头文库上搜索。

1、Android 学习笔记让我们快速上手吧Android 学习笔记让我们快速上手吧 Google 的 Android SDK 发布也有一段时间了,一直想研究一下却苦于找不到时间。 利用这个周未,开始强迫自己再次进入学习状态,原因很简单:我看好开放的 gPhone。 SDK 的下载与安装并不复杂, 网上也有不少同学已经进入状态了, 我就不再重复了吧。 今天主要讨论的,还是永远不变的话题:Hello World. 1.最简单的 HelloWorld1.最简单的 HelloWorld 安装了 SDK 后,直接生成一个 Android Project,一句代码不用写,就能跑出一个最 简单的 HelloW

2、orld 例程。我们看一下它的代码: public void onCreate(Bundle icicle) super.onCreate(icicle); setTheme(android.R.style.Theme_Dark); setContentView(R.layout.main); 看上去实在很简单,只有两句话而已。关键在这个 R.layout.main 上,凭直觉,这 应该是定义的资源。的确,在 R.java 中只是定义了一个 static int 而已,真正的资源 描述在 res/layout/main.xml文件里(注意:这里的 R.java 不要手工编辑,每次 build

3、project 时它都会根据 res 下的资源描述被自动修改)。 这 个 文 件 很 好 读 , 一 个 描 述 了 这 是 一 个 线 性 排 列 的 布 局 , android:orientation=vertical 表示所有组件将纵向排布。而经典的 Hello World 是用 一个 TextView 来展示的。 由此,我们知道,Android 的程序从一个 Activity 派生出来,并且从它的 onCreate 开始启动;Android 里要显示的组件用 XML 文件描述而不用在代码中硬编码(这是一个好 的习惯,我们应该从一开始就坚持下去); 2.让 Button 来说 Hello

4、 World2.让 Button 来说 Hello World 上面的例子是 ADT 自动生成的代码,似乎与我们一点关系也没有。那我们来改一下代码, 因为在 windows 平台上的 Helloworld 经常是由一个按钮触发的,所以,我们想第二个 Helloworld 应该是这样的:加一个按钮和文本输入框,单击按钮后在原来的 TextView 后 面加上输入框中输入的文字。 第一步是,增加一个 Button 和一个 EditText,与 TextView 一样,它们也在 main.xml 里 描述一下: 这里有两个地方要注意:id=+id/go,这表示需要一个唯一的 UID 来作为 Butt

5、on 的 ID, 它的引用名是 go。还有一个是 android:text=string/go 表示这个按钮的文本不是直接 写有 main.xml 里了,而是来源于另一个资源描述文件 strings.xml 里,本例中的 strings.xml 如下: helloTwo 提示 你好,中国 确定 浏览 然后,在代码里(onCreate 函数中)我们加上以下代码(简单起见,用了嵌套类): Button btn = (Button)findViewById(R.id.go); btn.setOnClickListener(new View.OnClickListener() public void

6、onClick(View v) EditText edt=(EditText)helloTwo.this.findViewById(R.id.edt); TextView txt= (TextView)helloTwo.this.findViewById(R.id.txt ); txt.setText(getString(R.string.msg_dialog)+edt.getText(); ); 为铵钮增加一个 onClick 事件处理器,在点击事件中,设置 txt 的文本为 R.string.msg_dialgo+edt.getText()。 这里的关键是两个函数的使用: findView

7、ById(R.id.go)可以根据资源的名称加载 View 类型的资源,同样用函数 getString(R.string.msg_dialog)可以加载字符串资源。 编译,run 一下看看效果。 3. 再让菜单 Say Hello3. 再让菜单 Say Hello 从 API 文档中我们看到 Activity 中有两个函数:onCreateOptionsMenu 和 onOptionsItemSelected,显示,这个 OptionsMenu 就是所谓的上下文菜单(在 GPhone 的模拟器上,有个键专用于弹出这个菜单)。下面我们就为这个 HelloWorld 例子加上一 个菜单,并且让它可

8、以 Say hello。 这次,我们不涉及到资源的描述文件了,而是直接使用这两个函数来实现,其实代 码也很简单,所以,我们再增加一个退出应用的功能(否则每次都是按取消键退出应用 显示太不专业了)。 代码如下: public boolean onCreateOptionsMenu(Menu menu) super.onCreateOptionsMenu(menu); menu.add(0,1,“say hello“); menu.add(0,2,“exit“); return true; public boolean onOptionsItemSelected(Item item) super.

9、onOptionsItemSelected(item); int id = item.getId(); switch(id) case 1: AlertDialog.show(this,getString(R.string.app_name), getString(R.string.msg_dialog), getString(R.stri ng.ok_dialog), true); break; case 2: finish(); break; 在 CreateOptionsMenu 时,我们简单地增加两个菜单项,menu.add(组 ID,项 ID,显 示文本),(注意:这里我直接将文字写

10、在代码里,这并不提倡)。然后,在 OptionsItemSelected 事件中,我们根据选中的菜单项做相应处理,如果选中 1,则弹出 一个对话框显示资源文件中的“你好,中国”,如果选中 2 则退出应用。 AlertDialog.show 是一个静态方法,类似于我们在 WIN 平台上经常使用的 MessageBox 一样,很方便的。 来源:http:/ Android 学习笔记(2)初识 ActivityAndroid 学习笔记(2)初识 Activity 根据文档的解释,Activity 是 Android 开发中非常重要的一个基础类。我把它想像 成 J2ME 中的 Display 类,或者

11、是 Win32平台上的 Form 类,也许不准确,但是它的重要性 我觉得应该是一样的(当然,如果我们写的是一个没有界面的应用,例如后台运行的服 务之类的,可以不用 Display 的)。 1. 在一个 Activity 中使用多个 View1. 在一个 Activity 中使用多个 View 如果把 Activity 看作 MVC 中的 Control?它负责管理 UI 和接受事件 (包括用户的输 入) , 虽然说一个 Activity 通常对应一个屏幕, 但事实上, 我们是可以只用一个 Activity 管理多个不同的 View 来实现简单的逻辑。 首先,我们增加一个新的资源描述 layou

12、t/second.xml。 除了一个“Hello 中国”以外,增加一个按钮可以返回前一个界面。然后,在代码中 我们要为 helloTwo 增加两个方法,setViewOneCommand 和 setViewTwoCommand,分别处 理一下在不同界面时,从资源里加载组件并为组件绑定一个事件处理器。 public void setViewOneCommand() Button btn = (Button)findViewById(R.id.go); btn.setOnClickListener(new View.OnClickListener() public void onClick(Vie

13、w v) helloTwo.this.setContentView(R.layout.second); helloTwo.this.setViewTwoCommand(); ); Button btnExit=(Button)findViewById(R.id.exit); btnExit.setOnClickListener(new View.OnClickListener() public void onClick(View v) helloTwo.this.finish(); ); public void setViewTwoCommand() Button btnBack=(Butto

14、n)findViewById(R.id.go2); btnBack.setOnClickListener(new View.OnClickListener() public void onClick(View v) helloTwo.this.setContentView(R.layout.main); helloTwo.this.setViewOneCommand(); ); 最后,我们需要在 onCreate 的时候,也就是启动后的 main 界面上设置一下按钮事 件处理器。新的 onCreate 方法如下: public void onCreate(Bundle icicle) supe

15、r.onCreate(icicle); setTheme(android.R.style.Theme_Dark); setContentView(R.layout.main); setViewOneCommand(); 编译,运行,OK。 2. 还是回到正道上,多个 Activity 之间的跳转2. 还是回到正道上,多个 Activity 之间的跳转 Android 中提供一个叫 Intent 的类来实现屏幕之间的跳转,按文档的说法,似乎他 们也建议采用这种方法,Intent 的用法比较复杂,现在我先看看它最简单的用法。 先在应用中增加两个 Activity,这需要修改 AndroidMani

16、fest.xml文件了,如下: 很简单,就是加一个标签而已,新标签的 class 是.HelloThreeB,显示的应用标题 与前一个 Activity 一样而已,然后第二步就是修改一个 HelloThree 类的实现,在 onCreate 方法中绑定按钮的事件处理器: public void onCreate(Bundle icicle) super.onCreate(icicle); setTheme(android.R.style.Theme_Dark); setContentView(R.layout.main); setViewOneCommand(); public void setViewOneCommand() Button btn = (Button)findViewById(R.id.go); btn.setOnClickListener(new View.OnCli

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号