《第一行代码Android》学习总结第二章 Activity创建与相关设置

一、id标签

如果在XML文件中引用一个id,则使用@id/id_name;

如果在XML文件中定义一个id,则使用@+id/id_name。

二、程序中设置主活动

在AndroidMaifest.xml中设置

<intent-filter>
       <action android:name="android.intent.action.MAIN" />
       <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>

三、Toast的用法

Toast:Android内部封装的提醒方式,可将一些短小的信息通知给用户。

Toast.makeText(this,”This is a Toast”,Toast.LENGTH_SHORT).show();

第一个参数Context上下文。

第一个参数提醒信息文本。

第三个参数通知显示时长Toast.LENGTH_SHORT或Toast.LENGTH_LONG。

四、Menu的用法

    运用Menu使用大量菜单。

1、在menu文件夹中新建Menu resource file文件并在xml文件中添加item

2、在Activity中重写onCreateOptionMenu()方法 (快捷键Ctrl+O) ,getMenuInflater().inflate()创建Menu对象,并创建菜单。

3、重写onOptionItemSelected()方法定义菜单响应事件。

四、销毁活动

1、点击Back键。

2、运用Activity的finish()方法。

五、Intent的用法

   运用Intent进行android组件间交互,用于启动活动、服务以及发送广播。

1、显式Intent

Intent intent = new Intent(Activity.this,TargetActivity.class);
startActivity(intent);

2、隐式Intent

并不明确指出启动哪个Activity,而是在AndroidMaifest.xml中指定action和category等属性,由系统找出匹配的Activity,同时可以在<Intent-filter>标签中配置<data>标签,更精确的指定当前活动能够响应什么类型的数据。

每个Intent只能指定一个action,但可以指定多个category。

更多隐式Intent用法:

1)App中调用Android内置浏览器打开网页

Intent intent = new Intent(Intent.ACTION_VIEW);
Intent.setData(Uri.parse(“http://www.baidu.com”);
startActivity(intent);

2) 除了http协议外,还可以指定其他协议,比如geo表示显示地理位置,tel表示拨打电话。

Intent intent = new Intent(Intent.ACTION_DIAL);
Intent.setData(Uri.parse(“tel:10086”);
startActivity(intent);

六、活动间数据传递

1、向下传递

    运用Intent中的putExtra()方法,将需要的数据以key-value形式存入Intent中,打开另一活动,并将这些数据运用Intent中的getStringExtra()、getIntExtra()、getBooleanExtra()等获取。

2、向上传递

   1)运用Activity中的startActivityForResult()方法,该方法在活动销毁时返回一个结果给上一个活动。其中第一个参数为Intent,第二个参数为请求码,用于之后的调用中判断数据来源。

   2)在下一个Activity中创建Intent,并调用setResult()方法,该方法用于专门为上一个活动返回数据。

第一个参数为处理结果(RESULT_OK或RESULT_CANCELED)。

第二个参数为Intent。最后执行finish()方法销毁活动。

   3)在上一个Activity中重写onActivityResult()方法获取返回得到的方法。

第一个参数requestCode为启动活动时传入的请求码。

第二个参数resultCode为返回数据时传入的处理结果。

第三个参数data携带返回数据的Intent。

猜你喜欢

转载自blog.csdn.net/LBW9368/article/details/83753142