Android(安卓)httpGet 使用 以及使用Handler异步更新textview的text值
16lz
2021-01-26
在 Activity中定义3个属性
private Handler handler; //实现异步更新textview值private String result;//保存get返回的字符串private TextView text;//textview控件
初始化属性值
//初始化的时候代码要在 onCreate方法中初始化 不能在子线程中
handler = new Handler();
text = (TextView) findViewById(R.id.text);
源代码:
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);handler = new Handler();text = (TextView) findViewById(R.id.text);new Thread() {public void run() {String str = "http://www.hbecoop.com/index.html";HttpResponse httpResponse = null;HttpGet get = new HttpGet(str);try {httpResponse = (new DefaultHttpClient()).execute(get);} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {try {result = EntityUtils.toString(httpResponse.getEntity());handler.post(new Runnable() {@Overridepublic void run() {text.setText(result);}});} catch (ParseException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}}.start();}}
备注:
需要注意几点
1:需要在xml中添加网络访问权限
2:如果httpget直接在主线程里面使用有可能会抛出异常,导致程序崩溃 建议使用异步的形式来获取资源
更多相关文章
- Android动画:alpha、scale、translate、rotate、set的xml属性及用
- Android(安卓)AndroidManifest.xml 详解
- 关于使用Google提供的ZXing扫描二维码Demo只能横屏的解决办法
- Android(安卓)背景图片重复 Background repeat
- The RK3066/RK30SDK Android(安卓)4.2 audio codec has a bug!
- 【Android笔记】关于Intent
- tabhost中setup()和setup(LocalActivityManager activityGroup)
- android常用view布局
- layout_weight及常见属性解析