系出名门Android(4)

系出名门Android(4) - 活动(Activity),服务(Service),广播(Broadcast),广播接收器(BroadcastReceiver)

介绍

在 Android 中使用 Activity, Service, Broadcast, BroadcastReceiver

活动(Activity) - 用于表现功能

服务(Service) - 相当于后台运行的 Activity

广播(Broadcast) - 用于发送广播

广播接收器(BroadcastReceiver) - 用于接收广播

Intent - 用于连接以上各个组件,并在其间传递消息

1、演示 Activity 的基本用法,一个 Activity 启动另一个 Activity,启动另一个 Activity 时为其传递参数,被启动的 Activity 返回参数给启动者的 Activity

Main.java

package com.webabcd.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class Main extends Activity {

    TextView txt;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.main);

        txt = (TextView) this.findViewById(R.id.txt);
        txt.setText("Activity 1");

        Button btn = (Button) this.findViewById(R.id.btn);
        btn.setText("启动另一个Activity");
        btn.setOnClickListener(new Button.OnClickListener() {
            @Override
            public void onClick(View v) {

                // 实例化 Intent,指定需要启动的 Activity
                Intent intent = new Intent();
                intent.setClass(Main.this, MyActivity.class);

                // 实例化 Bundle,设置需要传递的参数
                Bundle bundle = new Bundle();
                bundle.putString("name", "webabcd");
                bundle.putDouble("salary", 100.13);

                // 将需要传递的参数赋值给 Intent 对象
                intent.putExtras(bundle);

                // startActivity(intent); // 启动指定的 Intent(不等待返回结果)
                // Main.this.finish();

                // 启动指定的 Intent,并等待返回结果
                // 其中第二个参数如果大于等于零,则返回结果时会回调 onActivityResult() 方法
                startActivityForResult(intent, 0);
            }
        });

        Log.d("MyDebug", "onCreate");
    }

    // 被启动的 Activity 返回结果时的回调函数
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == Activity.RESULT_OK){
            Bundle bundle = data.getExtras();

            String name = bundle.getString("name");
            double salary = bundle.getDouble("salary");

            txt.setText("Activity 1" + "\n名字:" + name + "\n薪水:" + String.valueOf(salary));
        }
    }

    @Override
    protected void onStart() {
        // TODO Auto-generated method stub
        super.onStart();

        Log.d("MyDebug", "onStart");
    }

    @Override
    protected void onStop() {
        // TODO Auto-generated method stub
        super.onStop();

        Log.d("MyDebug", "onStop");
    }

    @Override
    protected void onRestart() {
        // TODO Auto-generated method stub
        super.onRestart();

        Log.d("MyDebug", "onRestart");
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();

        Log.d("MyDebug", "onPause");
    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();

        Log.d("MyDebug", "onResume");
    }

    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();

        Log.d("MyDebug", "onDestroy");
    }
}

时间: 2024-11-02 20:56:14

系出名门Android(4)的相关文章

系出名门Android(8)

系出名门Android(8) - 控件(View)之TextSwitcher,Gallery,ImageSwitcher,GridView,ListView,ExpandableList 介绍 在 Android 中使用各种控件(View) TextSwitcher - 文字转换器控件(改变文字时增加一些动画效果) Gallery - 缩略图浏览器控件 ImageSwitcher - 图片转换器控件(改变图片时增加一些动画效果) GridView - 网格控件 ListView - 列表控件 E

系出名门Android(7)

系出名门Android(7) - 控件(View)之ZoomControls,Include,VideoView,WebView,RatingBar,Tab,Spinner,Chronometer,ScrollView 介绍 在 Android 中使用各种控件(View) ZoomControls - 放大/缩小按钮控件 Include - 整合控件 VideoView - 视频播放控件 WebView - 浏览器控件 RatingBar - 评分控件 Tab - 选项卡控件 Spinner -

系出名门Android(6)

系出名门Android(6) - 控件(View)之DatePicker,TimePicker,ToggleButton,EditText,ProgressBar,SeekBar,AutoCompleteTextView,MultiAutoCompleteTextView 介绍 在 Android 中使用各种控件(View) DatePicker - 日期选择控件 TimePicker - 时间选择控件 ToggleButton - 双状态按钮控件 EditText - 可编辑文本控件 Prog

系出名门Android(5)

系出名门Android(5) - 控件(View)之TextView,Button,ImageButton,ImageView,CheckBox,RadioButton,AnalogClock,DigitalClock 介绍 在 Android 中使用各种控件(View) TextView - 文本显示控件 Button - 按钮控件 ImageButton - 图片按钮控件 ImageView - 图片显示控件 CheckBox - 复选框控件 RadioButton - 单选框控件 Anal

系出名门 Android系列文章索引

介绍 系出名门 Android 系列文章索引:搭建开发环境, 布局, 菜单, 对话框, 通知, 活动, 服务, 广播, 广播接收器, 控件, 数据库支持, 内容提供器, HTTP通信, XML解析, 异步消息处理 1.系出名门Android(1) - 在 Windows 下搭建 Android 开发环境,以及 Hello World 程序 介绍 搭建 Android 的开发环境,以及写一个简单的示例程序 在 Windows 下搭建 Android 开发环境 Android 项目的目录结构说明 写

系出名门Android(3)

介绍 在 Android 中种对话框及各种通知效果的应用 常用对话框的使用,弹出式对话框.日期选择对话框.时间选择对话框.进度条对话框 通知(出现在通知列表)和提示性通知(Toast)的演示 1.常用对话框的演示 res/layout/main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com

系出名门Android(10)

介绍 在 Android 中与服务端做 HTTP 通信,解析 XML,通过 Handler 实现异步消息处理 HTTP 通信 - 与服务端做 HTTP 通信,分别以 GET 方式和 POST 方式做演示 XML 解析 - 可以用两种方式解析 XML,分别是 DOM 方式和 SAX 方式 异步消息处理 - 通过 Handler 实现异步消息处理,以一个自定义的异步下载类来说明 Handler 的用法 1.HTTP 通信和 XML 解析的 Demo MySAXHandler.java package

系出名门Android(9)

介绍 在Android中使用 SQLite, ContentProvider 数据库支持(SQLite) - Android 开发平台提供了操作 SQLite 数据库的相关 API 内容提供器(ContentProvider) - 当数据需要在应用程序之间共享时,可以在某程序中使用 ContentProvider 定义 URI, 以使其它应用程序可以通过此 URI 访问指定的数据 1.SQLite 的 Demo DatabaseHelper.java package com.webabcd.SQ

系出名门Android(2)

介绍 在 Android 中各种布局的应用,以及菜单效果的实现 各种布局方式的应用,FrameLayout, LinearLayout, TableLayout, AbsoluteLayout, RelativeLayout 为指定元素配置上下文菜单,为应用程序配置选项菜单,以及多级菜单的实现 1.各种布局方式的演示 res/layout/main.xml <?xml version="1.0" encoding="utf-8"?> <!-- la