Android开发初体验

这两天终于下定决心把书看起来了,在搭好开发环境后接触了第一个除了Hello World的Android初学小例,对基于Eclipse的Android编程有了一个框架性的粗浅认识。

使用的书是人民邮电出版社《Google Android开发入门指南(第二版)》。菜鸟踏出了第一步!

《Google Android开发入门指南(第二版)》源代码下载地址:

免费下载地址在

用户名与密码都是

具体下载目录在 /pub/2011/09/03/Google Android开发入门指南(第二版)源代码/

开发手记:

版本v1.8.6.3.40

功能更新:

1.增加MENU菜单

2.修改关于对话框和一键登录微博功能移至菜单

3.增加菜单中退出程序功能

4.修改计算结果和建议移至下一面板

5.超重时状态栏提示功能

Android开发初体验


Android开发初体验




版本v1.8.5.10.52

功能更新:

1.增加输入框为空时用户提示

2.增加按钮呼出关于对话框功能

3.增加一键登录微博功能

Android开发初体验


Android开发初体验




版本v1.8.4.21.11

测试平台:Android1.5 HVGA

功能特性:

1.计算常人体质指数并给出建议

Android开发初体验



JAVA源代码

版本v1.8.6.3.40

 

//Bmi.java  

 

package com.demo.android.bmi;      import java.net.URISyntaxException;   import java.text.DecimalFormat;      import android.app.Activity;   import android.app.AlertDialog;   import android.content.DialogInterface;   import android.content.Intent;   import android.net.Uri;   import android.os.Bundle;   import android.view.Menu;   import android.view.MenuItem;   import android.view.View;   import android.view.View.OnClickListener;   import android.widget.Button;   import android.widget.EditText;   import android.widget.TextView;   import android.widget.Toast;      public class Bmi extends Activity {       /** Called when the activity is first created. */       @Override       // 重写函数        public void onCreate(Bundle savedInstanceState) {           super.onCreate(savedInstanceState);// 原方法调用            setContentView(R.layout.main);// 显示在屏幕上               // Listen for button clicks            // findViewById方法取得按钮组件,为保持与XML文件描述类型一致作强制转换            Button button = (Button) findViewById(R.id.submit);           button.setOnClickListener(calcBMI);       }          private OnClickListener calcBMI = new OnClickListener() {           public void onClick(View v) {               /*               * DecimalFormat nf = new DecimalFormat("0.00");// 定义双精度浮点数                * try {               * EditText fieldheight = (EditText) findViewById(R.id.height);// 取数               * EditText fieldweight = (EditText) findViewById(R.id.weight);// 取数               * double height = Double.parseDouble(fieldheight.getText()               * .toString()) / 100; double weight =               * Double.parseDouble(fieldweight.getText() .toString()); double BMI               * = weight / (height * height);               *                * TextView result = (TextView) findViewById(R.id.result);               * result.setText("您的��质指数BMI值为:" + nf.format(BMI)); //               * 这里我一开始用"@string/bmi_result",后来用R.string.bmi_result,结果都不行,估计和+号有关系               *                * TextView fieldsuggest = (TextView) findViewById(R.id.suggest);//               * 取得控件 if (BMI > 25) { fieldsuggest.setText(R.string.advice_heavy);               * } else if (BMI < 20) {               * fieldsuggest.setText(R.string.advice_light); } else {               * fieldsuggest.setText(R.string.advice_average); } } catch               * (Exception obj) { Toast.makeText(Bmi.this, "真傲娇,两个空都要填满的!",               * Toast.LENGTH_LONG) .show(); // 自动隐去型面包板,作用于提示很友好 } }               */               // 以上第一版第二版点击按钮计算BMI值                // 以下第三版点击按钮跳转到报告页面                               EditText field_height = (EditText) findViewById(R.id.height);// 取数                EditText field_weight = (EditText) findViewById(R.id.weight);// 取数                if("".equals(field_height.getText().toString())||"".equals(field_weight.getText().toString()))                   {                   Toast.makeText(Bmi.this"别傲娇,两个空都要填满的!",Toast.LENGTH_LONG) .show();                   }               else{               Intent intent = new Intent();               intent.setClass(Bmi.this, Report.class);               Bundle bundle = new Bundle();               bundle.putString("KEY_HEIGHT", field_height.getText().toString());               bundle.putString("KEY_WEIGHT", field_weight.getText().toString());               intent.putExtras(bundle);               startActivity(intent);               }           }       };       protected static final int MENU_ABOUT = Menu.FIRST;       protected static final int MENU_Quit = Menu.FIRST + 1;          @Override       public boolean onCreateOptionsMenu(Menu menu) {// 创建菜单            // TODO Auto-generated method stub            super.onCreateOptionsMenu(menu);           menu.add(0, MENU_ABOUT, 0"关于...").setIcon(                   android.R.drawable.ic_menu_info_details);           menu.add(0, MENU_Quit, 0"退出").setIcon(                   android.R.drawable.ic_menu_close_clear_cancel);           return super.onCreateOptionsMenu(menu);       }          @Override       public boolean onOptionsItemSelected(MenuItem item) {// 处理菜单选项动作            // TODO Auto-generated method stub            switch (item.getItemId()) {           case MENU_ABOUT:               OpenOptionsDialog();               break;           case MENU_Quit:               finish();               break;           }           return super.onOptionsItemSelected(item);       }          private void OpenOptionsDialog() {           new AlertDialog.Builder(Bmi.this).setTitle(R.string.about_title)// 设置标题                    .setMessage(R.string.about_msg)// 设置内容                    .setPositiveButton(R.string.ok_label,                           new DialogInterface.OnClickListener() {                               public void onClick(                                       DialogInterface dialoginterface, int i) {// 函数体空,点击即关闭                                }                           })// 添加确认按钮                    .setNegativeButton(R.string.homepage_label,                           new DialogInterface.OnClickListener() {                               public void onClick(                                       DialogInterface dialoginterface, int i) {                                   Uri uri = Uri                                           .parse(getString(R.string.homepage_uri));                                   // 注意:这里网址一定要有,否则坑爹的FOCUS又来                                    Intent intent = new Intent(Intent.ACTION_VIEW,                                           uri);                                   startActivity(intent);                               }                           })// 添加去往主页按钮                    .show();// 显示        }  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwgdfx.html