广播移动应用服务器端开发(基于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>

程序运行效果如下所示

实验结论及总结

成绩

教师签字

日期

HaloCloud:日本软银vps100M/200M/500M带宽,,¥45.00元/月

halocloud怎么样?halocloud是一个于2019下半年建立的商家,主要提供日本软银VPS,广州移动VDS,株洲联通VDS,广州移动独立服务器,Halo邮局服务,Azure香港1000M带宽月抛机器等。日本软银vps,100M/200M/500M带宽,可看奈飞,香港azure1000M带宽,可以解锁奈飞等流媒体,有需要看奈飞的朋友可以入手!点击进入:halocloud官方网站地址日本vp...

新版本Apache HTTP Server 2.4.51发布更新(有安全漏洞建议升级)

今天中午的时候看到群里网友在讨论新版本的Apache HTTP Server 2.4.51发布且建议更新升级,如果有服务器在使用较早版本的话可能需要升级安全,这次的版本中涉及到安全漏洞的问题。Apache HTTP 中2.4.50的修复补丁CVE-2021-41773 修复不完整,导致新的漏洞CVE-2021-42013。攻击者可以使用由类似别名的指令配置将URL映射到目录外的文件的遍历攻击。这里...

BuyVM($5/月)不限流量流媒体优化VPS主机 1GB内存

BuyVM商家属于比较老牌的服务商,早年有提供低价年付便宜VPS主机还记得曾经半夜的时候抢购的。但是由于这个商家风控非常严格,即便是有些是正常的操作也会导致被封账户,所以后来陆续无人去理睬,估计被我们风控的抢购低价VPS主机已经手足无措。这两年商家重新调整,而且风控也比较规范,比如才入手他们新上线的流媒体优化VPS主机也没有不适的提示。目前,BuyVM商家有提供新泽西、迈阿密等四个机房的VPS主机...

jsp服务器为你推荐
责任编辑:纪春netbios端口26917 8000 4001 netbios-ns 端口 是干什么的ipadwifiipad wifi信号差怎么办css3按钮如何在html添加一个搜索框和一个按钮google统计怎样将Google分析转换成中文显示Google中文专题交流搜狗浏览器2.2在搜狗浏览器快速通道里设置的网址为什么打不开?点击安卓4Labelios6Deios8Exposingcn163
二级域名 绍兴服务器租用 域名查询软件 工信部域名备案系统 美国主机评测 xfce 嘟牛 河南服务器 智能骨干网 卡巴斯基破解版 域名与空间 主机管理系统 工信部网站备案查询 免费个人主页 实惠 supercache 百度新闻源申请 优惠服务器 tko nano 更多