monodroid和java在开发android应用程序的差不多。贴点代码希望有对研究monodroid的兄弟帮助。

(应用http://www.cnblogs.com/TerryBlog/archive/2010/08/25/1808445.html)android 有一种叫消息队列的说法,这里我们可以这样理解:假如一个隧道就是一个消息队列,那么里面的每一部汽车就是一个一个消息,这里我们先忽略掉超车等种种因素,只那么先进隧道的车将会先出,这个机制跟我们android 的消息机制是一样的。

Android 的线程消息机制

android 在设计的时候引入了 wince 的消息机制,即将每一个消息发送到队列里面,遵循先进先出原则。发送消息并不会阻塞线程,而接收线程会阻塞线程,这是因为 Android 的Handler 机制,当Handler 处理完一个 Message 对象才会接着去取下面一个消息进行处理。

test_Handler.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.Util;

namespace Demo
{
[Activity(Label
= " test_Handler " )]
public class test_Handler:Activity
{
public const int CALL_FROM_WEB_COMPLETE = 0x001002 ;
public const int CALL_FROM_WEB_SUCCESSFUL = 0x001003 ;

protected Handlerhandler = null ;
private Handler_CallBackhandler_CallBack = null ;


protected override void OnCreate(Bundlebundle)
{
base .OnCreate(bundle);

handler_CallBack
= new Handler_CallBack();
handler_CallBack.Completed
+= (o,e) =>
{
// ..callfunction
};
handler
= new Handler(handler_CallBack);

System.Threading.ThreadPool.QueueUserWorkItem((objs)
=>
// ..orhandler.Post(()=>
{
try
{
// ..executefunction
}
catch (Exceptionex)
{
Log.I(
" Error " ,ex.ToString());
}
finally
{
handler.SendMessage(
new Message(){What = CALL_FROM_WEB_COMPLETE,Arg1 = CALL_FROM_WEB_COMPLETE});
}
});
}

internal class Handler_CallBack:Handler.ICallback
{
public event EventHandlerCompleted;

public bool HandleMessage(Messagemsg)
{
if (msg.What == CALL_FROM_WEB_COMPLETE)
{
if (Completed != null )
{
Completed(CALL_FROM_WEB_SUCCESSFUL,
new EventArgs());
}
return true ;
}
return false ;
}

public IntPtrHandle
{
get { return this .Handle;}
}
}
}
}

更多相关文章

  1. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
  2. Android中的触屏事件分发机制
  3. Android(安卓)中使用极光推送消息详细介绍(一)
  4. Android(安卓)Push Notification
  5. [置顶] Android消息机制Handler、Looper、MessageQueue源码分析
  6. Android——实时显示系统时间
  7. Android/Java线程池总结
  8. 《Android开发艺术探索》读书笔记——Handler消息机制(ThreadLoca
  9. Android(安卓)编程下的TraceView 简介及其案例实战

随机推荐

  1. android中类似于gif 实现图片的动画效果
  2. Android 闪屏页 全屏设置方法
  3. 一、 Android 应用程序概述
  4. Android(安卓)消息通知栏用法详解(一)
  5. Android Animation(chapter1 目录)
  6. Android(安卓)网络连通状态监测
  7. 自定义Android菜单背景
  8. android 启动Activity的四种模式
  9. Android点赞动画效果 ,点赞后加一,2种方法,
  10. Android Camera HAL设计初步