monodroid开发之--call Hanlder
16lz
2021-01-26
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;}
}
}
}
}
更多相关文章
- SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
- Android中的触屏事件分发机制
- Android(安卓)中使用极光推送消息详细介绍(一)
- Android(安卓)Push Notification
- [置顶] Android消息机制Handler、Looper、MessageQueue源码分析
- Android——实时显示系统时间
- Android/Java线程池总结
- 《Android开发艺术探索》读书笔记——Handler消息机制(ThreadLoca
- Android(安卓)编程下的TraceView 简介及其案例实战