- 浏览: 585322 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (182)
- android/ophone开发完全讲义 (4)
- android常用代码 (6)
- android工具 (9)
- android基础 (40)
- android进阶 (75)
- android经验记录 (3)
- android框架 (2)
- android面经 (5)
- android网络 (5)
- android资讯 (0)
- android资源 (17)
- 生活印象 (3)
- androidNDK (4)
- android开源 (1)
- android性能优化 (1)
- android设计 (2)
- android博客论坛收集 (1)
- android手机用户体验 (1)
- android动画 (1)
- android外文资料 (1)
- 汉字排序 (1)
最新评论
-
小猫咪201:
困惑了很久,终于找到答案了
一个常见的android内存泄露 问题 -
王雪龙:
pixels = dps * (density / 160). ...
关于Android的nodpi,xhdpi,hdpi,mdpi,ldpi -
Turr:
楼主给力,解决了我遇到的问题
解决ActivityGroup的sub Activity中spinner的WindowManager$BadTokenException的问题 -
boyuan2000cn:
你好,我转载了您的此篇博客,如果有版权问题,请告诉我,谢谢!转 ...
关于Android的nodpi,xhdpi,hdpi,mdpi,ldpi -
twlkyao:
请教您个问题,如何将drawable对象转换为id类型?
Android中Bitmap, Drawable, Byte,ID之间的转化
最近研究了Notification,参考了一些文档,写了一些心得。在官方文档中得知在Android的Notification中可以显示进度条 ,就想做个例子试一下。在网上查了下,没有找到
。决定自己写下,费了九牛二虎之力搞定了,现在拿出与大家分享下。
最后标注下:
notify的次数不能太多,当然一百次就没问题的,机器会随着notify次数越多机器会越来慢慢。如果你是更新下载的进度的,
当进度增1了时就notify,这样就会影响机器性能。
废话少说,上代码:先自定义一个view
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" android:background="#880490FF" > <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="fill_parent" /> <ProgressBar android:id="@+id/pb" android:layout_width="180dip" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" android:layout_gravity="center_vertical"/> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="fill_parent" android:textSize="16px" android:textColor="#FF0000"/> </LinearLayout>
接着在Activity中写了逻辑代码:
package com.jieer; import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.widget.Button; import android.widget.RemoteViews; public class MainActivity extends Activity { //当前进度条里的进度值 private int progress=0; private RemoteViews view=null; private Notification notification=new Notification(); private NotificationManager manager=null; private Intent intent=null; private PendingIntent pIntent=null;//更新显示 private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub view.setProgressBar(R.id.pb, 100, progress, false); view.setTextViewText(R.id.tv, "下载"+progress+"%");//关键部分,如果你不重新更新通知,进度条是不会更新的 notification.contentView=view; notification.contentIntent=pIntent; manager.notify(0, notification); super.handleMessage(msg); } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); manager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE); view=new RemoteViews(getPackageName(),R.layout.custom_dialog); intent=new Intent(MainActivity.this,NotificationService.class); pIntent=PendingIntent.getService(MainActivity.this, 0, intent, 0); Button button=(Button)findViewById(R.id.bt); button.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { //通知的图标必须设置(其他属性为可选设置),否则通知无法显示 notification.icon=R.drawable.icon; view.setImageViewResource(R.id.image, R.drawable.icon);//起一个线程用来更新progress new Thread(new Runnable(){ @Override public void run() { for(int i=0;i<20;i++){ progress=(i+1)*5; try { if(i<19){ Thread.sleep(1000); }else { Thread.currentThread().interrupt(); } } catch (InterruptedException e) { e.printStackTrace(); } Message msg = new Message(); handler.sendMessage(msg); } } }).start(); } }); }
发表评论
-
Android 检查当前是否已经连接上 Internet
2012-02-27 09:28 1java代码: 1 ConnectivityManager ... -
对ContentProvider中getType(Uri uri)和android.intent.category.DEFAULT的理解
2012-02-27 09:21 1630学习了ContentProvider,想做个通讯录,结果 ... -
Android ContentProvider的介绍(很详细)
2012-02-21 17:46 139654一、ContentProvider的概念 Content ... -
一个常见的android内存泄露 问题
2012-02-20 16:11 4938最近在公司看一个算比较大的android项目的源码, ... -
一个常见的android内存泄露 问题
2012-02-20 16:10 0最近在公司看一个算比较大的android项目的源码,发 ... -
Android网络电台的一种实现方案
2012-02-20 15:12 3674随着电子产品的飞速 ... -
NotificationManager和Notification的使用总结
2012-02-16 15:55 1137这几天一直在修改twigee的源代码,其中一个要加入的 ... -
android 如何判断程序是否在前台运行
2012-02-16 15:31 5451private boolean isTopActivit ... -
Android Intent和PendingIntent的区别详细分析
2012-02-16 14:08 1560刚才一个例子中用到了PendingIntent,与之前学过的I ... -
编码问题(UTF-8、gb2312、unicode)
2012-02-14 09:38 1949相信大家很多人跟我一样,对于编码一直感觉云山雾罩,说知道吧?就 ... -
关于androidSDK登录时出现oauth2.0空白页的BUG
2012-02-09 16:21 1421在RenrenListenerFactory中,line 12 ... -
java中yield(),sleep()以及wait()的区别
2012-01-31 18:41 956往往混淆了这三个函数的使用。 从操作系统的角度讲, ... -
Toast大全(五种情形)建立属于你自己的Toast
2012-01-29 17:23 1588Toast用于向用户显示一些帮助/提示。下面我做了5中效果 ... -
Android主流屏幕分辨率介绍
2012-01-18 14:45 1419对于Android游戏开发我们不得不像iPhone那样思 ... -
关于混淆外包jar包出错的解决方法
2012-01-18 11:30 1796-optimizationpasses 5-do ... -
新浪微博SDK
2011-12-28 16:38 1191DEMO程序:http://code.google.co ... -
Android中自定义Dialog外形,去除黑底和白色边框
2011-12-08 16:29 7468在做Android开发中经常会使用到自定义样式的Dialo ... -
汉字排序
2011-12-07 09:44 1092Comparator comparator = Coll ... -
Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
2011-11-29 19:29 13635在Android中,TextView是我们最常用的用来显示文本 ... -
屏幕分辨率适配
2011-10-19 18:55 3135屏幕分辨率:1024x600 d ...
相关推荐
在Android开发中,Notification是一种非常重要的组件,它用于在状态栏中向用户显示消息和提醒。当应用在后台运行或用户不在与应用交互时,Notification是保持与用户沟通的关键途径。"Notification中更新进度条"这个...
本示例"Android notification进度条 demo"专门关注如何在通知中集成进度条,为用户提供一个可视化的操作进度指示。 Android的通知系统允许开发者创建各种类型的通知,包括带有进度条的。这种通知通常用于显示后台...
3. **进度条显示**:Android UI更新必须在主线程中进行,因此,我们需要在下载文件的后台线程中定期(例如每1%的下载进度)更新一个`ProgressBar`。使用`Handler`或者`runOnUiThread`方法可以在后台线程与主线程之间...
本教程将详细讲解如何在Android中使用Service进行后台下载,并实时更新Notification的进度条。 首先,我们需要创建一个Service,通常继承自`IntentService`。`IntentService`是一个单线程的Service,自动管理工作...
在Android开发中,Notification是应用与用户交互的重要方式,它可以在状态栏中显示消息,即使应用在后台运行也能保持与用户的联系。而“带进度条(ProgressBar)的Notification”则是进一步提升用户体验的一种设计,它...
在Android开发中,通知栏(Notification)是一种向用户传达应用状态和信息的重要方式,而进度条(Progress Bar)则是展示任务执行进度的关键组件。本文将深入探讨如何在Android通知栏中使用常见方法以及如何显示...
`Notification`是Android系统提供的一种在状态栏显示消息的方式。我们可以创建一个`NotificationCompat.Builder`,设置通知的标题、内容、图标等属性,并利用`setProgress`方法展示进度条。 ```java ...
本教程将详细讲解如何在Android的状态栏中显示进度条,并同步更新到当前Activity中的进度条,确保用户能够直观地了解操作的进度。 首先,我们需要在AndroidManifest.xml中为应用请求显示系统通知的权限: ```xml ...
在Android系统中,通知(Notification)是用户界面中不可或缺的一部分,它允许应用在状态栏或者通知中心向用户传达重要信息,即使用户并未直接与应用交互。"Android Notification"这一主题聚焦于如何创建和管理用于...
在Android开发中,进度条(ProgressBar)是一种常见的用户界面组件,用于向用户显示某个操作的进度或等待状态。本文将全面解析Android中的进度条使用、类型及其相关知识点,旨在帮助开发者更好地理解和应用这一功能...
在Android开发中,为用户提供一个清晰的下载进度条体验是至关重要的,这有助于增强用户体验,让用户了解应用程序后台操作的状态。本教程将通过一个名为“Android更新下载进度条 demo”的项目来探讨如何在Android中...
在Android开发中,创建一个下载进度条是提升用户体验的关键元素,它能让用户直观地了解应用程序后台下载或上传任务的进度。下面将详细讲解如何在Android中实现一个下载进度条案例。 首先,我们需要在布局文件(如`...
通过这个主题,我们可以探讨如何在Android应用中创建一个高效的下载管理系统,并利用Notification组件来显示下载进度。以下是一份详细的步骤和知识点解析: 1. **Android多任务下载**: - 多线程下载:为了实现多...
在Android系统中,Notification是应用与用户交互的重要方式之一,特别是在后台运行时,它能将信息传达给用户,如消息提醒、下载进度等。本文将深入探讨如何利用Android的Notification API来实现动态下载过程的可视化...
本文实例讲述了Android实现为Notification加上一个进度条的方法。分享给大家供大家参考,具体如下: package com.notification; import android.app.Activity; import android.app.Notification; import android....
在Android系统中,通知(Notification)是应用与用户交互的重要方式之一,特别是在后台运行时。"android Notification Demo" 是一个示例项目,旨在演示不同类型的Android通知及其使用方法。在这个项目中,开发者可能...
在Android开发中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示信息,即使应用在后台运行也能提醒用户。本示例"android NotificationDemo"着重于如何自定义View来实现更个性化的通知功能。 首先...
在Android开发中,进度条(LoadingProgress)是用户界面中不可或缺的一部分,特别是在处理长时间运行的任务,如文件下载时。这个压缩包"安卓进度条loadingprogress相关-Android多文件下载进度条.rar"似乎包含了一些...
在Android系统中,Notification是应用与用户交互的重要方式之一,特别是在后台运行时。"Android下载Notification通知栏显示"这个问题主要涉及到在Android 2.3版本(API Level 9)上,如何正确设置并显示下载进度的...