Android学习笔记—开发组件3

  1. 通知类组件

    (1)Toast组件:一般出现在屏幕下方,黑色边框,显示一段时间自动消失,不会打断用户操作。

    场景:下载完成、更新完成、充电结束、安装成功等

    Toast.makeText(this,"下载完成",Toast.LENGTH_SHORT).show();

    (2)Notification组件:状态栏上的通知

    特性:具有全局效果的通知,时效性不强。

    场景:短信、未接电话、下载等。

    //获取通知管理器NotificationManager对象

    mNitificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);

    //创建通知对象

    Notification notification = new Notification(R.drawable.xxx,"xxx",System.currentTimeMillis());

    //设置具体的跳转

    Intent intent = new Intent(this,SecondActivity.class);

    //设置下拉后的点击跳转

    PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,0);

    //设置下拉显示

    notification.setLatestEventInfo(this,"10086","欠费...",pendingIntent );

    //发送通知

    mNotificationManager.notify(NOTIFYID_1,notification);

    //设定点击后状态栏通知自动消失

    notification.flags = Notification.FLAG_AUTO_CANCEL;

    //取消通知

    mNotification.cancel(NOTIFYID_1);  //清除ID号为NOTIFYID_1的通知

    mNotification.cancelAll();         //清除全部通知

    清单文件中添加权限

    //闪光灯权限

    android.permission.FLASHLIGHT

    //振动器权限

    android.permission.VIBRATE

    (3)Dialog组件:对话框组件

    场景:是否退出、是否安装、是否付费

    特性:打断用户操作

    方式一:

    //得到AlertDialog建设类的对象

    AlertDialog.Builder bulider = new AlertDialog.Builder(this);

    //设置对话框的一些基本属性

    builder.setTitle("xxx");

    builder.setMessage("xxx");

    //添加对应按钮选项

    builder.setPositiveButton("确定",null);

    builder.setNegativeButton("取消",null);

    //创建AlertDialog类型的对象

    AlertDialog alertDialog = builder.create();

    //显示对话框

    alertDialog.show();

    方式二:

    showDialog(int id);

    重写onCreateDialog(int id)

  2. 进度条组件

    (1)ProgressBar组件:水平进度条

    setMax():设置总进度

    setProgress():设置当前进度

    setSecondaryProgress():设置第二进度

    (2)SeekBar组件:可拖拽水平进度条

    setOnSeekBarChangeListener:设置拖拽监听

    (3)RatingBar组件:评分进度条

    setNumStars():设置星星总数

    setRating():设置星星选中个数

  3. 日期时间类组件

    (1)AnalogClock组件

    (2)DigitalClock组件

    (3)TimePickerDialog时间选择对话框

    //获取日历对象

    Calendar calender = Calender.getInstance();

    TimePickerDialog timePickerDialog = new TimePickerDialog(this,new OnTimeSetListener(){

    @Override

    public void onTimeSet(TimePicker view, int hourOfDay, int minute){

    }

    },calendar.get(Calender.HOUR),calendar.get(Calendar.MIMUTE),true);

    timePickerDialog.show();

    (4)DatePickerDialog日期选择对话框

    DatePickerDialog datePickerDialog = new DatePickerDialog(this,new OnDateSetListener(){

    @Override

    public void onDateSet(DatePicker view,int year,int monthOfYear,int dayOfMonth){

    }

    },0,0,0);

    datePickerDialog.show();

时间: 2024-10-08 02:46:41

Android学习笔记—开发组件3的相关文章

Android 学习笔记 6 组件通信及广播消息(一)

Intent的概念 Intent的官方解释是“An Intent is a messaging object you can use to request an action from another app component. ”这里的app component就是指安卓activity,service,contentprovider,broadcastreceiver四大组件.不同的intent可以使这些组件产生相应的动作,为这些组件之间提供了交互能力.那么这个“messaging obj

Android 学习笔记 7 组件通信及广播消息(二)

Intent隐式启动Activity 隐式启动的好处在于不需要在第一个组件中指明需要启动另外的哪一个组件,而由Android系统来决定,这样有利于降低组件之间的耦合度. 选择隐式启动Activity,Android系统会在程序运行时解析Intent,并根据一定的规则对Intent和组件进行匹配,使Intent上的action.data和category与目标Activity吻合.匹配的组件可以是程序本身的Activity,也可以是Android系统内置的Activity,还可以是第三方应用程序提

Android学习笔记 - 开发环境配置问题记录

Ubuntu 12.04 上开发环境的配置方法就不在这里赘述了,直接去Google的开发者官网看就行了.这里主要记录个人在环境配置时遇到的问题和解决办法. 官网文档:http://source.android.com/source/initializing.html 手册中Installing required packages (Ubuntu 12.04)一部中安装包 libgl1-mesa-glx:i386 会提示依赖错误: 下列软件包有未满足的依赖关系: libgl1-mesa-glx:i

Android学习笔记_78_ Android开发中使用软引用和弱引用防止内存溢出

在<Effective Java 2nd Edition>中,第6条"消除过期的对象引用"提到,虽然Java有 垃圾回收机制,但是只要是自己管理的内存,就应该警惕内存泄露的问题,例如的对象池.缓存中的过期对象都有可能引发内存泄露的问题.书中还提到可以用 WeakHashMap来作为缓存的容器可以有效解决这一问题.之前也确实遇到过类似问题,但是没有接触过"弱引用"相关的问题,于是查阅了一些资料. <Java 理论与实践: 用弱引用堵住内存泄漏>

九、Android学习笔记_ Android开发中使用软引用和弱引用防止内存溢出

在<Effective Java 2nd Edition>中,第6条"消除过期的对象引用"提到,虽然Java有 垃圾回收机制,但是只要是自己管理的内存,就应该警惕内存泄露的问题,例如的对象池.缓存中的过期对象都有可能引发内存泄露的问题.书中还提到可以用 WeakHashMap来作为缓存的容器可以有效解决这一问题.之前也确实遇到过类似问题,但是没有接触过"弱引用"相关的问题,于是查阅了一些资料. <Java 理论与实践: 用弱引用堵住内存泄漏>

【转】Pro Android学习笔记(十三):用户界面和控制(1):UI开发

目录(?)[-] UI开发 方式一通过XML文件 方式二通过代码 方式三XML代码 UI开发 先理清一些UI概念: view.widget.control:这三个名词其实没有什么区别,都是一个UI元素,例如一个button.Container(容器):包含其他view,例如grid可以认为是容器,它有cell,每个cell可以是一个view.Layout: 对容器们和view们的排版,可以包含其他layout. Android提供常用的UI(例如文字框)以及适合移动设备的控制,基础类为andro

Android学习笔记(二):搭建安卓开发环境

① 下载 JDK 5 or JDK 6 (JRE alone is not sufficient) ->安装->设置环境变量JAVA_HOME CLASSPATH path 下载地址:Download JDK ② 下载 Eclipse 3.3 (Europa), 3.4 (Ganymede) IDE for JAVA-> 解压 下载地址:Eclipse for JAVA developer ③ 下载 Android SDK 解压-> path 里加入 SDK 包中的 tools 目

[Android学习笔记]Android中多线程开发的一些概念

线程安全: 在多线程的情况下,不会因为线程之间的操作而导致数据错误. 线程同步: 同一个资源,可能在同一时间被多个线程操作,这样会导致数据错误.这是一个现象,也是一个问题,而研究如何解决此类问题的相关工作就叫做线程同步. android中,处理线程同步的手段就是:锁 一般分为公平锁和非公平锁: synchronized(内部锁,互斥锁):synchronized是JVM提供的线程同步机制,如果出现问题,JVM能捕获异常,并释放资源,具体实现机制需要查看JVM源码 synchronized的使用特

Android学习笔记(四三):文件访问

之前我们学习了通过preference和SQLite数据库进行数据存储,也可以通过文件方式.文件可以是在应用打包时预置,也可以是应用所生成. 文件访问有两种方式:一:静态数据的文件可以防止在res/raw中,这些文件是只读的,只有在应用版本升级的时候进行修改,或者我们先读出这些数据,通过 reference的方式来处理,这样以后可以进行修订,但是这种方式,会有两份数据保存.二:另一种方式是通过URL访问文件,动态数据的读取也可以采用SQLite3的方式. res/raw/下静态文件的读取 在re