Android开发之网络

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发之网络相关的知识,希望对你有一定的参考价值。

很多初学android开发的人员对网络这一点感觉很高大上,现在我就和大家分享一下我的学习心得。

  就目前的Android手机来说,可能存在5种网络状态:

    ----无网络(这种状态可能是因为手机停机,网络没有开启,信号不好等原因)

    ----使用WIFI上网

    ----CMWAP(中国移动代理)

    ----CMNET上网

    ----2G/3G/4G上网

  很多时候我们需要判断用户是否开启网络设置,通常通过ConnectivityManager类来判断网络连接是否存在。

获取网络状态:

  那到底如何使用这个类呢?如何和用户进行交互呢?现在就把我的经验分享给大家:

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		ConnectivityManager nw = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo netinfo = nw.getActiveNetworkInfo();
		Toast.makeText(MainActivity.this, "当前网络"+add(netinfo.isAvailable())+","+"网络"+app(netinfo.isConnected())+","+"网络连接"+adp(netinfo.isConnected()), Toast.LENGTH_LONG).show();//给用户提示网络状态
	}
	
	String add(Boolean bl){
		String s = "不可用";
		if(bl==true){
			s="可用";
		}
		return s;
	}
	
	String app(Boolean bl){
		String s = "未连接";
		if(bl==true){
			s="已连接";
		}
		return s;
	}
	
	String adp(Boolean bl){
		String s = "不存在!";
		if(bl==true){
			s="存在!";
		}
		return s;
	}	
}

 当然一定不要忘记在配置文件中获取网络权限:

<!-- 获得网络权限 -->
    <uses-permission 
        android:name="android.permission.ACCESS_NETWORK_STATE"
        />

因为初学,如有不对的地方,还望大神指点,欢迎大家给出自己的看法,和好的设置。

以上是关于Android开发之网络的主要内容,如果未能解决你的问题,请参考以下文章

前端面试题之手写promise

Android开发之发送邮件功能的实现(源代码分享)

Android代码片段

Android 逆向Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )(代码片段

Android实际开发之网络请求组件的封装(OkHttp为核心)

android开发之网络棋牌类在线游戏开发心得(服务器端Java) 好文章值得收藏