Android学习笔记(1)————Android四大组件之一(Activity)

/********************************************************************************************
* author:conowen@大钟
* E-mail:conowen@hotmail.com
* http://blog.csdn.net/conowen
* 注:本文为原创,仅作为学习交流使用,转载请标明作者及出处。
********************************************************************************************/

1、Activity是Android四大组件(Application Components)之一,简单来说Activity就是平常所见到的用户界面,一般情况下,一个Activity所占的窗口是满屏的,但也可以是一个小的位于其它Activity之上的浮动窗口。一个Android工程至少有一个Activity,Activity上面可布有多个view的实例,如文本框、进度条、复选框、按钮等等。多个Activity之间通过Intent来实现跳转。

注:每新建一个activity,就要继承(extends)Activity类,复写onCreate(bundle)方法,然后绑定此activity的布局文件XML

public class secondactivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.secondactivity);//绑定布局文件 } }

最后还必须在AndroidManifest.xml里面注册这个新增加的activity

<activity android:label="second" android:name=".secondactivity" > </activity>





2、下面为Activity的继承关系,可见Activity继承与Contex类。



3、Activity的生命周期

其生命周期有如下几种

onCreate()、onRestart()、onStart()、onResume()、onPause()、onStop()、onDestroy()

注:

一般更新activity,要复写onResume(),然后在里面写更新的处理方法。

onpause方法与onstop方法的区别。

如果第二个activity没有完全遮挡住第一个activity时,如第二个activity是对话框形式到时候。就只调用第一个activity的onpause方法。

当第二个对话框完全遮挡住第一个对话框到时候,即第二个Activity是满屏状态,就会调用第一个Activity的onpause和onstop方法。

另外关于onsume方法,只用来获取用户焦点的(其实就是鼠标点击或者拖动之类的),即当前Activity处于激活状态。

//第一个activity启动第二个activity的顺序 first activity --onpause second activity --oncreate --onstart --onresume firsr activity --onstop//满屏状态 //--退掉第二个activity的顺序,接上面 second activity --onpause first activity --onrestart----------------->和oncreate差不多 --onstart --onresume second activity --onstop --ondestroy

4、Activity之间的跳转与intent


//第一个Activity package conowen.Activity.intent; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class IntentActivity extends Activity { /** Called when the Activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //新建一个按钮和一个编辑框 Button bt = (Button) findViewById(R.id.bt);// 通过id找到在main.xml设定的button, // 而且还强制转换为Button类型,使用findViewById时,前面都要加强制类型。 bt.setOnClickListener(new View.OnClickListener() { // setOnClickListener里面的参数本来为View.OnClickListener,但是可以直接在里面new这个类的实例,然后写出实例就行 @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); EditText et = (EditText)findViewById(R.id.et); String tempstr=et.getText().toString(); //.toString()方法表示返回String类型 intent.putExtra("result", tempstr); //把值塞入intent,让其传递到第二个Activity,intent相当于邮差,携带数据 //"result", tempstr表示键值对,result对应的值为tempstr intent.setClass(IntentActivity.this, secondactivity.class); // IntentActivity为第一个Activity,secondActivity为第一个Activity IntentActivity.this.startActivity(intent);// 开始跳转到第二个Activity } }); } }
//第二个Activity package conowen.Activity.intent; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class secondactivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.secondactivity); Intent intent=getIntent(); //获取intent TextView textview=(TextView) findViewById(R.id.textview); String res=intent.getStringExtra("result"); //通过键值对的键result,获取相对应的数值 int resint=Integer.parseInt(res); //把字符串转为整型 textview.setText(resint+""); //(resint为整型)后面加双引号,表示括号里面的都是字符串了。 //其实这里在括号里面直接写res即可,res本为String类型的,熟悉一下转换方法而已 } }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值