編輯:Android開發教程
系出名門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");
}
}
通過Java包名直接定位到你的Apphttp://market.android.com/details?id=<java包名>或者market://detai
X86架構的CPU采用的是復雜指令集(Complex Instruction Set Computer,CICS),而ARM架構的CPU使用的是精 簡指令集
使用一個例子,來總結一下ListView的基本使用。1. 新建一個工程:ListViewDemo。2. main.xml中的代碼。<?xml version=&qu
Android數據儲存之File文件儲存數據 一.存儲在內部還是外部? AndroidManifest.xml中manifest標簽下有一個屬性andro