当前位置:  编程技术>移动开发
本页文章导读:
    ▪API札记        API笔记 1.Activity   android页面必须继承的一个类,相当于servlet。                  重写函数:Oncreate入口函数 2.Intent    一个请求。Activity之间传唤时使用。可以绑定数据传输。   3.To.........
    ▪ NotificationManager通报使用        NotificationManager通知使用 有些时候需要做类似于电话,短信未读情况,显示在屏幕上方时。就要用到notificationManager通知。 下面有个列子:  NotificationManager manager = (NotificationManager) getSystemS.........
    ▪ AsyncTask(引见篇)       AsyncTask(介绍篇) AsyncTask  java.lang.Object       ↳android.os.AsyncTask<Params, Progress, Result> 概要 AsyncTask可以方便适当地使用UI线程。他允许执行后台操作并且可以直接在UI线程上发.........

[1]API札记
    来源: 互联网  发布时间: 2014-02-18
API笔记

1.Activity   android页面必须继承的一个类,相当于servlet。

                 重写函数:Oncreate入口函数

2.Intent    一个请求。Activity之间传唤时使用。可以绑定数据传输。

 

3.Toast.markText(thisActivity.this,"内容",Toast.LONG).show(); 所属Activity,内容,模式    提示小框

 

4.Handle类   Handler handler = new Handler();

            handler.post(Runnable);添加一个线程  ,  handler.removeCallbacks(Runnale);删除一个线程

            handler.postDelayed(Runnable,3000); 延迟加入

            两个堆栈一个是线程一个是消息
           消息队列Message msg = handler.obtainMessage();
                msg.arg1 = 1;msg对象有两个参数arg1和arg2,这两个变量传递消息节省系统性能
            handler.sendMessage(msg);又将msg对象加入消息队列中

5.progressbar:进度条

            setVisibility(View.VISIBLE);设置成可见状态

 

在AppWidget的update中注册一个监听
指定转向
intent = new Intent(context,TargetActivity.class);
pendingIntent = PendingIntent.getActivity(content,0,intent,0);
获取远程view对象
remoteViews=new RemoteViews(context.getPackageName(),R.layout.exp)
为远程view的button绑定一个监听器
remoteViews.setOnClickPendingIntent(R.id.widgetBt,pendingIntent);
用remoteViews更新appWidgetIds[i]这个桌面控件
appWidgetManager.updateAppWidget(appWidgetIds[i],remoteViews);

 


    
[2] NotificationManager通报使用
    来源: 互联网  发布时间: 2014-02-18
NotificationManager通知使用
有些时候需要做类似于电话,短信未读情况,显示在屏幕上方时。就要用到notificationManager通知。
下面有个列子:
 
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
				Notification notification = new Notification(R.drawable.icon,
						"收到任务", System.currentTimeMillis());
				//通知内容
				RemoteViews remoteViews=new RemoteViews(getPackageName(), R.layout.notification);
				remoteViews.setImageViewResource(R.id.image, R.drawable.user);
				remoteViews.setTextViewText(R.id.text, "content");
				notification.contentView=remoteViews;
				
				//点击进入详细内容
				notification.contentIntent=PendingIntent.getActivity(
						LaunchNotificationActivity.this, 0,new Intent(LaunchNotificationActivity.this,ShowContent.class), 0);
				//设置铃音
				notification.flags|=Notification.FLAG_AUTO_CANCEL;
				notification.defaults |= Notification.DEFAULT_SOUND;
				manager.notify(1, notification);
  


    
[3] AsyncTask(引见篇)
    来源: 互联网  发布时间: 2014-02-18
AsyncTask(介绍篇)
AsyncTask 

java.lang.Object    

  ↳android.os.AsyncTask<Params, Progress, Result>

概要

AsyncTask可以方便适当地使用UI线程。他允许执行后台操作并且可以直接在UI线程上发布结果,而不需要操作线程或handler。

一个异步任务(asynchronous task)由一个后台运行的计算(computation)来定义,他的结果将在UI线程上发布。

一个异步任务(asynchronous task)由3个泛化类型(Params,Progress,Result)和4个步骤(begin, doInBackground, processProgress, end)来定义说明。

用法
AsyncTask必须继承使用。子类至少必须重写一个方法(doInBackground(Params...))。通常,还会重写另一个方法(onPostExecute(Result))。
一个子类的例子:

  • private   class  DownloadFilesTask  extends  AsyncTask<URL, Integer, Long> {  
  •     protected  Long doInBackground(URL... urls) {  
  •         int  count = urls.length;  
  •         long  totalSize =  0 ;  
  •         for  ( int  i =  0 ; i < count; i++) {  
  •             totalSize += Downloader.downloadFile(urls[i]);  
  •             publishProgress((int ) ((i / ( float ) count) *  100 ));  
  •         }  
  •         return  totalSize;  
  •     }  
  •     protected   void  onProgressUpdate(Integer... progress) {  
  •         setProgressPercent(progress[0 ]);  
  •     }  
  •     protected   void  onPostExecute(Long result) {  
  •         showDialog("Downloaded "  + result +  " bytes" );  
  •     }  

  • 创建之后,任务的执行非常简单:

  • new  DownloadFilesTask().execute(url1, url2, url3); 
  • AsyncTask的3个泛化类型

    异步任务使用如下3种类型:

    1. Params,传递给任务的参数类型。

    2. Progress,后台计算执行过程中,进步单位(progress units)的类型。(就是后台程序已经执行了百分之几了。)

    3. Result, 后台执行返回的结果的类型。

    AsyncTask并不总是需要使用上面的全部3种类型。标识不使用的类型很简单,只需要使用Void类型即可。

     

  • private   class  MyTask  extends  AsyncTask<Void, Void, Void> { ... } 
  • AsyncTask的4个步骤

    一个异步任务需要执行下面4个步骤

    1. onPreExecute(), 该步骤在任务被执行之后立即由UI线程调用。

        这个步骤通常用来建立任务,在用户接口(UI)上显示进度条。

    2. doInBackground(Params...), 该步骤由后台线程在onPreExecute()方法执行结束后立即调用。该步骤通常被用来执行耗时的后台计算。计算的结果必须由该步骤返回,并被传递到 最后一个步骤中。该步骤也可以使用publishProgress(Progress...)来发布一个或多个进度单位(units of progress)。这些值将会在onProgressUpdate(Progress...)步骤中被发布到UI线程。

    3. onProgressUpdate(Progress...), 该步骤由UI线程在publishProgress(Progress...)方法调用完后被调用。

        并未定义该方法执行的时机。该方法在后台进程计算仍在执行的时候,在UI上显示任何形式的进度。一般用于动态地显示一个进度条或者在文本框中显示log。

    4. onPostExecute(Result), 由UI进程在后台计算结束后调用。后台计算的结果会被作为参数传递给这一步骤。

     

     

    线程规则

    为了能使该类正常执行,需要遵循下列规则:

    - Task的实例必须在UI线程中被调用。

    - execute(Params...)必须在UI线程中调用。

    - 不要手动调用onPreExecute(), onPostExecute(Result), doInBackground(Params...), onProgressUpdate(Progress...)。

    - Task只能被执行一次,如果想第二次执行会抛出异常。


        
    最新技术文章:
    ▪Android开发之登录验证实例教程
    ▪Android开发之注册登录方法示例
    ▪Android获取手机SIM卡运营商信息的方法
    ▪Android实现将已发送的短信写入短信数据库的...
    ▪Android发送短信功能代码
    ▪Android根据电话号码获得联系人头像实例代码
    ▪Android中GPS定位的用法实例
    ▪Android实现退出时关闭所有Activity的方法
    ▪Android实现文件的分割和组装
    ▪Android录音应用实例教程
    ▪Android双击返回键退出程序的实现方法
    ▪Android实现侦听电池状态显示、电量及充电动...
    ▪Android获取当前已连接的wifi信号强度的方法
    ▪Android实现动态显示或隐藏密码输入框的内容
    ▪根据USER-AGENT判断手机类型并跳转到相应的app...
    ▪Android Touch事件分发过程详解
    ▪Android中实现为TextView添加多个可点击的文本
    ▪Android程序设计之AIDL实例详解
    ▪Android显式启动与隐式启动Activity的区别介绍
    ▪Android按钮单击事件的四种常用写法总结
    ▪Android消息处理机制Looper和Handler详解
    ▪Android实现Back功能代码片段总结
    ▪Android实用的代码片段 常用代码总结
    ▪Android实现弹出键盘的方法
    ▪Android中通过view方式获取当前Activity的屏幕截...
    ▪Android提高之自定义Menu(TabMenu)实现方法
    ▪Android提高之多方向抽屉实现方法
    ▪Android提高之MediaPlayer播放网络音频的实现方法...
    ▪Android提高之MediaPlayer播放网络视频的实现方法...
    ▪Android提高之手游转电视游戏的模拟操控
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3