技术开发 频道

开发者必知Ophone程序设计四部曲

  三、Ophone程序代码实现

  再来分析用户的需求,我们可以发现,在体重参考和身高参考两个界面中,唯一不同的地方就是计量单位不同,一个是输入身高输出体重参考,一个是输入体重输出身高参考;健康参考界面和前两个界面的差别略大。完成该程序的流程如图2-2所示。

三、Ophone程序代码实现
▲图2-2 完成该程序的流程

  先不要忙着想界面的切换,我们首先做一个单界面的程序,用来实现用户的第一个需求:根据体重给出身高的正常范围。通过这个程序的编写,我们可以熟悉界面设计、控件响应、方法调用。

  在新建一个工程之后,双击res/layout/main.xml文件,出现可视化XML编辑器界面。将控件拖入屏幕区域,实现如图2-3所示结构,用鼠标右键单击该控件选择“Properties”,可以设置控件属性。这里LinearLayout01的orientation是垂直的(Vertical),LinearLayout02是水平的(Horizontal)。可以通过设置控件的Text属性来修改控件上显示的文字,将EditText01的Input Type属性改成Input type numberDecimal,使其只能输入数字(含小数),在代码中无需进行数字字符判断。编辑完成后,界面效果如图2-4所示。

三、Ophone程序代码实现
▲图2-3 程序界面结构

三、Ophone程序代码实现
▲图2-4 程序界面效果

  运行该工程,就可以看到界面,但是单击“查看”按钮什么都没有发生。而且在单选按钮中选项都没有被选中。我们回到Eclipse中,将RadioButton01的Checked属性选择为True,并在代码编辑器窗口填写下列代码:

  @Override

  
public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  
String[] str={"",""};

  final Spinner gender
= (Spinner) findViewById(R.id.Spinner01);

  ArrayAdapter adapter
= new ArrayAdapter(

  this, android.R.layout.simple_spinner_item, str);

  adapter.setDropDownViewResource(android.R.

  layout.simple_spinner_dropdown_item);

  gender.setAdapter(adapter);

  Button button
= (Button)findViewById(R.id.Button01);

  button.setOnClickListener(
new View.OnClickListener(){

  
public void onClick(View v) {

  TextView tv
= (TextView)findViewById(R.id.TextView01);

  EditText data
= (EditText)findViewById(R.id.EditText01);

  RadioButton kg
= (RadioButton)findViewById(R.id.RadioButton01);

  float wt
=Float.valueOf(data.getText().toString());

  float h1,h2;

  
if (!kg.isChecked()) wt=(float) (wt/2.2);

  
if(gender.getSelectedItem().toString().equals("")) {

  h1
= (float) (wt*0.9+100);

  h2
= (float) (wt*1.1+100);

  }
else {

  h1
= (float) (wt*0.9+105);

  h2
= (float) (wt*1.1+105);

  }

  tv.append(
"身高范围是:"+String.valueOf(h1)+"米--"+

  
String.valueOf(h2)+""+"\n");

  }

  });

  }

 

  运行工程,可以看到如图2-5所示结果。

三、Ophone程序代码实现
▲图2-5 单界面程序运行结果

0
相关文章