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" />
因为初学,如有不对的地方,还望大神指点,欢迎大家给出自己的看法,和好的设置。