Android初始篇二 Android四大组件之Activity
来源:互联网 发布:mac装win10后启动黑屏 编辑:程序博客网 时间:2024/06/05 20:52
Android 四大组件 分别是:
1. activity ( 活动)
2. Service ( 服务 )
3. Broadcast Receiver ( 广播接收器 )
4. Content Provider ( 内容提供者 )
我打算用四篇文章说明:
今天先用 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时被调用
思路: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()----"); }}
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(); //关闭 } }); }}
运行结果:
查看日志:
初始时:
从第一页跳第二页,关闭第二页,日志:
以上是运行结果,
欢迎各位大神指点......
- Android初始篇二 Android四大组件之Activity
- Android应用程序四大组件之Activity(二)
- Android 四大组件学习之Activity二
- Android四大组件之Activity(二)
- android四大组件之Activity(二)
- Android初始篇三,Android四大组件之Service
- Android 初始篇四 Android 四大组件之BroadcastReceiver
- 谈Android四大组件之Activity篇
- Android四大组件之Activity篇
- Android四大组件之Activity篇
- Android四大组件之Activity
- Android四大组件之Activity
- Android四大组件之Activity
- Android四大组件之Activity
- android四大组件之Activity
- android四大组件之Activity
- android四大组件之Activity
- android四大组件之Activity
- uva11988 Broken Keyboard (a.k.a. Beiju Text)
- 最特殊的快捷键 Alt + Enter 介绍(导包等功能)
- 10、自定义视图
- 多线程入门 MyThread01
- 专题、分类、商品详情接口编写
- Android初始篇二 Android四大组件之Activity
- ZCMU1779
- JAVA9 API翻译(Java® Platform, Standard Edition & Java Development Kit Version 9 API Specification)
- 输出一个桃心形状
- 20171113每日一练
- 10 种机器学习算法的要点(附 Python 和 R 代码)
- 1004. Counting Leaves (30)
- UVa 1586 水题
- 在WPF中添加WINFORM控件的方法