广播移动应用服务器端开发(基于JSP技术)-2017BroadcastReceiver实验报告:BroadcastReceiver

jsp服务器  时间:2021-04-29  阅读:()

移动应用服务器端开发基于JSP技术 -2017 BroadcastReceiver实验报告

BroadcastReceiver

广播接收器BoardcastReceiver

PAGE5

实训实验报告

实训(实验)项目:

广播接收器使用

实验目的

学习广播接收器相关属性

学习广播接收器相关属性与使用

实训实验设计器材、步骤、结论 

简介

广播接收器可以自由地对自己感兴趣的广播进行注册这样当有相应的广播发出时广播接收器就能够收到该广播并在内部处理相应的逻辑。

实验目的实现强制下线提醒广播

任务借助本章节中所学习的广播知识来实现强制下线功能。

步骤1.在MainActivity所处的文件夹点击右键新建一个名为ActivityCollector

.java的类文件用于管理所有的活动代码如下publicclassActivityCollector{publicstaticList<Activity>activities=newArrayList<Activity>();publicstaticvoidaddActivity(Activityactivity){activities.add(activity);

}publicstaticvoidremoveActivity(Activityactivity){activities.remove(activity);

}

publicstaticvoidfinishAll(){for(Activityactivity:activities){if(!activity.isFinishing()){activity.finish();

}

}

}

}

步骤2 在MainActivity所处的文件夹点击右键新建一个名为 LoginActivity.java的登录界面活动代码如下所示publicclassLoginActivityextendsBaseActivity{privateE ditTextaccountE dit;privateE ditTextpasswordE dit;privateButtonlogin;

@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);accountEdit=(EditText)findViewById(R.id.account);passwordEdit=(EditText)findViewById(R.id.password);l ogin=(Butto n)findViewByI d(R.id.l ogin);login.setOnClickListener(newView.OnClickListener(){

@OverridepublicvoidonClick(Viewv){

Stringaccount=accountE dit.getText().toString();

Stringpas sword=passwordE dit.getText().toString();

if(account.equals("123456")&&password.equals("123456")){

Intentintent=newIntent(LoginActivity.this,MainActivity.class);startActivity(intent);fi n i s h();

}else{

Toast.makeText(LoginActivity.this,"账号或密码错误",Toast.LE NGTH_SHORT).show();}

}

});

}

}

步骤3 新建一个布局文件activity_login.xml文件代码如下

<LinearLayoutxmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical">

<LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_height="60dp">

<TextViewandroid:layout_width="90dp"android:layout_height="wrap_content"android:layout_gravity="center_vertical"

android:layout_gravity="center_vertical"android:inputType="textPassword"/>

</LinearLayout>

<Butto nandroid:id="@+id/login"android:layout_width="match_parent"android:layout_height="60dp"android:text="登录"/>

</LinearLayout>

步骤4修改activity_main布局文件代码添加一个发送强制下线广播的按钮代码如下所示

<LinearLayoutxmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical">

<Butto nandroid:id="@+id/offline"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="发送强制下线广播"/>

</LinearLayout>

步骤5 修改MainActivity中的代码如下所示publicclassMainActivityextendsBaseActivity{

@OverrideprotectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);

ButtonforceOffline=(Button)findViewByI d(R.id.offline);forceOffline.setOnClickListener(newView.OnClickListener(){

@OverridepublicvoidonClick(Viewv){

Intentintent=newIntent("com.example.broadcastpractice.FORCE_OFFLINE");sendBroadcast(intent);

}

});

}

}

步骤6修改BaseActivity中的代码如下所示publicclassBaseActivityextendsAppCompatActivity{privateForceOfflineReceiverreceiver;

@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);

ActivityCollector.addActivity(this);

}

@OverrideprotectedvoidonResume(){super.onResume();

IntentFilterintentFilter=newIntentFilter();intentFilter.addAction("com.example.broadcastpractice.FORCE_OFFLINE");receiver=newForceOfflineReceiver();

registerReceiver(receiver,intentFilter);

}

@OverrideprotectedvoidonPause(){super.onPause();if(receiver!=null){unregisterReceiver(receiver);receiver=null;

}

}

@OverrideprotectedvoidonDestroy(){super.onDestroy();

ActivityCollector.removeActivity(this);

}classForceOfflineReceiverextendsBroadcastReceiver{

@OverridepublicvoidonReceive(finalContextc ontext,Intentintent){

AlertDialog.Builderbuilder=newAlertDialog.Builder(context);

//标题builder.setTitle("强制下线通知");

//正文builder.setMessage("您的账号已在别地登录如不是本人操作请尽快修改密码");//不可取消builder.setCancelable(false);

//按钮

builder.setPositiveButton("确认",newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){

ActivityCollector.finishAll();

Intentintent=newIntent(context,LoginActivity.class);context.startActivity(intent);

}

});builder.show();

}

}

}

步骤7修改AndroidManifest.xml代码如下所示

<manifestxmlns:android="/apk/res/android"package="com.example.broadcastbestpractice">

<applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme">

<activityandroid:name=".MainActivity"/>

<activityandroid:name=".LoginActivity">

<intent-filter>

<actionandroid:name="ent.action.MAIN"/>

<categoryandroid:name="ent.category.LAUNCHE R"/></intent-filter>

</activity>

</application>

</manifest>

程序运行效果如下所示

实验结论及总结

成绩

教师签字

日期

CloudCone(1.99美元),可以额外选择Voxility高防IP

CloudCone 商家也是比较有特点的,和我们熟悉的DO、Vultr、Linode商家均是可以随时删除机器开通的小时计费模式。这个对于有需要短租服务器的来说是比较有性价比的。但是,他们还有一个缺点就是机房比较少,不同于上面几个小时计费服务商可以有多机房可选,如果有这个多机房方案的话,应该更有特点。这次我们可以看到CloudCone闪购活动提供洛杉矶三个促销方案,低至月付1.99美元。商家也可以随...

青果网络618:洛杉矶CN2 GIA/东京CN2套餐年付199元起,国内高防独服套餐66折

青果网络怎么样?青果网络隶属于泉州市青果网络科技有限公司,青果网络商家成立于2015年4月1日,拥有工信部颁发的全网IDC/ISP/IP-VPN资质,是国内为数不多具有IDC/ISP双资质的综合型云计算服务商。青果网络是APNIC和CNNIC地址分配联盟成员,泉州市互联网协会会员单位,信誉非常有保障。目前,青果网络商家正式开启了618云特惠活动,针对国内外机房都有相应的优惠。点击进入:青果网络官方...

3元/首月香港便宜vps究竟是什么货。

便宜的香港vps多少钱?现在国外VPS主机的价格已经很便宜了,美国VPS主机最低一个月只要十几元,但同样免备案的香港VPS价格贵不贵呢?或者说便宜的香港VPS多少钱?香港vps主机价格要比美国机房的贵一些,但比国内的又便宜不少,所以目前情况是同等配置下,美国VPS比香港的便宜,香港VPS比国内(指大陆地区)的便宜。目前,最便宜香港vps低至3元/首月、18元/月起,今天云服务器网(www.yunt...

jsp服务器为你推荐
扫描仪morphvox传感器安卓4公开微信5更新win7支持ipadnetbios端口怎么关闭8909端口!其他端口就不用了重庆宽带测速重庆哪一种宽带网速最快ipadwifiipad wifi信号差怎么办ipadwifiipad插卡版和wifi版有什么区别,价格差的多么?win10关闭445端口win10怎么关闭445的最新相关信息
php主机空间 国外服务器租用 合租服务器 美国vps 工信部域名备案系统 贝锐花生壳域名 过期域名抢注 openv duniu 空间打开慢 免费cdn加速 60g硬盘 godaddy域名优惠码 360抢票助手 java虚拟主机 福建天翼加速 qingyun 七夕快乐英文 183是联通还是移动 国外代理服务器软件 更多