四大组件

安卓开发 - 图1

res目录结构

安卓开发 - 图2

LOG

安卓开发 - 图3

Activity

创建Activity

  1. 新建一个 Activity , 会自动继承 Activity 然后实现 onCreate 方法
  2. 添加一个 layout 布局, 并设置布局
  3. 在创建的 ActivityonCreate 中, 使用 setContentView() 进行 layout 布局设置
  4. AndroidManifest 中注册新建的Activity
    1. <activity android:name=".FirstActivity" android:label="2.2"> <!-- 声明activity, 并修改标题 -->
    2. <intent-filter>
    3. <action android:name="android.intent.action.MAIN"/> <!-- 设置为主 Activity -->
    4. <category android:name="android.intent.category.LAUNCHER"/> <!-- 设置为启动项 -->
    5. </intent-filter>
    6. </activity>

      如果应用程序没有申明任何一个 Activity主Activity , 这个程序仍然可以正常安装, 但是无法在启动器中看到或者打开这个程序,   这种程序一般都是作为第三方服务供其他应用在内部进行调用的, 如支付宝的快捷支付服务

创建菜单

  1. 创建 menu 目录, 然后创建一个 menu.xml 进行菜单定制
  2. 通过XML定制 菜单内容
  3. 实现 ActivityonCreateOptionsMenu 方法, 在此方法中, 使用 getMenuInflater().inflate() 进行菜单自定义
    1. inflate参数1: 通过哪个资源进行菜单自定义
    2. inflate参数2: 指定菜单项, 将添加到哪个 Menu 对象中
  4. 返回值为 true 则表示允许菜单显示, 反之则无法显示
  5. 实现 ActivityonOptionsItemSelected 方法, 然后实现菜单的功能区别, 菜单项的ID 通过参数 item.getItemId() 获得 ```java @Override public boolean onCreateOptionsMenu(Menu menu) { this.getMenuInflater().inflate(R.menu.main, menu); // 设置自定义menu return true; }

@Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ // 派发命中的菜单项 case R.id.add_item:
Toast.makeText(this, “menu: add”, Toast.LENGTH_SHORT).show(); break; case R.id.remove_item: Toast.makeText(this, “menu: remove”, Toast.LENGTH_SHORT).show(); break; default: break; } return true; } ```

Intent

用于在 Activity 中穿梭

显式Intent

隐式Intent

更多的隐式Intent

向下一个Activity传递数据