美文网首页JavaAndroid开发Android开发经验谈
Android基础-四大组件之activity

Android基础-四大组件之activity

作者: 小蜉蝣星蔚 | 来源:发表于2019-07-09 23:40 被阅读3次
    Android四大组件分别为:1.活动Activity,2.服务Service,3.广播Broadcast Receiver,4.内容提供器Content Provider

    此文章后面不完整,有时间还会补全

    Activity基础

    1.定义:Activity是一个包含视图界面的应用程序组件,负责与用户交互。
    这是选择empty activity后新建一个项目,android studio自动生成的项目:

    newactivity
    2.可以通过setContentView()来为活动加载xml布局文件
    setContentView(R.layout.activity_main);
    

    3.任何活动都应重写的方法是onCreate()方法。

    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }
    

    4.需使用活动就需在AndroidManifest文件中注册(右键new一个activity通常Android studio会自动注册)。

     <application
           ...
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            
        </application>
    

    5.一个app首先启动哪一个activity由在AndroidManifest文件中<intent-filter>标签决定。activity标签下添加

     <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    

    6.Activity之间通过Intent进行通信。
    Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给被调用的组件,并完成组件的调用。——百度百科

    Intent大致分为显示Intent和隐式Intent
    显示Intent使用:
    1.在MainActivity中启动活动NextActivity

    Intent intent = new Intent(MainActivity.this,NextActivity.class)
    startActivity(intent);
    

    2.在MainActivity中启动活动NextActivity 并传数据
    使用 putExtra() 方法,以键值对形式传入两参数,例子如下

    //MainActivity中传递
    int num=1;
    Intent intent = new Intent(MainActivity.this,NextActivity.class)
    intent.putExtra("numberData",num)
    startActivity(intent);
    
    //NextActivity中获取
    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_next);
            //获取MainActivity传来的数据
            Intent intent = getIntent();
            Int num=intent.getIntExtra("numberData");
        }
    3.返回数据给上一个活动
    startActivityForResult();的使用
    
    

    Activity生命周期(重点)

    这是官方文档图:

    activity生命周期

    相关文章

      网友评论

        本文标题:Android基础-四大组件之activity

        本文链接:https://www.haomeiwen.com/subject/yqpqkctx.html