Activity
shezhi1 = (ImageView) slidingMenu.findViewById(R.id.shezhi); shezhi1.setOnClickListener(this); 点击事件
@Override public void onClick(View v) { switch (v.getId()) { case R.id.IV: slidingMenu.toggle(); break; case R.id.IV4: Intent intent = new Intent(MainActivity.this,Twoactivity.class); startActivity(intent); break; case R.id.shezhi: String[] strings = {"最佳效果", "较省流量", "极省流量"}; final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("非WiFi下载,请注意"); builder.setNegativeButton("取消",null); int mode = App.appcontext().getSharedPreferences(NetUtils.BAOCUN, Context.MODE_PRIVATE).getInt(NetUtils.KEY, 0); builder.setSingleChoiceItems(strings,mode, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { App.appcontext().getSharedPreferences(NetUtils.BAOCUN,Context.MODE_PRIVATE).edit().putInt(NetUtils.KEY,which).commit(); dialog.dismiss(); } }); builder.create().show(); break; } 网络判断
IntentFilter filter = new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); mConnectivityBroadcastReceiver = new ConnectivityBroadcastReceiver(); registerReceiver(mConnectivityBroadcastReceiver, filter);
/** * 接受网络状态的改变 */ public class ConnectivityBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())) { boolean isMobileConnectivity = true; //如果能走到这,说明网络已经发生变化 ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = manager.getActiveNetworkInfo(); if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) { if (ConnectivityManager.TYPE_WIFI == activeNetworkInfo.getType()) { Toast.makeText(MainActivity.this, "当前wifi模式", Toast.LENGTH_SHORT).show(); isMobileConnectivity = false; //移动网络 } else if (ConnectivityManager.TYPE_MOBILE == activeNetworkInfo.getType()) { Toast.makeText(MainActivity.this, "当前移动网络,请注意", Toast.LENGTH_SHORT).show(); isMobileConnectivity = true; //获得现在的网络状态 是移动网络,去改变我们的访问接口 } else { Toast.makeText(MainActivity.this, "网络不可用,请检查网络", Toast.LENGTH_SHORT).show(); } } else { Toast.makeText(MainActivity.this, "网络不可用,请检查网络", Toast.LENGTH_SHORT).show(); } NetUtils.danli().changeNetState(isMobileConnectivity); } }
App
private static App app; @Override public void onCreate() { super.onCreate(); app = this; }
public static Context appcontext(){ return app; }
Netutils
public class NetUtils { public static final String BAOCUN = "BAOCUN"; private static String TU1="大图显示"; private static String TU2="中图显示"; private static String TU3="小图实现"; private static NetUtils netUtils; public static String KEY="KEY"; private static String MOREN=TU1; private static boolean isMobileConnectivity = true; private NetUtils(){ } //单例模式 public static NetUtils danli(){ if (netUtils==null){ synchronized (NetUtils.class){ if (netUtils==null){ netUtils = new NetUtils(); } } } return netUtils; } public static String moshi(){ if (isMobileConnectivity){ int mode = App.appcontext().getSharedPreferences(BAOCUN, Context.MODE_PRIVATE).getInt(KEY, 0); switch (mode){ case 0: MOREN = TU1; break; case 1: MOREN = TU2; break; case 2: MOREN = TU3; break; } }else { MOREN=TU1; } return MOREN; } public void changeNetState(boolean isMobileConnectivity) { this.isMobileConnectivity = isMobileConnectivity; } }