android学习小结3

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) {
        }
    };

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值