目录

  • 1 Android说课
    • 1.1 课程简介
    • 1.2 课程的定位与目标
    • 1.3 课程的设计理念与思路
    • 1.4 课程内容的选取与教学组织的安排
    • 1.5 课程的教学模式与教学方法
    • 1.6 课程教学资料
    • 1.7 课程特色
  • 2 Android项目结构
    • 2.1 项目开发
  • 3 Button的用法
    • 3.1 Button的用法
    • 3.2 内部类方法处理按钮单击事件
  • 4 Android入门
    • 4.1 Android的发展史
    • 4.2 Android的系统构架
    • 4.3 搭建Android开发环境
    • 4.4 创建Android应用程序
  • 5 Activity初步
    • 5.1 Activity启动流程
    • 5.2 Activity与布局文件间的关系
    • 5.3 Activity当中获取代表控件对象
  • 6 AcitonBar与菜单
    • 6.1 ActionBar的作用
    • 6.2 各版本的菜单对比
  • 7 控件布局
    • 7.1 控制布局的概念
    • 7.2 相对布局管理器
  • 8 Activity详解
    • 8.1 Actibity初步
    • 8.2 认识Intent
  • 9 列表控件
    • 9.1 Android列表用途
    • 9.2 用ArrayAdapter显示数据
    • 9.3 列表项布局设计
    • 9.4 下拉视图Spinner
  • 10 对话框
    • 10.1 Toast提示框
    • 10.2 Dialog对话框
    • 10.3 特色对话框
    • 10.4 自定义对话框
    • 10.5 构建Notification
  • 11 Service
    • 11.1 关于service
    • 11.2 范例:定义后台服务
    • 11.3 剪贴板服务
  • 12 Android线程
    • 12.1 message,looper, handler类的关系
    • 12.2 范例:消息传递 —— 自动更新文本
  • 13 Pending Intent
    • 13.1 认识PendingIntent
    • 13.2 范例:发送通知 —— Notification
  • 14 广播机制:Broadcast
    • 14.1 范例:广播组件的定义结构
  • 15 存储数据
    • 15.1 SharedPreferences存储
    • 15.2 文件存储
    • 15.3 SQLite数据库存储
    • 15.4 ContentProvider存储
    • 15.5 网络存储
Activity当中获取代表控件对象





为了满足动态显示的需要,写死在布局文件里的控件显然是不行的。因此我们用代码取代布局,如图所示。这样就可以动态的控制控件的样式。

下面这行就是获取代表控件的对象:

1TextView textView = (TextView)findViewById(R.id.textView)

每一种控件都对应有一个类,View是所有控件的父类。.在Activity中获取代表View的对象首先,我们需要在layout文件里给控件加上一个唯一的ID:android:id="@+id/textView"

然后,在Activity里声明这个控件:private TextView textView;注:这里需要引用textView所在的包import android.widget.TextView;在Activity的函数里用findViewById获取这个View,由于findViewById函数的返回类型是View,所以需要向下转型为TextView:注:这里不是生成对象,只是找到这个对象,对象的生成是由布局文件完成的。textView = (TextView)findViewById(R.id.textView);设置View的属性转型完毕以后可以在Activity中对这个控件进行修改,控制它的属性。例如:textView.setText(“hello world”);textView.setBackgroundColor(Color.BLUE);在布局里能做到的事情绝大部分代码里也能做到。为View设置监听器,监听器也是一种对象,它监控着控件对象状态的变化。当控件遇到了某种事件,被点击了,被滑动了等等,控件会通知监听器,监听器得到通知之后就执行一些操作。控件与监听器之间是绑定关系。一个控件可以绑定多个监听器,不同的监听器用来响应不同的事件。比如监听器一用来响应点击事件,监听器二用来响应长点击事件……

我们以做一个计数器的应用为例,设计一个按键和一个文本框,每点击一下按钮,文本框里的数字加1。用这个例子来说明使用监听器的步骤:1)获取代表控件的对象首先,我们在布局文件里加一个Button和TextView,TextView初始值0。

我们以做一个计数器的应用为例,设计一个按键和一个文本框,每点击一下按钮,文本框里的数字加1。用这个例子来说明使用监听器的步骤:

1)获取代表控件的对象首先,我们在布局文件里加一个Button和TextView,TextView初始0。01<TextView02android:id="@+id/textView"03 android:layout_width="wrap_content"04android:layout_height="wrap_content"05 android:textSize="40sp"06android:background="#FF0000"07android:text="0" />08<Button09 android:id="@+id/button"10android:layout_width="wrap_content"11android:layout_height="wrap_content"12android:text="Click Me"13 />再到Activity里引入包,声明它1private Button button;并获取它1button = (Button)findViewById(R.id.button);

2)定义一个类,实现监听器接口我们在activity里定义一个监听器,要使用一个内部类,并实现监听器接口OnClickListener1class ButtonListener implements OnClickListener{2      3}要注意的是,在导入包(CTRL+SHIFT+O)的时候,会弹出一个对话框让你选择引入哪个包,我们选择View.OnClickListener。

Finish之后,我们要实现OnClickListener这个接口的抽象方法,在前面打叉的灯泡上点击会弹出你需要的操作:直接点击Add unimplemented methods,Eclipse帮你完成抽象方法的复制,这个抽象方法就是onClick:1@Override2public void onClick(View v) {3// TODO Auto-generated method stub这个方法的作用是,当我们把ButtonListener监听器绑定到Button控件上后,当Button被点击时,会执行这个onClick方法。声明一个全局变量1int count=0;接着我们完成onClick函数1@Override2public void onClick(View v) {3count++;4textView.setText(count+"");5}至此,我们的监听器就写好了。3)生成监听器对象在onCreate函数里生成监听器对象:1ButtonListener buttonListener = new ButtonListener();4)为控件绑定监听器对象然后绑定到button上1button.setOnClickListener(buttonListener);完成。在Android里监听器种类非常多,而且不同控件监听的方法也不一样,但使用监听器的流程永远是这个流程。