- Bundle类用作携带数据,它类似于Map,用于存放key-value名值对形式的值。
- 相对于Map,它提供了各种常用类型的put/get方法
联系:get()方法用于从Bundle对象里获取数据。Bundle的内部实际上是使用了HashMap类型的变量来存放put()方法放入的值
- 活动体传递参数:
注意第一个参数是类对象,第二个参数是类。 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { ....... Button button =(Button) this.findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener(){ //点击该按钮会打开一个新的Activity public void onClick(View v) { //新建一个显式意图,第一个参数为当前Activity类对象 //第二个参数为你要打开的Activity类 startActivity(new Intent(MainActivity.this, NewActivity.class)); }}); } }
- 份额很大但Android的缺点明显:
- Google提供了一套Java核心包(J2SE 5,J2SE 6)的有限子集,尚不承诺遵守Java任何Java规范,可能会造成Java阵营的进一步分裂。
现有应用完善度不太够,需要的开发工作量较大。
模拟器调试手段不十分丰富,速度慢。 - UI事件处理与布局管理
认识View
所有高级UI组件都继承View类而实现的
一个View在屏幕上占据一块矩形区域
负责渲染
负责处理发生的事件
设置是否可见
设置是否可以获得焦点等
- 事件处理机制
控件事件通过设置其控件的监听器来监听并处理事件
按键按下事件:通过重写onKeyDown方法
按键弹起事件:通过重写onKeyUp方法
触笔点击事件:通过实现onTouchEvent方法
public class Activity01 extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获得Button对象
Button button_ok = (Button) findViewById(R.id.ok);
//设置Button控件监听器
button_ok.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v)
{
//这里处理事件
DisplayToast("点击了OK按钮");
}
});
}
- FrameLayout(框架布局)
此布局一般放一个组件,并且这个组件是靠左上角显示,
如果加入多个组件,那将会显示最上层的一个组件。
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="center"
android:src="@drawable/golden_gate"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip"
android:layout_gravity="center_horizontal|bottom"
android:padding="12dip"
android:background="#AA000000"
android:textColor="#ffffffff"
android:text="Golden Gate"
/>
</FrameLayout>