1 在1。5的android中,可以指定edittext中只输入数字,比如可以这样,就弹出小键盘了:
android:inputType="numberDecimal",这样还可以接受输入包含小数点的数字了。

2 读取资源文件中的内容
result.setText(getText(R.String.bmi_result));
注意使用getText函数,读取资源文件中的内容.


3 做一个象”关于我们“的对话框:
new AlertDialog.Builder(Bmi.this)
.setTitle(R.string.about_title)
.setMessage(R.string.about_msg)
.setPositiveButton("确认",
new DialogInterface.OnClickListener(){
public void onClick(
DialogInterface dialoginterface, int i){
}
})
.show();

4 toast组件:显示短的提示消息,过几秒之后就消失:
Toast.makeText(Bmi.this, "关于我们", Toast.LENGTH_SHORT).show();
5 url的打开
new AlertDialog.Builder(Bmi.this)
.setNegativeButton(R.string.homepage_label,
new DialogInterface.OnClickListener(){
public void onClick(
DialogInterface dialoginterface, int i){
//go to url
Uri uri = Uri.parse("http://sites.google.com/site/gasodroid/");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
})
.show();
也可以把URI写到资源文件中去,
Uri uri=uri.parase(getString(R.string.homepage_uri));

6 menu菜单
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.add(0, MENU_ABOUT, 0, "关于").setIcon(R.drawable.help_browser);
menu.add(0, MENU_Quit, 0, "结束").setIcon(R.drawable.emblem_unreadable);
return super.onCreateOptionsMenu(menu);
}
处理menu的点击动作
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);
}
7 <activity android:name=".Bmi"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>、
这里指出了启动的类是Bmi这个类,,<intent-filter>讲明了这个程序的性质,其中
<action android:name="android.intent.action.MAIN" />讲明了这个BMI是程序的切入点,
<category android:name="android.intent.category.LAUNCHER" />讲明这个出现在程序的lanucher列表中

8 intent之间传递数据
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);
接收信息:
Bundle bunde = this.getIntent().getExtras();
double height = Double.parseDouble(bunde.getString("KEY_HEIGHT"))/100;
9 使用状态拦信息
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;

NotificationManager barManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

Notification barMsg = new Notification(
R.drawable.icon_128,
"HI",
System.currentTimeMillis()
);

barMsg.defaults |= Notification.DEFAULT_SOUND;
//barMsg.defaults |= Notification.DEFAULT_ALL;

PendingIntent contentIntent = PendingIntent.getActivity(
this,
0,
new Intent(this, Bmi.class),
PendingIntent.FLAG_UPDATE_CURRENT);

barMsg.setLatestEventInfo(
Report.this,
"HI",
"OK",
contentIntent);

barManager.notify(0, barMsg);

NotificationManager barManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
声明管理器,
Notification barMsg = new Notification(
R.drawable.icon_128,
"HI",
System.currentTimeMillis()
);
中声明提醒信息,System.currentTimeMillis()表示立刻显示;
barMsg.setLatestEventInfo(
Report.this,
"HI",
"OK",
contentIntent);
这里是添加状态栏的详细信息,这里的“HI”是显示的主题,第三个参数,这里的‘OK’是说明,
contentIntent这个参数指明当点状态栏时,相应打开的intent.

10 保存优先级的设置:
private void restorePrefs() {
SharedPreferences settings = getSharedPreferences(PREF, 0);
String pref_height = settings.getString(PREF_HEIGHT, "");

}
这里是找系统中是否以"BMI_PREF"字符串作为文件名的优先级设置的文件,有的话,以settings做为代号来操作
当用户离开activity时,把值进行保存,重写onPause()函数:
super.onPause();
// Save user preferences. use Editor object to make changes.
SharedPreferences settings = getSharedPreferences(PREF, 0);
settings.edit()
.putString(PREF_HEIGHT, field_height.getText().toString())
.commit();

11 多语言界面并存:
比如原来的是英文,则res目录下放values,中文的话,在res目录下再放一个values-zh-rTW
其中zh是主语系,-r是必须的,后面跟分支
Resources res = getResources();
Configuration conf = res.getConfiguration();
conf.locale = Locale.TRADITIONAL_CHINESE;
DisplayMetrics dm = res.getDisplayMetrics();
res.updateConfiguration(conf, dm);
这里是强制使用中文界面,在程序中,针对不同语言提供不同的界面:
if (conf.locale==Local.TRADITIONAL_CHINESE)
12 Spinner下拉菜单中的选择事件:

field_feet.setOnItemSelectedListener(getFeet);
private Spinner.OnItemSelectedListener getFeet = new Spinner.OnItemSelectedListener() {
public void onItemSelected(AdapterView parent, View v, int position, long id) {
。。。。。。
}
public void onNothingSelected(AdapterView parent) {
}
};

更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. Android(安卓)Files的文件读取解析+代码案例
  4. Android程序中使用java代码控制UI界面
  5. Android(安卓)双缓冲 使用 示例
  6. Android——SimpleExpandableListAdapter(收集)
  7. 关于havlenapetr-FFMpeg在Android(安卓)4.0(ICS)的补充说明
  8. Android欢迎界面
  9. android 获取服务器json数据

随机推荐

  1. Android(安卓)管理和组织首选项 (Prefere
  2. [hessdroid]Android下使用Hessian与Java
  3. 动态下发 so 库在 Android(安卓)APK 安装
  4. android windowManager
  5. Android(安卓)使用AsyncTask后台线程实现
  6. Android(安卓)自动编译、打包生成apk文件
  7. BitRaser for Mobile iOS和Android移动设
  8. Android智能硬件开发心得总结(一)
  9. 详解Android广播机制
  10. Android基础入门知识