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

网站功能界面设计郓城县城乡和建设局网站

网站功能界面设计,郓城县城乡和建设局网站,莲湖区建设局网站,河北邯郸大风1. BroadcastReceiver 1.1 知识点 #xff08;1#xff09;掌握广播接收器的主要作用及基本实现#xff1b; #xff08;2#xff09;可以使用广播启动Service#xff1b; #xff08;3#xff09;理解闹钟服务的使用#xff1b; 1.2 具体内容 广播这个名词大家…1. BroadcastReceiver 1.1 知识点 1掌握广播接收器的主要作用及基本实现 2可以使用广播启动Service 3理解闹钟服务的使用 1.2 具体内容 广播这个名词大家并不陌生就像电视信号一样打开电视都可以接受到信号。广播是一种发出后不管的机制不管接受者能否正常接受广播发送者只管发送。在android中经常使用到广播机制向各个应用程序发送消息。 通过这个图我们可以明白广播机制里面还是需要使用Activity程序如果说想要建立广播的话还必须准备一个广播接收器。 package com.example.broadcast;import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast;public class MyBroadcastReceiver extends BroadcastReceiver {public MyBroadcastReceiver(){System.out.println(每次广播都会实例化一个新的广播组件进行操作);}Overridepublic void onReceive(Context context, Intent intent) {Toast.makeText(context, 广播已经启动, Toast.LENGTH_SHORT).show();//显示信息}}此时一个广播组件就定义好了那么定义好了之后我们需要在AndroidMainfest.xml进行注册。 receiverandroid:namecom.example.broadcast.MyBroadcastReceiverandroid:enabledtrue –启用广播intent-filter--匹配action操作是的广播action android:nameandroid.intent.action.EDIT/ /intent-filter/receiver现在发现广播配置中需要配置一个intent-filter节点表示此节点对一个指定的action操作的时候才会去启用广播。现在我们可以编写Activity程序进行广播的操作。现在通过按钮的事情启动广播。 LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalButtonandroid:idid/butandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:text开始广播//LinearLayout 现在的广播和服务一样都需要通过Activity程序去启动但是大家要记住一点广播可以根据系统的状态进行启动。 对于广播的注册也可以由程序完成。 package com.example.broadcast;import android.app.Activity; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;public class BroadcastActivity extends Activity {private Button but null;private MyBroadcastReceiver myBroadcastReceiver null;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.activity_broadcast);this.but (Button) super.findViewById(R.id.but);this.but.setOnClickListener(new OnClickListener() {Overridepublic void onClick(View v) {Intent it new Intent(www.wanczy.com);//启动Actionit.putExtra(msg, jjm是万策的职工);//start 通过程序去注册广播BroadcastActivity.this.myBroadcastReceiver new MyBroadcastReceiver();IntentFilter filter new IntentFilter(www.wanczy.com);BroadcastActivity.this.registerReceiver(BroadcastActivity.this.myBroadcastReceiver, filter);//end 以上就是广播在程序进行注册BroadcastActivity.this.sendBroadcast(it);//进行广播}});}} 以上的广播就是手工在程序进行注册的。 现在我们也可以对程序进行稍稍的修改因为现在不是针对所有的Action都进收听广播必须针对过滤的Action进行。 建议大家以后在开发中使用配置文件的形式进行配置。 package com.example.broadcast;import android.app.Service; import android.content.Intent; import android.os.IBinder;public class MyService extends Service {Overridepublic IBinder onBind(Intent intent) {return null;}Overridepublic void onCreate() {System.out.println(onCreate);super.onCreate();}Overridepublic void onDestroy() {System.out.println(onDestroy);super.onDestroy();}Overridepublic int onStartCommand(Intent intent, int flags, int startId) {System.out.println(onStartCommandintent);return Service.START_CONTINUATION_MASK;}}定义Bordcast package com.example.broadcast;import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast;public class MyBroadcastReceiver extends BroadcastReceiver {public MyBroadcastReceiver(){System.out.println(每次广播都会实例化一个新的广播组件进行操作);}Overridepublic void onReceive(Context context, Intent intent) { // Toast.makeText(context, 广播已经启动,intent.getStringExtra(msg) , Toast.LENGTH_SHORT).show();//显示信息context.startService(new Intent(context,MyService.class));//启动Service}}对于广播来说并没有太多复杂的操作广播里面也可以不做任何的Action的过滤。我们现在对于服务来说Activity可以启动广播也可以启动但是广播是可以在耨写特定的条件下启动服务的。例如手机开机的时候或者一些特定的应用程序运行的时候才会去启动服务。 范例设置闹钟 定义一个闹钟的提示类 package com.example.alarmproject;import java.text.SimpleDateFormat; import java.util.Date;import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle;public class AlarmMessage extends Activity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);new AlertDialog.Builder(this).setIcon(R.drawable.logo).setTitle(闹钟时间已到).setMessage(闹钟响起现在时间是new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(new Date(System.currentTimeMillis()))).setPositiveButton(关闭, new DialogInterface.OnClickListener() {Overridepublic void onClick(DialogInterface dialog, int which) {AlarmMessage.this.finish();}}).show();} } package com.example.alarmproject;import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent;public class MyAlarmReceive extends BroadcastReceiver {Overridepublic void onReceive(Context context, Intent intent) {Intent it new Intent(context,AlarmMessage.class);it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//传递一个新的任务标记context.startActivity(it);//启动Intent}}现在打开这个对话框的操作肯定是需要广播。 LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalandroid:gravitycenter_horizontalTimePicker android:idid/timeandroid:layout_widthmatch_parentandroid:layout_heightwrap_content/TextViewandroid:idid/msgandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:text当前没有设置闹钟 /Buttonandroid:idid/setandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:text设置闹钟 /Buttonandroid:idid/deleteandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:text删除闹钟 / /LinearLayout 通过定义的时间选择器选择时间设置闹钟。 package com.example.alarmproject;import java.util.Calendar;import android.app.Activity; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.widget.TimePicker; import android.widget.TimePicker.OnTimeChangedListener; import android.widget.Toast;public class MyAlarmManagerActivity extends Activity {private AlarmManager alarm null;private Button set null;private Button delete null;private TextView msg null;private TimePicker time null;private Calendar calendar Calendar.getInstance();// 取得日历操作类private int hourOfDay 0;// 保存我们设置的小时数private int minute 0;// 保存分钟Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.activity_my_alarm_manager);this.time (TimePicker) super.findViewById(R.id.time);this.set (Button) super.findViewById(R.id.set);this.delete (Button) super.findViewById(R.id.delete);this.msg (TextView) super.findViewById(R.id.msg);this.alarm (AlarmManager) super.getSystemService(Context.ALARM_SERVICE);// 取得闹钟服务this.time.setOnTimeChangedListener(new OnTimeChangedListenerImpl());this.set.setOnClickListener(new SetOnClickListenerImpl());this.delete.setOnClickListener(new DeleteOnClickListenerImpl());this.time.setIs24HourView(true);// 设置24小时制}private class OnTimeChangedListenerImpl implements OnTimeChangedListener {Overridepublic void onTimeChanged(TimePicker view, int hourOfDay, int minute) {MyAlarmManagerActivity.this.calendar.setTimeInMillis(System.currentTimeMillis());// 设置当前时间MyAlarmManagerActivity.this.calendar.set(Calendar.HOUR_OF_DAY,hourOfDay);MyAlarmManagerActivity.this.calendar.set(Calendar.MINUTE, minute);MyAlarmManagerActivity.this.calendar.set(Calendar.SECOND, 0);MyAlarmManagerActivity.this.calendar.set(Calendar.MILLISECOND, 0);MyAlarmManagerActivity.this.hourOfDay hourOfDay;MyAlarmManagerActivity.this.minute minute;}}private class SetOnClickListenerImpl implements OnClickListener {public void onClick(View v) {Intent intent new Intent(MyAlarmManagerActivity.this,MyAlarmReceive.class);intent.setAction(www.wanczy.com);PendingIntent sender PendingIntent.getBroadcast(MyAlarmManagerActivity.this, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT);// 指定PendingIntentMyAlarmManagerActivity.this.alarm.set(AlarmManager.RTC_WAKEUP,MyAlarmManagerActivity.this.calendar.getTimeInMillis(),sender);MyAlarmManagerActivity.this.msg.setText(闹钟响起的时间是 MyAlarmManagerActivity.this.hourOfDay 时 MyAlarmManagerActivity.this.minute 分);Toast.makeText(MyAlarmManagerActivity.this, 设置闹钟成功,Toast.LENGTH_SHORT).show();}}private class DeleteOnClickListenerImpl implements OnClickListener {public void onClick(View v) {if (null ! MyAlarmManagerActivity.this.alarm) {// 只有闹钟设置之后才能取消设置Intent intent new Intent(MyAlarmManagerActivity.this,MyAlarmReceive.class);PendingIntent sender PendingIntent.getBroadcast(MyAlarmManagerActivity.this, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT);MyAlarmManagerActivity.this.alarm.cancel(sender);//取消闹钟MyAlarmManagerActivity.this.msg.setText(当前没有设置闹钟);Toast.makeText(MyAlarmManagerActivity.this, 闹钟删除成功,Toast.LENGTH_SHORT).show();}}} } receiverandroid:namecom.example.alarmproject.MyAlarmReceiveandroid:enabledtrueandroid:process:remote—开辟一个新的进程intent-filteraction android:namewww.wanczy.com//intent-filter /receiver1.3 小结 1广播属于触发式操作当有了指定操作之后会自动启动广播 2通过广播可以实现Service程序的启动
http://www.yutouwan.com/news/368257/

相关文章:

  • 吉林网站建设制作百度加速乐wordpress
  • 个人网站开发如何赚钱吗徐州 商城网站设计
  • 新手学做网站的书WordPress如何获取logo
  • 网站备案IP与空间长宁网站建设制作
  • 微信 网站 收费标准wordpress后台慢的问题
  • php做企业网站.net网站开发文档
  • 视频收费网站怎么做怎样做网站xml
  • 常州市网站制作做软件的步骤
  • 如何做背景不动的网站奥地利网站后缀
  • 做网站用什么主机好宁波seo营销技巧
  • 廊坊建站软件wordpress的根目录在哪里
  • 网站建设项目可行性研究报告网站建设 价格低
  • 建站之星模块免费公司取名
  • 茂南手机网站建设公司信息化建设
  • 做生鲜管理系统的网站怎么自己做刷东西网站
  • 做云教育集群网站房屋平面设计软件手机版
  • 青岛优化网站关键词织梦笑话网站
  • 网站后台上次图片程序员怎么做网站赚钱
  • 怎样才能建设一歌网站网站如何做微信推广方案设计
  • 视频直播网站开发与制作dw网站建设的常用技术
  • 利用手机搭建网站怎样制作网站开发的进度表
  • 做网站字体一般设置网站服务器建设费用
  • 做多肽的都有哪些网站网站设计欣赏中国
  • 设计素材网站 ps学做吃的网站有哪些
  • 教育培训网站大全公司网站设计注意什么
  • 全国未成年人思想道德建设网站青岛慧思网站建设
  • 西安网站建设专业顶尖设计吧官网
  • 成都成华区网站建设哈尔滨 门户网站
  • 公司网站的备案号是如何链接的免费域名网站
  • 电商网站设计目的五里店网站建设