`
androidyo
  • 浏览: 64663 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android 线程更新view及数据传送

阅读更多
很多新手在启动新线程更新view时会出现
“Only the original thread that created a view hierarchy can touch its views”
以下是正确做法

第一步:
/* 启动Thread */
    new Thread(mTasks).start();

第二部:
private Runnable mTasks = new Runnable()
  {
    public void run()
    {
      while (run)
      {
        try
        {
          Thread.sleep(IntervalSec * 1000);
          /* 传送Message给Handler */
          mHandler.sendMessage(mHandler.obtainMessage());
         //传送数据
         /*
             Bundle data = new Bundle();
          data.putString("aa","ttt");
          Message msg = new Message();
          msg.setData(data);
          mHandler.sendMessage(msg);
          */
        }
        catch (InterruptedException e)
        {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }
    }
  };

第三步:
Handler mHandler = new Handler()
  {
    public void handleMessage(Message msg)
    {
      super.handleMessage(msg);
      getYamWeatherPic();//此处更新view内容
     //Log.d("--------", msg.getData().getString("aa"));
    }
  };
分享到:
评论

相关推荐

    Android 线程+View的使用

    在Android开发中,线程和View的交互是十分常见的需求,因为Android的UI操作必须在主线程中进行,而耗时的操作(如网络请求、大数据处理等)则应该放在子线程中。本实例主要探讨如何在子线程中更新View,通过两种方式...

    Xamarin.Android 非UI线程更新UI

    总结起来,Xamarin.Android的非UI线程更新UI涉及了对Android线程模型的理解以及各种线程间通信技术的运用。通过Handler、RunOnUiThread、AsyncTask等方法,我们可以确保UI操作始终在主线程中安全执行。遵循最佳实践...

    android里如何在子线程中如何更新主线程的控件

    总的来说,Android中子线程更新主线程控件的关键在于使用消息机制,通过`Handler`和`Message`在不同线程间安全地传递数据并更新UI。这个机制确保了UI操作始终在主线程中进行,避免了可能的线程安全问题,同时也提供...

    [毕设季 android开发]第六讲:Android线程及UI更新

    本讲将深入探讨Android线程的使用,特别是如何利用Handler来实现在主线程中更新UI。Handler是Android中的一个消息处理机制,它与Looper和Message紧密配合,用于在不同的线程间传递消息并执行相应的回调方法。 1. **...

    Android----线程实现图片移动

    线程在Android中扮演着处理后台任务的重要角色,它可以避免因为长时间运行操作而阻塞主线程,确保UI的流畅性。 首先,我们需要理解Android的线程模型。主线程,也被称为UI线程,负责处理所有的用户交互,如触摸事件...

    android多线程机制

    Android多线程机制是Android开发中非常重要的一部分,尤其是在处理耗时任务(如网络请求、大数据处理等)时,避免阻塞UI线程,保证应用程序的流畅性和响应性。本文将详细介绍Android多线程的基本原理及其核心组成...

    Android中AsyncTask实现多线程计数

    AsyncTask是Android提供的一种轻量级的异步任务处理框架,它允许开发者在后台线程执行计算,并在UI线程更新结果,非常适合进行简单的异步操作,如网络请求、数据计算等。本篇将详细讲解如何在Android中使用AsyncTask...

    Android使用线程来更新UI系列教程

    **Handler**机制是Android中用于在主线程和其他线程之间传递消息的工具,非常适合用来更新UI。具体步骤如下: 1. **创建Handler对象**:在UI线程中创建一个Handler对象,用于接收消息并处理UI更新。 2. **创建...

    android 多线程下载demo

    这可以通过监听每个线程的下载进度,然后汇总到总进度,并将其传递到UI线程进行更新。可以使用`ProgressDialog`、`ProgressBar`或者自定义视图来展示。 4. **文件拼接**:多线程下载的文件部分需要在下载完成后进行...

    android自动更新异步线程和NOTIFICATION的方式

    总结来说,Android应用的自动更新需要结合异步线程技术处理后台任务,同时利用Notification为用户提供实时反馈。合理运用这些技术,可以确保更新过程既高效又友好。在整个过程中,需要注意处理异常情况,比如网络...

    Android线程中操作UI界面的方法

    本文将详细介绍四种常见的在Android线程中操作UI界面的方法:使用Handler、View.post(Runnable)、Activity.runOnUiThread(Runnable)以及AsyncTask。 ### 1. 使用Handler **原理**: `Handler`机制是Android中处理...

    android事件的处理模型和多线程的处理方法

    为了在后台线程和主线程之间传递数据或更新UI,开发者可以创建一个Handler对象,关联到主线程的Looper,然后在Worker线程中通过发送Message到Handler来实现通信。此外,AsyncTask和IntentService也是Android提供用于...

    android线程讲解

    ### Android线程详解:深入理解线程管理与优化 在Android开发中,线程的管理和使用是至关重要的技能之一。由于Android应用运行在一个主线程(也称为UI线程)上,该线程负责处理所有与用户界面相关的操作,因此如何...

    Android Room with a View

    Room支持与Android的LiveData和ViewModel组件无缝集成,使得数据可以在后台线程中更新,并自动通知UI。这样可以确保UI的响应性,同时避免主线程阻塞。 ### 使用示例 在`RoomWordSample`这个示例中,可能包含了创建...

    android 线程操作进度展示辅助类

    通过这个辅助类,我们可以轻松地在Android应用中实现线程操作进度的展示,提高用户体验,同时避免了繁琐的线程同步和消息传递逻辑。在实际项目中,你可能需要根据具体需求对这个辅助类进行扩展,例如添加任务优先级...

    Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面

    通过上述步骤,我们可以实现从子线程获取数据并通过Handler传递给主线程,进而安全地更新UI。这种方式有效地避免了主线程被长时间占用导致的UI卡顿问题,提高了应用程序的响应速度和用户体验。需要注意的是,在实际...

    Android中线程间通信.pdf

    这就需要线程间通信来确保数据能够从后台线程传递到UI线程,从而更新UI。 #### 五、线程间通信的方法 Android提供了多种方式进行线程间通信,包括但不限于: 1. **Handler机制**: - **基本原理**:Handler机制...

    android 游戏开发view 框架

    通过它们,可以在不同的线程之间传递消息,实现游戏逻辑和UI更新的分离,保证游戏的响应速度。 总之,Android游戏开发中的View框架是一个综合性的主题,涵盖了图形绘制、事件处理、布局设计、动画制作和性能优化等...

    初中级Android开发社招面试之数据存储、IPC及View.zip

    在Android应用开发中,数据存储、进程间通信(IPC)以及View系统是核心知识点,对于初中级开发者来说,掌握这些技能至关重要。以下是针对这些主题的详细解析: **数据存储** 1. **SharedPreferences**: 这是一种轻...

    Android-展示Android的单向数据流架构由KotlinCoroutines提供支持

    `liveData`或者`Flow`可以配合Kotlin Coroutines,创建可观察的数据流,自动在后台线程处理数据,并在主线程更新UI。 在项目"dotanuki-labs-norris-e1b5366"中,可能包含了实现这些概念的示例代码。这个项目可能...

Global site tag (gtag.js) - Google Analytics