Android四大组件分别为:1.活动Activity,2.服务Service,3.广播Broadcast Receiver,4.内容提供器Content Provider
此文章后面不完整,有时间还会补全,简书id同名,文章同步。
Activity基础
1.定义:Activity是一个包含视图界面的应用程序组件,负责与用户交互。
这是选择empty activity后新建一个项目,android studio自动生成的项目:
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文件中标签决定。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();的使用