安卓系统架构:
1. Linux内核层
为安卓设备的各种硬件提供了底层驱动。
2. 系统运行库层
c/c++库提供主要的特性支持,如sqlite,3d绘图等
同时作为运行时库,提供一些核心库(允许开发者使用java语言来编写安卓应用)。以及安卓运行时包含的虚拟机(dalvik,安卓5.0之后为ART运行环境)
3. 应用框架层
这一层主要提供构建应用程序所需要的api
4. 应用层
即我们看到的app,以及系统中的电话等程序。
安卓系统的四大组件:
1. 活动(activity):凡事在应用中你能看到的东西都是放在活动中运行的
2. 服务(service):你无法看到它,但它却一直在后台默默地运行,即使用户退出了应用,服务仍在运行
3. 广播接收器(broadcast receiver):接收来自各处的广播信息,比如电话,短信等,以及向外发送广播。
4. 内容(content provider):让各个应用之间的数据共享成为了可能。比如你手机中的电话薄,就需要通过内容提供起来实现
如何去除头部标题
ActionBar actionBar=getSupportActionBar();
if(actionBar!=null){
actionBar.hide();
}
通过实现View.OnClickListener接口来实现点击事件的绑定
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionBar=getSupportActionBar();
if(actionBar!=null){
actionBar.hide();
}
button1= (Button) findViewById(R.id.button1);
button1.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button1:
Toast.makeText(this,"you clicked here", Toast.LENGTH_LONG).show();
}
}
}
通过匿名内部内的方法来实现点击事件的绑定
public class MainActivity extends AppCompatActivity {
private Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionBar=getSupportActionBar();
if(actionBar!=null){
actionBar.hide();
}
button1= (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this,"you clicked here",Toast.LENGTH_LONG).show();
}
});
}
}
活动的生命周期
完整生存期:onCreate()到onDestroy()方法所经历的
可见生命周期(即对用户是可见的):
onStart()到onStop()方法所经历的
前台生命周期(可交互的):onResume()到onPause()
活动的启动模式
1. standard模式下,每当启动一个新活动,它就会在返回栈中入栈,并处于栈顶。
2. singleTop模式下,当活动的启动模式指定为singleTop如果启动活动时发现返回栈的栈顶已经是该活动,则认为可以直接使用它,不会再创建新的实例
3. singleTask模式下,每次启动活动系统都会首先在返回栈中检查是否存在该活动的实例,如果存在就直接使用该实例,并把这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的活动实例。
4. singleInstance模式,会启动一个新的返回栈来管理这个活动