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

android 线程安全Thread+handler解决联网获取数据,ui出错问题

阅读更多
package djx.android;

import djx.downLoad.DownFiles;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class downLoadPractice extends Activity {
private Button button_submit=null;
private TextView textView=null;
private String content=null;
private Handler handler=null;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //创建属于主线程的handler
        handler=new Handler();
       
        button_submit=(Button)findViewById(R.id.button_submit);
        textView=(TextView)findViewById(R.id.textView);
        button_submit.setOnClickListener(new submitOnClieckListener());
    }
    //为按钮添加监听器
    class submitOnClieckListener implements OnClickListener{
@Override
public void onClick(View v) {
//本地机器部署为服务器,从本地下载a.txt文件内容在textView上显示
final DownFiles df=new DownFiles("http://192.168.75.1:8080/downLoadServer/a.txt");
textView.setText("正在加载......");
new Thread(){
public void run(){
content=df.downLoadFiles();
handler.post(runnableUi);
}
}.start();
}
   
    }

   // 构建Runnable对象,在runnable中更新界面
    Runnable   runnableUi=new  Runnable(){
@Override
public void run() {
//更新界面
textView.setText("the Content is:"+content);
}
   
    };
   
   
}
分享到:
评论

相关推荐

    Android 用handler机制联网获取图片.zip

    总结起来,Android中的Handler机制是实现UI与后台任务同步的关键工具,而联网获取图片则涉及到网络请求、多线程、内存管理和用户体验等多个方面。开发者需要熟练掌握这些知识点,才能编写出高效、稳定且用户体验良好...

    在_Android_中实现并发性、联网和数据访问.docx

    在Android平台上,开发人员面临的主要挑战之一是如何有效地处理并发性、联网和数据访问。这篇文章将深入探讨这些关键领域,提供一些实用的技巧和注意事项。 首先,让我们关注并发性。在Android应用中,为了保证用户...

    移动应用开发:从云平台获取传感器数据并显示.pptx

    5. **Handler传递消息机制**:Handler是用来在不同线程之间传递消息的工具,常用于将后台线程获取的数据更新到UI线程。在云平台获取数据后,可以创建Message对象,通过Handler发送到主线程进行界面更新。 6. **...

    Android应用源码联网分类菜谱项目.zip

    项目中可能使用了AsyncTask、Handler、Thread或Retrofit等库来实现后台线程的网络请求,并通过回调机制更新UI。 3. **数据存储**:为了优化用户体验,项目可能会缓存部分网络数据,如使用SQLite数据库存储菜谱信息...

    Android应用源码模仿天天动听5可联网下载歌词的音乐播放器

    在Android平台上,开发一款...通过学习和理解这个源码,开发者不仅可以掌握Android音乐播放器的开发,还能深入了解Android的网络编程、数据存储、多线程、UI设计等多个核心领域。这对于提升Android开发技能非常有帮助。

    Android移动开发案例详解 源代码

    在Android移动开发领域,源代码是开发者学习和实践的关键资源。...通过对这些案例的深入学习和实践,开发者不仅可以掌握Android开发的基本技能,还能提升解决实际问题的能力,从而成为一名出色的Android应用开发者。

    Android常见原理性面试专题.docx

    Handler是Android中用于线程间通信的关键组件。它负责发送和处理Message对象。在Android系统中,每个线程都有一个消息队列(Message Queue)和一个Looper,Looper不断地从消息队列中取出消息并交给对应的Handler...

    Android应用开发揭秘

    11. **多线程与异步处理**:Android应用中的UI操作应在线程安全的环境中执行,因此需掌握AsyncTask、Handler、Looper、Thread和Runnable等多线程技术,以实现高效的异步处理。 12. **网络编程**:Android应用往往...

    疯狂Android讲义 13-19章

    AsyncTask、Handler、Looper、Thread和ThreadPoolExecutor等都是Android实现多线程的方式,理解它们的使用场景和优缺点至关重要。 第16章可能是关于网络编程的内容。Android应用可以通过HttpURLConnection、OkHttp...

    异步联网、解析json、下载保存并用listView+Glide开源库显示图片列表demo

    我们可以使用Android的AsyncTask、Handler、Thread或现代的RxJava、Coroutines等工具来实现。在这个示例中,可能会使用HttpURLConnection或第三方库如OkHttp来发起HTTP请求,获取服务器返回的JSON数据。 其次,是**...

    《轻松学Android开发》.zip

    9. **多线程**:Android应用通常在一个主线程上运行,为了避免UI阻塞,你需要了解如何使用AsyncTask、Handler或Thread来实现多线程。 10. **网络编程**:Android应用常常需要联网获取数据,这涉及到HTTP请求、...

    联网解析下载

    常见的做法是使用AsyncTask、Handler、Thread或Runnable,或者使用专门的异步网络库如OkHttp和Volley。异步下载可以防止用户界面阻塞,提高用户体验。 3. **ListView图片缓存**: - 图片加载是ListView性能优化的...

    Android应用源码电子词典 代码进一步完善 增加“翻译句子”的功能-IT计算机-毕业设计.zip

    7. **多线程**:网络请求通常在后台线程中执行,避免阻塞UI线程,遵循Android的主线程规则。可以使用AsyncTask、Handler、Thread或最近的Coroutines(Kotlin)来实现。 8. **测试与调试**:Android Studio提供了...

    Android实战内容:TestApp2

    【Android实战内容:TestApp2】项目解析与学习...通过深入学习和实践TestApp2项目,开发者不仅能掌握Android开发的基础知识,还能了解到实际项目中可能出现的各种问题和解决方案,为自己的Android开发技能树添砖加瓦。

    Android应用源码之斗地主源码实现.zip

    9. **多线程与异步处理**:为了保证游戏流畅性,复杂的计算或者网络请求通常在后台线程进行,可能涉及到AsyncTask、Handler或Thread等多线程技术。 10. **资源管理**:`res`目录下包含了应用的图标、图片、音频等...

    Android参考DOC.zip

    理解AsyncTask、Handler、Looper和Thread Pool等异步处理机制,能有效提升应用性能和用户体验。 八、权限管理 Android系统采用严格的权限模型,开发者需要在AndroidManifest.xml中声明应用所需权限,并在运行时...

    Android 图书书架源码.rar

    - 数据加载、网络请求通常在后台线程执行,防止UI卡顿,可能使用AsyncTask、Thread、Handler或ExecutorService。 13. **Material Design**: - 应用可能遵循Material Design指南,提供一致的视觉和交互体验。 14...

    安卓Android源码——带服务端多人在线扑克.zip

    3. **多线程处理**:在网络游戏中,多线程处理是非常关键的,它涉及到游戏逻辑的执行和用户界面的更新,需要理解和使用Android的AsyncTask或者Thread/Handler机制。 4. **网络通信**:游戏中的服务端与客户端通信...

    Android应用源码之高仿安卓捕鱼达人游戏.zip

    Android的AsyncTask、Handler或Thread/Runnable等机制可以帮助开发者实现这一目标。 5. **动画效果**:捕鱼达人的粒子效果、爆炸动画等丰富视觉效果,需要使用到Android的Animation框架,包括帧动画和补间动画。...

Global site tag (gtag.js) - Google Analytics