Xamarin for android学习总结一

来源:互联网 发布:matlab的优化工具箱 编辑:程序博客网 时间:2024/05/22 15:36

1.  Adapter就是数据读入内存后的(内存中介)

2. intend,broadcast,server,provider,activity,运行关系图

                     


3.Toast用于向用户显示一些帮助/提示(http://www.cnblogs.com/salam/archive/2010/11/10/1873654.html (c#中toast是由其他线程调用更新UI主线程之用)

4.Android中UI线程与后台线程交互设计的5种方法( http://www.cr173.com/html/19165_1.html):

在android的设计思想中,为了确保用户顺滑的操作体验。一些耗时的任务不能够在UI线程中运行,像访问网络就属于这类任务。因此我们必须要重新开启一个后台线程运行这些任务。然而,往往这些任务最终又会直接或者间接的需要访问和控制UI控件。例如访问网络获取数据,然后需要将这些数据处理显示出来。就出现了上面所说的情况。原本这是在正常不过的现象了,但是android规定除了UI线程外,其他线程都不可以对那些UI控件访问和操控。为了解决这个问题,于是就引出了我们今天的话题。Android中后台线程如何与UI线程交互。
据我所知android提供了以下几种方法,用于实现后台线程与UI线程的交互。
a、handler
b、Activity.runOnUIThread(Runnable)
c、View.Post(Runnable)
d、View.PostDelayed(Runnabe,long)
e、AsyncTask


5.  PendingIntent可以看作是对Intent的包装。PendingIntent主要持有的信息是它所包装的Intent和当前ApplicationContext。正由于PendingIntent中保存有当前ApplicationContext,使它赋予带他程序一种执行的Intent的能力,就算在执行时当前Application已经不存在了,也能通过存在PendingIntent里的Context照样执行Intent

6.Intent和PendingIntent的区别:http://blog.csdn.net/zeng622peng/article/details/6180190

Intent 是及时启动,intent 随所在的activity 消失而消失(因为发起该intent的context上下文消失,一般intent都有一个发起者,如activity或service等)。 
PendingIntent 可以看作是对intent的包装,通常通过getActivity,getBroadcast ,getService来得到pendingintent的实例,当前activity并不能马上启动它所包含的intent,而是在外部执行 pendingintent时,调用intent的。正由于pendingintent中 保存有当前App的Context,使它赋予外部App一种能力,使得外部App可以如同当前App一样的执行pendingintent里的 Intent, 就算在执行时当前App已经不存在了,也能通过存在pendingintent里的Context照样执行Intent。另外还可以处理intent执行后的操作。常和alermanger 和notificationmanager一起使用。 Intent一般是用作Activity、Sercvice、BroadcastReceiver之间传递数据,而Pendingintent,一般用在 Notification上,可以理解为延迟执行的intent,PendingIntent是对Intent一个包装。

7. currentActivity.runOnUiThread (new Runnable() { 
@Override  public void run() 
{ //doyourcode });       }  //currentActivity.runOnUiThread( fun())-->是用来使用当前activity的主UI线程(即开启当前线程的主线程)来执行函数


0 0
原创粉丝点击