计算器第一版本
学习android手机开发有三天了,编写了一个计算器,很简单,只实现了加法运算,并没有做输入数据检测合法性,水平有限,以后会不断扩充我的计算器的
我来简要的介绍我的计算器:
这个界面有两个编辑框,一个Button按钮,一个TextView控件,当按下等于的时候,跳向另一个activity,显示结算结果,按下menu的时候,会有退出菜单选项。
下面说下这个计算器的文件结构
一共有两个activity,每个activity对应一个布局文件,所有的显示文字都是从strings.xml文件中取得。
总结:
1,为了处理按钮按下所要做出的反应,每个按钮都需要设置一个监听器,并把监听器绑定到按钮上
resultBtn.setOnClickListener(new ResultListener());
2,每一个activity都有一个布局文件,除了程序刚打开的那个activity外其余的都需要在AndroidManifest.xml中注册,activity对应布局文件的代码如下:
setContentView(R.layout.main);
3,通过intent.putExtra();在不同的activity之间传递数据。启动下一个activity。
Intent intent = new Intent();
intent.setClass(Caculate.this, ResultView.class);
intent.putExtra("onevalue",F_str);
intent.putExtra("twovalue",L_str);
Caculate.this.startActivity(intent);
intent.setClass(Caculate.this, ResultView.class);
intent.putExtra("onevalue",F_str);
intent.putExtra("twovalue",L_str);
Caculate.this.startActivity(intent);
4,所有的数据都是通过String类型接收,通过Java方式进行格式转换
Intent intent = getIntent();
String value1 = intent.getStringExtra("onevalue");
String value2 = intent.getStringExtra("twovalue");
int intone = Integer.parseInt(value1);
int inttwo = Integer.parseInt(value2);
String value1 = intent.getStringExtra("onevalue");
String value2 = intent.getStringExtra("twovalue");
int intone = Integer.parseInt(value1);
int inttwo = Integer.parseInt(value2);
5,添加菜单的方式(在按下menu的时候做出的反应)
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// TODO Auto-generated method stub
menu.add(0,1,1,R.string.exit);
menu.add(0,2,2,R.string.about);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
// TODO Auto-generated method stub
if(item.getItemId() == 1)
finish();
return super.onOptionsItemSelected(item);
}
public boolean onCreateOptionsMenu(Menu menu)
{
// TODO Auto-generated method stub
menu.add(0,1,1,R.string.exit);
menu.add(0,2,2,R.string.about);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
// TODO Auto-generated method stub
if(item.getItemId() == 1)
finish();
return super.onOptionsItemSelected(item);
}
作为一个新手来说,从这个程序中我学到了很多东西,比如不同activity之间的切换,数据传输,菜单的生成等,个人感觉android手机开发比C#开发难度上大也比较复杂,Eclipse没vs2008那么容易上手,所以学习起来就比较的慢,相信经过一段时间之后会慢慢的习惯这中开发模式和方式
看视频是我学习android开发的首要方法,继续看视频,丰富我的计算器功能,期待下次功能更丰富,界面更漂亮的android版本计算器吧!