【Android基础入门〖3〗】四大组件之Activity

1 简介

Activity (活动) 即应用程序 显示的 界面。可以通过两种方式 设置显示的内容 1:纯代码方式 2:xml 布局方式
无论哪一种方式,都是通过 setContentView 来设置显示的内容。

使用步骤
基本上四大组件创建步骤都一样
1:自定义 组件(Activity)
2:注册
3:使用

2 生命周期图



3  新建一个自定义的Activity

index.java
  1. package com.demo;  
  2. import android.app.Activity;  
  3. import android.content.Intent;  
  4. import android.os.Bundle;  
  5. import android.widget.TextView;  
  6. public class index extends Activity{  
  7.     @Override  
  8.     protected void onCreate(Bundle savedInstanceState) {  
  9.         // TODO 自动生成的方法存根  
  10.         super.onCreate(savedInstanceState);  
  11.         Intent intent=this.getIntent();  
  12.         TextView text=new TextView(this);  
  13.         text.setText(intent.getStringExtra("str"));  
  14.         setContentView(text);//设置显示的内容,这里是代码生成的 TextView 对象  
  15.     }  
  16.     @Override  
  17.     public void onBackPressed() {  
  18.         // 拦截返回按钮  
  19.         Intent intent=new Intent();创建 intent 绑定要传送的数据  
  20.         Bundle bundle=new Bundle();  
  21.         bundle.putString("s1""恭喜你跳成功了");  
  22.         bundle.putString("s2""然后赶紧回家睡觉吧");  
  23.         intent.putExtra("bundle", bundle);  
  24.         setResult(0, intent);//通过 intent 返回数据  
  25.         this.finish();  
  26.     }  
  27. }  

4  注册Activity

AndroidManifest.xml
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     package="com.myprovider"  
  4.     android:versionCode="1"  
  5.     android:versionName="1.0" >  
  6.   
  7.     <uses-sdk  
  8.         android:minSdkVersion="11"  
  9.         android:targetSdkVersion="18" />  
  10.   
  11.     <application  
  12.         android:allowBackup="true"  
  13.         android:icon="@drawable/ic_launcher"  
  14.         android:label="@string/app_name"  
  15.         android:theme="@style/AppTheme" >  
  16.         <activity  
  17.             android:name="com.myprovider.MainActivity"  
  18.             android:label="@string/app_name" >  
  19.             <intent-filter>  
  20.                 <action android:name="android.intent.action.MAIN" />  
  21.   
  22.                 <category android:name="android.intent.category.LAUNCHER" />  
  23.             </intent-filter>  
  24.         </activity>  
  25.         <provider  
  26.             android:name="com.myprovider.MyProvider"  
  27.             android:authorities="com.michael"  
  28.             android:exported="true"/>  
  29.     </application>  
  30.   
  31. </manifest>  

5  MainActivity (主 Activity)

MainActivity.java
  1. package com.demo;   
  2. import android.app.Activity;  
  3. import android.content.Intent;  
  4. import android.os.Bundle;  
  5. import android.util.Log;  
  6. import android.view.View;  
  7. import android.view.View.OnClickListener;  
  8. import android.widget.Button;  
  9. import android.widget.EditText;  
  10. public class MainActivity extends Activity {  
  11.     EditText edit1;  
  12.     String str;  
  13.     @Override  
  14.     protected void onCreate(Bundle savedInstanceState) {  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.activity_main);  
  17.           
  18.         edit1=(EditText)findViewById(R.id.edit1);  
  19.         edit1.setText(str);  
  20.           
  21.         Button btn=(Button)findViewById(R.id.btn1);  
  22.         btn.setOnClickListener(new OnClickListener() {  
  23.               
  24.             @Override  
  25.             public void onClick(View v) {  
  26.                 // TODO 自动生成的方法存根  
  27.                 Intent intent=new Intent();  
  28.                 intent.putExtra("str""我跳跃成功!哈哈");  
  29.                 intent.setClass(MainActivity.this, index.class);  
  30.                 //startActivity(intent);  
  31.                 startActivityForResult(intent, 0);  
  32.             }  
  33.         });  
  34.     }  
  35.     @Override  
  36.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  37.         // TODO 自动生成的方法存根  
  38.         super.onActivityResult(requestCode, resultCode, data);  
  39.         Bundle bundle=data.getBundleExtra("bundle");  
  40.         edit1.setText(bundle.getString("s1")+bundle.getString("s2"));  
  41.     }  
  42.       
  43.     @Override  
  44.     protected void onStart() {  
  45.         // TODO 自动生成的方法存根  
  46.         super.onStart();  
  47.         Log.i("demo""onStart");  
  48.     }  
  49.     @Override  
  50.     protected void onRestart() {  
  51.         // TODO 自动生成的方法存根  
  52.         super.onRestart();  
  53.         Log.i("demo""onRestart");  
  54.     }  
  55.     @Override  
  56.     protected void onResume() {  
  57.         // TODO 自动生成的方法存根  
  58.         super.onResume();  
  59.         Log.i("demo""onResume");  
  60.     }  
  61.     @Override  
  62.     protected void onPause() {  
  63.         // TODO 自动生成的方法存根  
  64.         super.onPause();  
  65.         Log.i("demo""onPause");  
  66.     }  
  67.     @Override  
  68.     protected void onStop() {  
  69.         // TODO 自动生成的方法存根  
  70.         super.onStop();  
  71.         Log.i("demo""onStop");  
  72.     }  
  73.     @Override  
  74.     protected void onDestroy() {  
  75.         // TODO 自动生成的方法存根  
  76.         super.onDestroy();  
  77.         Log.i("demo""onDestroy");  
  78.           
  79.         str=edit1.getText().toString();  
  80.     }  
  81. }  


注:转载请注明出处 :)   毕竟代码是一个一个敲出来的啊,O(∩_∩)O~


原:http://blog.csdn.net/mkrcpp/article/details/11992317

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值