看教程也看了几天,基本上算是入门了,小总结一下
推荐一个系列教程: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();