Android

1.Google Android 给出的官方Android架构图就是大家都知道的四层,第一层是应用层(就是很多能够看得到的应用),第二层是应用框架层(为application提 供各种各样的支持),第三层是Library内库层 + Dalvik VM, 第四层是Linux kernel 层

2.自己理解的Android架构图-主要是把第一层和第二层合并成Android层,然后library c + dalvik vm 和 Linux kernel 是不会变的

3.从编程语言角度划分主要是,上层语言(Java语言 / Kotlin语言) 会去调用底层的API,JNI调用是可以实现Java和C/C++交互,互相调用

 


 

 

APP

一个应用有一个Application

一个应用有很多东西组成:通常情况下会有四大组件组成

 


 

 

Context 上下文环境

Context是环境,Activity是组件 所以会拥有环境,Service是组件 所以会拥有环境,ContextProvider是组件 所以会拥有环境,BroadcastReceiver是组件 所以会拥有环境 ....

环境的作用很大:可以直接操作 files / databases / share-pres 等等.....

 


 

Activity的父类是上下文环境,所以可以直接操作 files / databases / share-pres 等等.....

等等.........

 


 

 

Service的父类是上下文环境,所以可以直接操作 files / databases / share-pres 等等.....

 

等等.........

 


 

ContextProvider可以getContent();,所以可以操作 files / databases / share-pres 等等.....

Context context = getContext();

public class Test extends ContentProvider {

    @Override
    public boolean onCreate() {

        Context context = getContext();

        return false;
    }

}

 

等等.........

 


 

 

BroadcastReceiver 的 onReceive(Context context, ...)  所以可以操作 files / databases / share-pres 等等.....

public class Test extends BroadcastReceiver {
    
    @Override
    public void onReceive(Context context, Intent intent) {
        
    }
}

 

等等.........