您的位置:首页 > 移动开发 > Android开发

Android初始篇二 Android四大组件之Activity

2017-11-13 21:49 302 查看

 

Android 四大组件 分别是:     

    1. activity ( 活动
)

    2. Service ( 服务
)

    3. Broadcast Receiver (
广播接收器 )

    4. Content Provider (
内容提供者 )

   我打算用四篇文章说明:

     今天先用
Activity (活动) ,做出下面的效果,

   先了解 Activity ( 活动 ) ,分下面一 一介绍:
  

      1. activity
的概念.
      2. Activity
的三种状态
      3. Activity
生命周期的七个方法
      4. Activity
的操作
      5. Activity
的数据传递
1>.activity的概念:

     Activity 是四大组件中最常用的.程序Activity通常的表现形式是一个单独的界面(
screen ) .每个Activity都是一个单独的类,它扩展实现了Activity基础类.这个类显示为一个由Views组成的用户界面,并响应事件,每个界面都是一个Activity
, 切换到另一个界面就是载入一个新的Activity .

 

2>   Activity
的三种状态:
         (1).
活动状态:如打开程序的页面
         (2). 停止状态:
如打开程序的页面,回到页面,
         (3). 暂停状态:
要清理手机缓存的时候,还没有清理时的状态

3>   Activity
生命周期的七个方法:



 1.protected
void onCreate( Bundle savedInstanceState){ }方法: 这是一个Activity 实例被启动时调用的第一个方法

 2.protected void onStart(){ }方法:该方法在 onCreate()方法之后被调用,或者在Acivity从Stop状态转换为Active状态时被调用
 3.protected
void onResume(){ }方法:在Activity从Active 状态转换到Pause状态时被调用.
 4.protected
void onPause(){ }方法:暂停Activity
时被回调
 5.protected
void onStop(){ }方法:
在Activity 从 Active 状态转换到Stop 状态时被调用,一般在此保存 Activity 的状态信息
 6.protected
void onDestroy(){ }方法:
在 Activity被结束时调用,一般用于释放缓存和清理内存用的6.protected
void onDestroy(){ }方法:
 7.protected
void onRestart(){ }方法: 重新启动了Activity时被调用

4. Activity 的操作:
  思路:mianActivity.java ,  ont.java

    activity_main.xml, activity_ont.xml

   在 activity_main.xml中放 TextView, EditText, Button,
   
用代码了:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
<TextView
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="第一个页面"/>
<EditText
android:id="@+id/id_et"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入用户名"/>
<Button
android:id="@+id/id_btn"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="点击跳转第二个页面"/>

</LinearLayout>


 

activity_ont.xml中放 TextView, EditText, Button

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="第二个页面传过来的值"/>
<EditText
android:id="@+id/id_et2"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入用户名"/>

<Button
android:id="@+id/id_coles"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="关闭当前的页面"/>
</LinearLayout>


这是activity_main.xml,activity_ont.xml布局;

在mianActivity.java中

public class MainActivity extends AppCompatActivity {
private  String TAG = "--app--";
private Button button1;
private EditText et1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.e(TAG,"------onCreate----");
et1 = (EditText) findViewById(R.id.id_et);
button1 = (Button)findViewById(R.id.id_btn);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent it=new Intent(MainActivity.this,ont.class);
Bundle data = new Bundle();
data.putString("uname",et1.getText().toString());
it.putExtras(data);
// startActivity(it); //单传数据
startActivityForResult(it,0);  //回传
}
});

}
//启动 inter 有返回值得时候
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
String result = data.getStringExtra("oneName");
et1.setText(result);
super.onActivityResult(requestCode, resultCode, data);

}
@Override
protected void onStart() {
super.onStart();
Log.e(TAG,"------onStart()----");
}

@Override
protected void onResume() {
super.onResume();
Log.e(TAG,"------onResume()----");
}

@Override
protected void onPause() {
super.onPause();
Log.e(TAG,"------onPause()----");
}

@Override
protected void onStop() {
super.onStop();
Log.e(TAG,"------onStop()----");
}

@Override
protected void onDestroy() {
//在摧毁
super.onDestroy();
Log.e(TAG,"------onDestroy()----");

}

@Override
protected void onRestart() {
super.onRestart();
Log.e(TAG,"------onRestart()----");

}
}


在ont.java中:

public class ont extends AppCompatActivity {
private Button btnClose ;
private EditText et2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ont);
Bundle data = getIntent().getExtras();
String uname = data.getString("uname");
et2 = (EditText) findViewById(R.id.id_et2);
et2.setText(uname);
btnClose = (Button) findViewById(R.id.id_coles);
btnClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent    intent = new Intent();
intent.putExtra("oneName",et2.getText().toString());
setResult(0,intent);
finish(); //关闭
}
});
}
}


运行结果:



查看日志:

初始时:



从第一页跳第二页,关闭第二页,日志:



以上是运行结果,

欢迎各位大神指点......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息