当前位置: 首页 > news >正文

关于建立网站的申请如何设计服装网站首页

关于建立网站的申请,如何设计服装网站首页,桂林漓江自由行攻略,个人电脑搭建成网站服务器本文主要用到了安卓监测网络状态变化功能#xff0c;实现了WIFI,3G,无网络状态切换时发出通知的功能。 主要知识点 servicebroadcast接口回调实现 service的基本知识 service可分为 按运行地点分类 本地服务 远程服务 按按运行类型分类#xff1a; 前台服务后台服务按…本文主要用到了安卓监测网络状态变化功能实现了WIFI,3G,无网络状态切换时发出通知的功能。 主要知识点 servicebroadcast接口回调实现 service的基本知识 service可分为 按运行地点分类 本地服务 远程服务 按按运行类型分类 前台服务后台服务按使用方式分类 startService 启动的服务bindService 启动的服务startService 同时也 bindService 启动的服务 service生命周期 详情请见参考链接 Android 中的 Service 全面总结 - - 博客频道 - CSDN.NET Android开发之如何保证Service不被杀掉broadcastsystem/app - 其实并不难,是你太悲观 - 博客频道 - CSDN.NET 安卓监测网络状态变化 service部分 package com.zj.servicewifi;import java.util.Date; import java.util.Timer; import java.util.TimerTask;import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Binder; import android.os.IBinder; import android.provider.SyncStateContract.Constants; import android.util.Log;public class WIFIService extends Service{int IntentId;int NOINTENT0;int WIFI1;int GRS2;// 实时监听网络状态改变 private BroadcastReceiver mReceiver new BroadcastReceiver() { Override public void onReceive(Context context, Intent intent) { String action intent.getAction(); if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) { Timer timer new Timer(); timer.schedule(new QunXTask(getApplicationContext()), new Date()); } } }; public interface GetConnectState { public void GetState(int isConnected); // 网络状态改变之后通过此接口的实例通知当前网络的状态此接口在Activity中注入实例对象 } private GetConnectState onGetConnectState; public void setOnGetConnectState(GetConnectState onGetConnectState) { this.onGetConnectState onGetConnectState; } private Binder binder new MyBinder(); private boolean isContected true; Override public IBinder onBind(Intent intent) { return binder; } Override public void onCreate() {// 注册广播 IntentFilter mFilter new IntentFilter(); mFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); // 添加接收网络连接状态改变的Action registerReceiver(mReceiver, mFilter); } class QunXTask extends TimerTask { private Context context; public QunXTask(Context context) { this.context context; } Override public void run() { if (is3GConnected(context)isWifiConnected(context)false) { System.out.println(hereere*************);IntentId 2;} else if(isWifiConnected(context)){IntentIdWIFI;}else { IntentIdNOINTENT;} if (onGetConnectState ! null) { onGetConnectState.GetState(IntentId); // 通知网络状态改变 Log.i(mylog, 通知网络状态改变: IntentId); } } /* * 判断是3G否有网络连接 */ private boolean is3GConnected(Context context) { if (context ! null) { ConnectivityManager mConnectivityManager (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo mConnectivityManager.getActiveNetworkInfo();if (mNetworkInfo ! null) { return mNetworkInfo.isAvailable(); } } return false; } /* * 判断是否有wifi连接 */ private boolean isWifiConnected(Context context) { if (context ! null) { ConnectivityManager mConnectivityManager (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mWiFiNetworkInfo mConnectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (mWiFiNetworkInfo ! null) { return mWiFiNetworkInfo.isAvailable(); } } return false; } } public class MyBinder extends Binder { public WIFIService getService() { return WIFIService.this; } } Override public void onDestroy() { super.onDestroy(); unregisterReceiver(mReceiver); // 删除广播 } } 注意其中用到广播接收者广播接收者有两种注册方式在代码中注册与在XML文件中注册本例中在代码中注册了如果再在XML中注册会报错 activity中代码 package com.zj.servicewifi;import com.zj.servicewifi.WIFIService.GetConnectState;import android.app.Activity; import android.content.ComponentName; import android.content.Intent; import android.content.ServiceConnection; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.Message; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Toast;public class MainActivity extends Activity {protected String TAG mylog; WIFIService receiveMsgService; int IntentID0;ServiceConnection sc;boolean state;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);scnew ServiceConnection() {Overridepublic void onServiceDisconnected(ComponentName name) {// TODO Auto-generated method stub}Overridepublic void onServiceConnected(ComponentName name, IBinder service) {// TODO Auto-generated method stubreceiveMsgService ((WIFIService.MyBinder) service) .getService(); receiveMsgService.setOnGetConnectState(new GetConnectState() { // 添加接口实例获取连接状态 Override public void GetState(int id) { if (IntentID ! id) { // 如果当前连接状态与广播服务返回的状态不同才进行通知显示 IntentID id; if (IntentID0) {// 已连接 handler.sendEmptyMessage(0); } else if(IntentID1){// 未连接 handler.sendEmptyMessage(1); } else if(IntentID2){handler.sendEmptyMessage(2);}} } });}};}public void bind(View view){startService(new Intent(MainActivity.this,WIFIService.class));bindService(new Intent(MainActivity.this, WIFIService.class), sc, getApplicationContext().BIND_AUTO_CREATE);state true;}public void unbind(View view){if(state ){unbindService(sc);state false;}}public void start(View view){}public void stop(View view){}Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); if(state){unbindService(sc);state false;} } Handler handler new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 0:Toast.makeText(MainActivity.this, 网络未经连接 ,Toast.LENGTH_LONG).show(); break;case 1:// 已连接 Toast.makeText(MainActivity.this, WIFI已经连接 ,Toast.LENGTH_LONG).show(); break; case 2:// 未连接 Toast.makeText(MainActivity.this, 3G已连接 ,Toast.LENGTH_LONG).show(); break; default: break; } ; }; }; } 本例中最重要的一点就是在service中定义了一个接口在activity中实例化则在service中调用方法的时候会调用在activity中实例化的方法不知道这是什么设计模式只觉得很神奇。 参考链接 android 通过Service和Receiver来监听网络状态 - - ITeye技术网站 Android判断设备网络连接状态并判断连接方式 - lzan13的专栏 - 博客频道 - CSDN.NET 完成
http://www.huolong8.cn/news/355782/

相关文章:

  • 企业网站搭建及优化备案中心查网站
  • 有域名了如何建设网站十个app制作网站
  • 网络推广seo怎么做seo范畴有哪些
  • 给别人建设网站的注意事项科技公司logo设计图片
  • 博星卓越营销网站设计辽宁建设工程信息网登录不上去
  • 长沙网站拓谋网络信阳做网站
  • 网站建设中最重要的环节是沈阳建设工程信息网 费用中项网
  • 我想建设一个网站淄博网站备案
  • 旅游网站页面设计模板哪家公司做企业网站稳定优惠
  • 河北网站备案注销wordpress中文版好还是英文版好
  • 互动平台有效学时是什么意思长沙债务优化公司
  • 淄博网站建设团队个人网站有哪些站
  • 为什么教育网站做的都很烂湘潭企业网站建设 p磐石网络
  • 个人域名备案 网站名称速度啊网站
  • 网站的会员认证怎么做重庆业务网站建设
  • 承接app网站开发的广告惠州网络公司网站建设
  • 网站店铺vr场景可以做吗怎么制作网页推广
  • 东莞网站优化推广方案滨州seo排名
  • 做网络推广常用网站php网站虚拟机
  • 怎么找人做网站娄底网站建设的公司
  • 可以做图片视频的网站泉州公司网页制作
  • 网站作品集厦门百城建设有限公司网站
  • wordpress做的好的网站团购网站开发代码
  • 网站建设属于办公费吗有没有免费查企业信息的软件
  • php网站开发套模板马铃薯交易网站建设方案
  • 南阳网站推广优化公司个人可以做外贸的网站
  • 和目网站网络市场营销
  • 万齐网站建设营销型网站源码
  • 一站式企业服务平台是什么做网站用什么云服务器
  • 聚美优品返利网站怎么做wordpress 整合js