Android网络编程基础知识详解
需积分: 8 55 浏览量
更新于2024-07-22
收藏 2.16MB DOCX 举报
Android基础知识点总结
Android核心基础知识是每个Android开发者都需要掌握的基本技能,本文总结了Android网络编程的基础知识,包括网络编程的预备知识、访问网络的权限、子线程执行网络操作、避免ANR异常、子线程不能修改UI、使用Handler实现子线程与主线程之间的通信、模拟器如何访问本地Tomcat等。
1.Android网络编程基础知识
Android网络编程是任何一个Android程序员必备的技能。访问网络的Android应用都必须加上访问互联网的权限,否则将无法访问网络。
1.1 网络编程的预备知识
访问网络的Android应用都必须加上访问互联网的权限,否则将无法访问网络。在Android中凡是对UI的更新、“耗时”操作等都需要在子线程中进行。Android 4.0以上版本,Google更加在意UI界面运行的流畅性,强制要求访问网络的操作不允许在主线程中执行,只能在子线程中进行,在主线程请求网络时,会报ANR异常。
1.2 子线程执行网络操作
在Android中凡是对UI的更新、“耗时”操作等都需要在子线程中进行。子线程不能修改UI,主线程也叫UI线程,Activity中的onCreate方法和点击事件的方法都是运行在主线程中的。主线程创建的界面, 只有主线程才能修改,别的线程不允许修改UI,否则会报错。如果子线程修改了UI,系统会验证当前线程是不是主线程,如果不是主线程,就会终止运行。
1.3 避免ANR异常
在主线程中做一些耗时的操作,阻塞了主线程,当用户点击其时,主线程无法响应,这是就会出ANR异常。ANR异常是ApplicationNotResponse的缩写,应用程序无响应。
1.4 使用Handler实现子线程与主线程之间的通信
既然子线程不能修改主线程的UI,那么,我们的子线程如果需要修改UI该怎么办呢?解决方式是使用Handler实现子线程与主线程之间的通信。Handler是Android提供的一种机制,用于在不同的线程之间进行通信。Looper是Handler的核心组件,负责监听和处理消息。
1.5 模拟器如何访问本地Tomcat
模拟器把它自己作为了localhost,也就是说,代码中使用localhost或者127.0.0.1来访问,都是访问模拟器自己!若想在模拟器上面访问我们的电脑,那么就使用android内置的IP:10.0.0.2,10.0.0.2是模拟器设定的特定ip,在模拟器上用10.0.0.2就能成功访问我们的电脑本机。
1.6 案例-网络图片查看器
需求:实现一个网络图片查看器,在页面输入框填入网络图片的地址,点击访问按钮,可以访问网络并获取图片,并显示在界面上。新创建一个工程,工程名字《网络图片查看器》。在工程清单文件(AndroidManifest.xml)中添加访问网络权限,使用并修改默认的布局文件(activity_main.xml),实现网络图片查看器的功能。
2015-04-28 上传
2015-04-29 上传
2023-06-02 上传
2023-06-09 上传
2023-05-16 上传
2023-05-10 上传
2023-04-06 上传
2023-05-08 上传
飞鸟已过
- 粉丝: 1
- 资源: 9
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析