步骤一.
- package com.example.network;
- import android.content.Context;
- import android.net.ConnectivityManager;
- import android.net.NetworkInfo;
- public class NetworkUtil {
- /**
- * 检查网络是否可用
- *
- * @param context
- * @return
- */
- public static boolean isNetworkAvailable(Context context) {
- ConnectivityManager manager = (ConnectivityManager) context
- .getApplicationContext().getSystemService(
- Context.CONNECTIVITY_SERVICE);
- if (manager == null) {
- return false;
- }
- NetworkInfo networkinfo = manager.getActiveNetworkInfo();
- if (networkinfo == null || !networkinfo.isAvailable()) {
- return false;
- }
- return true;
- }
- }
步骤二.
- package com.example.network;
- import android.os.Bundle;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.app.AlertDialog.Builder;
- import android.content.ComponentName;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.util.Log;
- import android.view.Menu;
- import android.widget.Toast;
- public class MainActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- }
- @Override
- protected void onStart() {
- Log.i("MainActivity", "onStart");
- if (!NetworkUtil.isNetworkAvailable(this)) {
- showSetNetworkUI(this);
- } else {
- Toast.makeText(this, "网络可用...", 0).show();
- }
- super.onStart();
- }
- @Override
- protected void onResume() {
- Log.i("MainActivity", "onStart");
- super.onResume();
- }
- /*
- * 打开设置网络界面
- */
- public void showSetNetworkUI(final Context context) {
- // 提示对话框
- AlertDialog.Builder builder = new Builder(context);
- builder.setTitle("网络设置提示")
- .setMessage("网络连接不可用,是否进行设置?")
- .setPositiveButton("设置", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- // TODO Auto-generated method stub
- Intent intent = null;
- // 判断手机系统的版本 即API大于10 就是3.0或以上版本
- if (android.os.Build.VERSION.SDK_INT > 10) {
- intent = new Intent(
- android.provider.Settings.ACTION_WIFI_SETTINGS);
- } else {
- intent = new Intent();
- ComponentName component = new ComponentName(
- "com.android.settings",
- "com.android.settings.WirelessSettings");
- intent.setComponent(component);
- intent.setAction("android.intent.action.VIEW");
- }
- context.startActivity(intent);
- }
- })
- .setNegativeButton("取消", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
- }).show();
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- }
步骤三.
在获得到json解析完之后在发message呈现adapter之前的时候 判断得到的entity是否为空 不为空的话往下走
new Thread(){
public void run() {
NBANewsBiz biz=new NBANewsBiz();
String json=biz.getNBAresult();
NBAnewsJson parser=new NBAnewsJson();
NBAnews entity = parser.parser(json);
if (entity!=null) {
Message msg=Message.obtain();
msg.obj=entity;
handler.sendMessage(msg);
}
};
}.start();
记得在 Manifest文件中加入以下权限
- <uses-permission android:name="android.permission.INTERNET"/>
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
步骤4 对于选择的网络进行的一个判断是wifi还是mobile
private int NetworkState() {
ConnectivityManager conn=(ConnectivityManager) this.getSystemService(this.CONNECTIVITY_SERVICE);
NetworkInfo wifi = conn.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mobile = conn.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (wifi.isAvailable()) {
Toast.makeText(this, "wifi链接成功", Toast.LENGTH_SHORT).show();
return 1;
}else if(mobile.isAvailable()){
Toast.makeText(this, "您连接的是mobile网络", Toast.LENGTH_SHORT).show();
return 2;
}else{
return 0;
}
}