`

android学习小结2

阅读更多

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
0
分享到:
评论

相关推荐

    Android实习总结

    android实习日记总结,面很窄,以前做的练习项目的实用性也不是很好。让我知道了一个人的知识和能力只有在实践中才能发挥作用,才能得到丰富、完善和发展。大学生成长,就要勤于实践,将所学的理论知识与实践相结合一起...

    Android知识系统总结+最佳学习线路图+实例+全程开发笔记

    Android知识系统总结+最佳学习线路图+实例+全程开发笔记Android知识系统总结+最佳学习线路图+实例+全程开发笔记

    Android知识系统总结

    其次,Android学习笔记可能是对Android SDK、API级别的详细解析,或者是特定主题的深入探讨,比如Activity生命周期、Intent机制、权限管理、动画效果、布局优化等。这些笔记有助于巩固理论知识,并提供快速查找和...

    ANDROID STUDIO 个人学习笔记

    2. Android颜色设置 - 学习如何在Android应用中设置和使用颜色,颜色的定义和应用是Android UI设计的基本元素。 3. Android Manifest文件配置 - 关于`android:supportsRtl="true"`属性的使用,这表示应用程序支持...

    开发android总结文档

    【Android 开发总结】 在 Android 开发中,个人经验总结主要涵盖了项目构建、MVP 架构模式、MD5.0 设计规范、Lambda 表达式以及网络请求框架的选择和使用。首先,创建 Android 项目时,通常会设置最大堆内存大小,...

    Android页面布局总结

    2. **宽度和高度**:`android:layout_width`和`android:layout_height`这两个属性用于指定视图的大小。`wrap_content`用于使视图的大小适应其内容,而`match_parent`(等同于`fill_parent`)则使视图填充整个父容器...

    android开发笔记总结

    ### Android开发笔记总结 #### 学习基础 在深入探讨Android开发之前,我们先回顾一下基础知识,这是构建高质量Android应用程序的基石。 - **Java基础知识**:Android应用开发主要基于Java语言,因此熟悉Java是...

    android学习日记-2 ASM android底层

    总结,这篇“Android学习日记-2 ASM android底层”探讨了如何利用ASM这个强大的字节码框架,对Android应用进行底层操作,包括但不限于源码分析、性能优化和代码混淆。通过示例程序“MethodVisitDemo”,读者可以学习...

    《JAVA和ANDROID开发学习指南 第2版》PDF

    总结来说,《JAVA和ANDROID开发学习指南 第2版》是一本集理论与实践于一体的优秀教材,它不仅涵盖了Java语言的基础与进阶,也全面讲解了Android应用开发的各个方面。无论你是准备踏入这个领域的新人,还是希望巩固和...

    Android自学笔记

    【Android自学笔记】 Android 应用开发是移动设备软件开发的重要领域,主要针对谷歌的Android操作系统。本笔记将概述Android应用开发的基础知识,包括环境搭建、应用构成、apk解析、Activity管理和生命周期等。 ...

    学习Android总结

    ### 学习Android总结 #### 一、初步接触与学习路径 在初步接触Android时,首先感受到的是其独特的魅力和实用性。与Web开发相比,Android界面设计不仅具有丰富的视觉效果,而且在架构上也十分相似,这使得具备一定...

    Android技术总结

    Android 技术总结 在深入探讨 Android 技术之前,我们先回顾一下“Hello, World!”这个经典案例,它是每个编程新手入门时的第一个程序。在 Android 中,创建一个简单的 HelloWorld 应用同样简单,但涉及到了一些...

    Android动画学习总结Demo

    在Android开发中,动画是提升用户体验的关键因素,它能让应用变得更加生动有趣。本文将深入探讨Android动画中的`AnimationSet`和`RotateAnimation`类,帮助开发者掌握这些基本用法。 一、AnimationSet:动画组合 `...

    android framework 经验总结

    这篇“Android Framework经验总结”将深入探讨这一关键领域的核心概念、主要组件以及常见开发实践。 1. **Android架构概述**: Android系统分为四个主要层次:Linux内核、系统库、Android运行时(ART)以及应用...

    Android动画学习总结---下

    这篇"Android动画学习总结---下"着重探讨了Android属性动画(Property Animation)的使用方法。属性动画系统是Android 3.0(API Level 11)引入的新特性,与视图动画(View Animation)相比,它提供了更为强大的动画...

    Android开发学习总结

    Android开发学习总结

Global site tag (gtag.js) - Google Analytics