• Android之活动(Activity)


    活动是什么

    活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。

    活动构成需要具备以下三个条件(逻辑与视图分离):

    1. java源文件;
    2. 与.java相对应的layout文件;
    3. AndroidManifest.xml声明注册;

    在生命周期开始onCreate()中进行事件初始化

    1. package com.example.activitytest;
    2. import android.content.Intent;
    3. import android.net.Uri;
    4. import android.support.v7.app.AppCompatActivity;
    5. import android.os.Bundle;
    6. import android.view.Menu;
    7. import android.view.MenuItem;
    8. import android.view.View;
    9. import android.widget.Button;
    10. import android.widget.Toast;
    11. public class FirstActivity extends AppCompatActivity {
    12. @Override
    13. protected void onCreate(Bundle savedInstanceState) {
    14. //------------------------------------------
    15. // 以下默认生成
    16. super.onCreate(savedInstanceState);
    17. setContentView(R.layout.first_layout);
    18. // ---------------------------------------
    19. // 通过ID文件中取得类实例
    20. Button button1 = (Button) findViewById(R.id.button_1);
    21. button1.setOnClickListener(new View.OnClickListener() {
    22. @Override
    23. public void onClick(View v) {
    24. Intent intent = new Intent(Intent.ACTION_DIAL);
    25. intent.setData(Uri.parse("tel:10086"));
    26. startActivity(intent);
    27. }
    28. });
    29. /*
    30. // --------------------------------
    31. // 调用系统的浏览器来打开这个网页
    32. button1.setOnClickListener(new View.OnClickListener() {
    33. @Override
    34. public void onClick(View v) {
    35. Intent intent = new Intent(Intent.ACTION_VIEW);
    36. intent.setData(Uri.parse("http://www.baidu.com"));
    37. startActivity(intent);
    38. }
    39. });
    40. */
    41. /*
    42. // --------------------------------
    43. // 匹配的类别与action自动跳转到指定activity
    44. button1.setOnClickListener(new View.OnClickListener() {
    45. @Override
    46. public void onClick(View v) {
    47. // AndroidManifest.xml指明的action name
    48. Intent intent = new Intent("com.example.activitytest.ACTION_START");
    49. // AndroidManifest.xml指明的Category name
    50. intent.addCategory("com.example.activitytest.MY_CATEGORY");
    51. startActivity(intent);
    52. }
    53. });
    54. */
    55. /*
    56. // -----------------------------------------------
    57. // 隐式intent使用方法,在AndroidManifest.xml中指明跳转条件
    58. button1.setOnClickListener(new View.OnClickListener() {
    59. @Override
    60. public void onClick(View v) {
    61. Intent intent = new Intent("com.example.activitytest.ACTION_START");
    62. startActivity(intent);
    63. }
    64. });
    65. */
    66. /*
    67. // -----------------------------------------------
    68. // 显式intent使用方法,指明转移activity类名
    69. button1.setOnClickListener(new View.OnClickListener() {
    70. @Override
    71. public void onClick(View v)
    72. {
    73. Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
    74. startActivity(intent);
    75. }
    76. }
    77. );
    78. */
    79. /*
    80. // -----------------------------------------------
    81. // Toast提醒工具使用方法
    82. button1.setOnClickListener(new View.OnClickListener() {
    83. @Override
    84. public void onClick(View v) {
    85. Toast.makeText(FirstActivity.this, "You clicked Button 1",
    86. Toast.LENGTH_SHORT).show();
    87. }
    88. });
    89. */
    90. }
    91. @Override
    92. public boolean onOptionsItemSelected(MenuItem item) {
    93. //return super.onOptionsItemSelected(item);
    94. switch (item.getItemId()) {
    95. case R.id.add_item:
    96. Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show();
    97. break;
    98. case R.id.remove_item:
    99. Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show();
    100. break;
    101. default:
    102. }
    103. return true;
    104. }
    105. @Override
    106. public boolean onCreateOptionsMenu(Menu menu) {
    107. //return super.onCreateOptionsMenu(menu);
    108. getMenuInflater().inflate(R.menu.main, menu);
    109. return true;
    110. }
    111. }

    主活动之注册

    注册在 “AndroidManifest.xml”中进行,加入如下红字标记两句,表示主活动界面,android studio中会自动的进行注册声明。

    
        
            
            
        
    
    

    活动的生命周期图

    工程说明

  • 相关阅读:
    Thinking in JAVA:深入理解Java编程之道
    内质网应激+预后模型新方向,干湿结合搞定5+sci
    【路径规划】局部路径规划算法——DWA算法(动态窗口法)|(含python实现)
    超实用!你不得不知道的7款项目管理神器
    Java 成员内部类
    分布式中灰度方案实践
    javaee spring 声明式事务管理方式2 注解方式
    MATLAB之函数文件
    html怎么设置按钮返回顶部
    Web安全常见攻击
  • 原文地址:https://blog.csdn.net/zhouqt/article/details/126382173