2020-09-27 Android基础知识——Activity

参考于Android官方文档

Activity

Activity是android应用的关键组件,与桌面系统不同的是,android应用有多种启动入口。当一个应用调用另一个应用时,调用方法会调用另一个应用的activity,而不是整个app。这种情况下activity充当了与用户交互的入口。通常一个app有一个mainActivity作为app启动时的入口。虽然Activity是在协同工作,但每个Activity间只存在很少的依赖。要在app中使用activity,需要在androidmanifest.xml,也就是清单中声明关于Activity的信息,管理Activity的生命周期。

Androidmanifest.xml

声明一个activity,需要在androidmanifest中将该activity作为application元素的子元素。activity元素唯一必要的属性是android:name。(发布应用后,activity:name熟悉不应该更改)

    
      
          
          ...
      
      ...
    

Intent过滤器是一个消息传递对象,借助这项功能,可以通过显式请求与隐式请求来启动Activity。
使用Intent功能,需要在元素中声明属性,该熟悉包含元素,可选的元素与元素。通过这些元素可以指定Activity能够响应的intent类型。

    
        
            
            
            
        
    
    

上述例子中,指定该Activity会发送数据,将 元素声明为 DEFAULT 可使 Activity 能够接收启动请求。元素指定此 Activity 可以发送的数据类型。以下代码段展示了如何调用上述 Activity:

    // Create the text message with a string
    Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_SEND);
    sendIntent.setType("text/plain");
    sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage);
    // Start the activity
    startActivity(sendIntent);

实例化Intent对象后,使用sentAction()为Intent指定操作,ACTION_SEND意味使用发送数据的Action,setType设定数据类型,putExtra则是携带完成请求操作所需的附加信息的键值对。最后将该Intent传入启动Activity方法中。

可以使用清单的 标记来控制哪些应用可以启动某个 Activity。父 Activity 和子 Activity 必须在其清单中具有相同的权限,前者才能启动后者。如果您为父 Activity 声明了 元素,则每个子 Activity 都必须具有匹配的 元素。

Activity的生命周期
onCreat()
onStart()
onResume()
onPause()
onStop
onRestart()
onDestroy()

暂时就到这里

你可能感兴趣的:(2020-09-27 Android基础知识——Activity)