android学习笔记1(activity)

看教程也看了几天,基本上算是入门了,小总结一下

推荐一个系列教程:http://www.verycd.com/topics/2837883/

很好




Activity基本知识


 * 1.一个activity就是一个类,并且这个类必须继承Activity 

 * 2.必须override onCreate()

 * 3.必须在AndroidManifest.xml中注册每一个Activity

 * 4.为Activity添加必要的控件


在androidMainfest.xml中配置每一个activity,

如果某一个activity中配置了<intent-filter>,那么这个activity将会在程序运行时第一个启动







在Activity中获取页面中控件的值


一,在layout中添加各种控件之后并为每一个控件添加id属性

p:

<TextView  

    android:id="@+id/myTextView"

    android:layout_width="fill_parent" 

    android:layout_height="wrap_content" 

 />


二,然后在activity中可以使用

Button myb=(Button)findViewById(R.id.myButton);(返回值为view需要强制转换)

获取每一个控件







给控件添加事件监听器

写一个监听器类implements OnClickListener(view包)

并给控件注册监听器

myButton.setOnClickListener(new MyButtonListener());







Activity之间的跳转以及数值传送


一,activity1中发送data,并跳转

1.在activity1中定义一个intent对象,并为intent对象的属性set键值对

p:

Intent intent =new Intent();

intent.putExtra("testIntent", "传值");//key value

2.指定要跳转的位置

intent.setClass(Activity1.this, Activity2.class);//参数1是自身.参数2为目标activity的class

3.开始跳转

Activity1.this.startActivity(intent);

二,activity2中接受data

p:

Intent intent=getIntent();

String value=intent.getStringExtra("testIntent");






为程序添加各种菜单

方法:

在activity中重写onCreateOptionsMenu方法

 

p:

@Override

public boolean onCreateOptionsMenu(Menu menu) {

    menu.add(0,1,1,R.string.exit);

    menu.add(0,1,2,R.string.about);

return super.onCreateOptionsMenu(menu);

}


 

为菜单添加退出事件

方法同上,

P;

@Override

public boolean onOptionsItemSelected(MenuItem item) {

    //当点击的菜单是退出的时候

    if(item.getItemId()==2){

    //调用退出方法

    finish();

    }

    return super.onOptionsItemSelected(item);

}






错误以及解决方法:


 ERROR: the user data image is used by another emulator. aborting 

 删除android-sdk-windows/.android/avd/xx/下的以.lock结尾的文件夹


 qemu: could not open disk image C:/Users/user/.android/avd/2.0.avd/sdcard.img   

 解决:

 因为如果两个模拟器用的同一个sd的镜像文件,同时间内只能起一个模拟器,模拟器在配置sd卡时,会把sd文件锁住, 所以其他模 拟器用的时候就会出错。        如果是不同的sd卡就没什么问题了。    :关掉所有模拟器,只开一个。如果不行,多 试几次。




应该注意的地方

控件.setText("此处必须是String");


EditText的getText()放回不是String,需要toSting();


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值