android App中的网络访问

Android下基于Iptables的一种app网络访问控制方案(一) 1.什么是Iptable? 百度百科对于Iptables有详细的介绍。简单地说,Iptables是Linux内核提供的一套IP信息包过滤系统,对外由Iptables命令提供设置过滤规则的入口。 Android是基于Linux的操作系统,支持Iptables。执行Iptables命令需要root权限。   2.如何配置Iptables命令链? 假设一个安卓系统网络访问管理体系,需要针对不同 阅读详情
单机app在android的生态环境中几乎没有立足之地,因此app获取网络访问权的能力是必不可少的,本文除了代码之外还包括一些注意事项(可能是太基础了所以书上或者其他参考网站都没有提及这些细节)。

一,在AndroidManifest.xml中加入访问互联网的权限:
< uses-permission android:name = "android.permission.INTERNET" />

二,访问互联网的操作不能在main thread (对于activity来说是UI thread)中进行,否则会报错:
”android.os.NetworkOnMainThreadException“
可选的方式有:
1, 使用AsyncTask处理网络操作。
2, 在activity中创建新thread处理网络操作。
3, 启动service并在service中创建新thread处理网络操作。

三,下面以简单的GET方式作为例子说明。
1, 访问互联网的主函数:
	 public String executeHttpGet(){
		 BufferedReader in = null;
		 String result = "empty";
		 String weather = "http://m.weather.com.cn/data/101280601.html";
		 
		 try{
			 DefaultHttpClient client = new DefaultHttpClient();
			 HttpGet request = new HttpGet();
			 request.setURI(new URI(weather)); // url max length = 2048, need to do POST if u wanna long request
			 HttpResponse response = client.execute(request);
			 in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
			 
			 StringBuffer sb = new StringBuffer();
			 String line = "";
			 String NL = System.getProperty("line.separator");
			 
			 while((line=in.readLine()) != null){
				 sb.append(line + NL);
			 }
			 
			 result = sb.toString();
			 // Log.d(DEBUG_TAG, result);
		 }catch(Exception e){
			 e.printStackTrace();
		 }finally{
			 if(in != null){
				 try{
					 in.close();
				 }catch(Exception e){
					 e.printStackTrace();
				 }
			 }
		 }
		 
		 return result;
	 }

2, 在AsyncTask的doInBackground里面调用这个函数:
	 class HttpTask extends AsyncTask<Integer, Integer, String>{

		 @Override
		 protected String doInBackground(Integer... params) {
		 	return executeHttpGet();
		 }
		 
		 @Override
		 protected void onPostExecute(String result){ // update UI when process done
			 Log.e(DEBUG_TAG, "onPostExecute");
			 if(mTextView != null)
			 	mTextView.setText(result);
			 super.onPostExecute(result); 
		 }
		 
	}

3, 在UI线程中启动task:
	 public void onCreate(Bundle savedInstanceState){
	     super.onCreate(savedInstanceState);
	     setContentView(R.layout.http1);
	        ... ... // other initialization
	     new HttpTask().execute();
	    } // end of onCreate

* AsyncTask的使用还需要优化,这里仅作为demo简单实现。上述代码在N880E上验证通过。

01_安卓APP开发流程概览 目录安卓APP开发流程前言一、流程概览二、分步概述1.需求分析2.产品原型设计3.UI视觉设计4、数据库搭建5、服务端开发6、Android客户端开发7、APP程序测试8、上传到应用商店9、APP的维护以及更新总结 安卓APP开发流程 前言 在学习一个新东西的时候,我习惯用总-分-总的方式:总——先将要学习的内容总体框架建立起来,形成最初的知识图谱,分——再将框架中的每一项子内容逐个学习、实践,填充知识图谱,总——最后将所有学到的东西进行归纳总结,形成最终完整详细的知识图谱。这样一轮下来,任何知识都会学的十 阅读详情

相关推荐

rk平台android12系统设置里面互联网选项中的以太网选项点击不了问题

找到互联网选项中的以太网选项的初始化代码packages/apps/Settings/src/com/android/settings/network/ConnectedEthernetNetworkController.java。rk平台android12系统中,系统设置中的互联网选项,当连接以太网以后,会显示以太网的选项,但是点击没作用,现在需要点击能够进入到以太网的设置界面,需要添加相关的点击事件。编译系统设置应用push就可以实现互联网选项中以太网的选项可点击进入以太网设置页面了。

Android系统开发笔记 1114

个推技术分享:Android12更新详解及适配指南

开发者必看>>

个推技术学院 5526

UE5实战技巧:TextRender高效集成中文字体与材质优化

本文针对UE5中TextRender组件显示中文的常见问题,提供了一套完整的实战解决方案。详细讲解了如何通过手动创建字体资产、精准控制字符集来优化性能,并重点介绍了通过调整材质中的Lerp节点参数(如设为-85, 92)来解决中文字体显示残缺和边缘模糊等核心难题,帮助开发者实现高效且美观的中文文本渲染。

weixin_28040125的博客 379

Android12 以太网功能实现

Android 12 有线网络适配

weixin_52521865的博客 4475

TwinCAT3 实时核异步通信:基于ADS的C++ Server/Client数据交换实战解析

本文深入解析了在TwinCAT3实时核中,如何利用ADS协议实现C++ Server与Client之间的异步数据交换。文章从核心概念入手,详细阐述了实时核、ADS通信及异步机制,并通过实战步骤指导环境搭建、路由配置、Server端服务创建与Client端请求发起,重点剖析了Req/Ind/Res/Con异步回调模型,旨在帮助开发者构建高效、非阻塞的实时工业控制应用。

purple的博客 467

Chromatix_AEC—深入解析曝光表配置与传感器参数计算

本文深入解析高通Chromatix AEC模块中的曝光表配置与传感器参数计算,详细介绍了自动曝光控制(AEC)的核心概念、首行曝光时间计算、行时间与曝光模式对比、帧率计算逻辑以及曝光表高级配置技巧。通过实战案例展示如何优化传感器参数联调,帮助开发者掌握Chromatix工具在摄像头系统中的关键应用。

266

android 12 共享以太网/Wifi 固定IP地址

Connectivity/Tethering/src/com/android/networkstack/tethering/PrivateAddressCoordinator.java 的 requestDownstreamAddress。packages/modules/Connectivity/Tethering/src/android/net/ip/IpServer.java 的 requestIpv4Address 是分配IP的函数。简单记录,xx 改成希望的数字。

honffeCN的专栏 2383

手把手教你用SysMax桥接软件搞定CANoe、INCA和刷写工具(附驱动配置避坑点)

本文详细介绍了如何使用SysMax PCAN FD桥接软件实现CANoe、INCA和刷写工具的无缝对接,提供从驱动配置到多软件协同的全链路指南。重点解析了驱动安装避坑点、CANoe配置技巧、INCA集成方法以及刷写工具链优化方案,帮助汽车电子工程师构建高效开发环境。

weixin_30500105的博客 390

Android 12 以太网开发,反射调用隐藏的api

【代码】Android 12 以太网开发,反射调用隐藏的api。

weixin_44917215的博客 2149

Adaboost入门教程——最通俗易懂的原理介绍(图文实例)

Adaboost入门教程——最通俗易懂的原理介绍(图文实例)

Max的杂物仓 11万+

高通Camera AWB跳变问题实战:从夕阳场景到参数调优的完整避坑指南

本文深入解析高通Camera AWB跳变问题,特别是在夕阳场景下的色温突变现象。通过分析灰区统计失效、光源混合干扰等成因,提供从参数调优到诊断工具链的完整解决方案,包括动态灰区扩展算法、色温平滑过渡方案及高通平台特定优化技巧,帮助工程师有效解决AWB跳变问题。

sre5engineer的博客 855

android app访问内部网,android App中的网络访问

public String executeHttpGet(){BufferedReader in = null;String result = "empty";String weather = "http://m.weather.com.cn/data/101280601.html";try{DefaultHttpClient client = new DefaultHttpClient();Ht...

weixin_29063979的博客 588

occ算法真值构建

occ算法真值产生

xiaomu_347的博客 609

android 主要类库

在Android 类库中,各种包写成android.*的方式,重要包的介绍如下: android.app:         提供高层的程序模型、提供基本的运行环境。 android.content:    包含各种的对设备上的数据进行访问和发布的类。 android.database:  通过内容提供者浏览和操作数据库。 android.graphics:   底层的图形库,包含画布,颜色

fangchao3652 879

Codex 100个真实案例 - 用AI做英语单词计划学习工具(记忆曲线+测验)

背单词是英语学习的基本功,但市面上的背单词 APP 要么收费、要么广告太多。本案例用 Codex 从零打造一个 **英语单词计划学习工具**,实现 SM-2 间隔重复算法(Anki 的核心算法)、单词本增删改查、多种测验模式(选择题/拼写/听写)、TTS 发音播放,以及学习数据的可视化统计图表。全程用自然语言驱动 Codex,用 Python 写后端逻辑 + 终端 UI,打造你的私人背单词助手!

yueyeguzhuo的专栏 195

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

原生app与Web app的连接使者WebView

WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView的两种不同的方法: 首先,在AndroidManifest.xml中添加网络访问权限: 第一种方法: 1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);2.调用WebView的load

oYESIDO的博客 669

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

android中各种java包的功能描述

在一般的java应用中,如果需要引用基础类库,通常需要使用如下的方式: import javax.swing.*; 以上代码表示了引用java的gui组建Swing.javax.swing即java中的一个包。android提供了一些扩展的java类库,类库非为若干个包,每个包中包含若干个类。 重要包的描述: android.app  :   提供高层的程序模型、提供基本的运行环境 an

foreverhuylee的专栏 1140

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上门洗车APP --- Android客户端开发 之 网络框架封装介绍(一)

上门洗车APP --- Android客户端开发 之 网络框架封装介绍 上篇文章中给大家简单介绍了一些业务,上门洗车APP --- Android客户端开发 前言及业务简介,本篇文章给大家介绍下网络框架,之前也了解过一些开源网络通讯架构,也大概看了一部分源码,比如Afinal、Volley、AndBase、Android-async-http 等,感觉各自都有各自的优劣,自己也

gao_chun 2万+

Android类库常用类库一览

在Android SDK中包括很多包文件,通过了解这些包的功能也有助于了解可以开发的功能。 在Android类库中,各种包写成android.*的方式,重要包的描述如下所示: android.app :提供高层的程序模型、提供基本的运行环境 android.content 包含各种的对设备上的数据进行访问和发布的类 android.database :通过内容提供者浏览和操作数据库 an...

weixin_33962923的博客 172

开发自己的第一个安卓app

开发自己的第一个安卓app 在开发安卓app的时候,首先我们需要配置一下电脑的开发环境。到jdk官网下载最新版本的jdk安装包。 Window64位下载地址:http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-windows-x64.exe 下载完成后,全部默认安装,一直点击下一步知道完成。在安装的过程中

tongyong128的专栏 8万+

Android(安卓)APP渗透测试-总结

文章目录基础知识安卓系统目录结构组件基础APK目录结构ADB使用Drozer客户端安全测试反编译测试(脱壳与混淆)脱壳回编译测试本地敏感信息存储四大组件安全本地注入动/静态扫描安全的通信方式HOOK开源移动端扫描工具APP安全在线检测系统服务端渗透测试SSL证书抓包问题安装证书问题证书校验问题 前言:这是一份资料整理,不是一份教程,教程在“心中”。 很多时候对产品进行测试,但是总会遇到一些重复的问题,后来发现大部分时间都花在问题检索和筛选上了(检索五分钟,测试一分钟),因此有了这份总结。学会把时间花费在有意

H5oSir 2万+

安卓APP的http访问权限

安卓下,默认只允许 https 的访问,不允许 http 的访问。 用 Delphi 写一个安卓 APP,用 TIdHTTP 去访问一个 WEB 服务器,不行。网上查了一下,发现需要这样做: 在 APP 的工程目录下,有一个 XML 文件,“AndroidManifest.template.xml”,用文本 编辑器打开它: 在<application android:persiste...

pcplayer的博客 6万+

安卓app加入网络访问权限

文章目录安卓app加入网络访问权限 安卓app加入网络访问权限

mantouyouyou的博客 1084

安卓APP控制ESP32

本人所学专业为电力电子专业,想做关于负载的连续变化实验,变化频率一定,首先想到的是电子负载,但是实验室中现有的电子负载无法应用与所研究的小功率变换器,于是想通过单片机来控制继电器进行负载切换。对于单片机的选择,具备联网功能的ESP32 WROOM,价格美丽,资源足够。

Echoo的博客 7724

TCPUDP网络蓝牙一体调试助手app安卓android下载介绍

TCPUDP网络蓝牙一体调试助手app安卓android下载介绍 【下载地址】TCPUDP网络蓝牙一体调试助手app安卓android下载介绍 这款TCP UDP网络蓝牙一体调试助手app专为安卓系统设计,集成了TCP Server、TCP Client、UDP调试及蓝牙功能,是工程师调试WIFI、蓝牙、GPRS等模块的...

gitblog_06737的博客 1138

安卓APP开发基础

目录安卓工程构建和第一APP运行 安卓工程构建和第一APP运行 嵌入式学习安卓目的其实是为了掌握简单的安卓APP开发,最重要的目的并不是为了开发APP,而是为了了解APP开发的整个过程,方便为安卓开发工程师提供SDK包,也就是如何在手机APP上实现点灯等控制硬件的一系列操作。 ...

zhuguanlin121的博客 1849
上一篇: ubuntu 10.04 使能新设备的adb功能
下一篇: 【framework】EventLog分析
TechStone
博客等级 码龄19年 29粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值