安卓中Activity的跳转几乎是每一个APP都会用到的技术点。而且他的使用时十分简单的。

这里我们先说一下主要的技术要点:

1、在清单文件中注册新的Activity

2、通过意图跳转

这里我们看一下部分清单文件

注意,有配置红框的一般就是我们的主Activity,也就是程序的主入口。如果同时配置了两个主入口,则会生成两个快捷图标。一般我们不会这样使用。

好了,下面直接看代码吧。

清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.actitvtiydemo"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.CALL_PHONE"/> <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.example.actitvtiydemo.NextActivity" >
</activity>
</application> </manifest>

布局文件

主界面

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical" tools:context="com.example.actitvtiydemo.MainActivity" > <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="通过显示意图跳转到下一个Activity"
android:onClick="next"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="通过隐式意图跳转到打电话界面"
android:onClick="call"
/> </LinearLayout>

第二个布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是第二个ACtivity" /> </LinearLayout>

java文件

package com.example.actitvtiydemo;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} //显示意图,跳转到NextActivity.class
public void next(View v){
Intent intent = new Intent(this,NextActivity.class);
startActivity(intent);
}
//隐式意图跳转到电话界面。一般通过设置Action和Data来处理
/*
* 隐式意图:就是要匹配Activity在清单文件中匹配了那些内容
* 比如这打电话他配置了Action和Data,所以我们程序就会
* 找到批评Action和Data的程序,从而实现跳转
*
* */
public void call(View v){
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
//注意这里要申请打电话权限
intent.setData(Uri.parse("tel:10086"));
startActivity(intent); } }

第一个界面java文件

package com.example.actitvtiydemo;

import android.app.Activity;
import android.os.Bundle; public class NextActivity extends Activity{ @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.next_layout);
} }

最新文章

  1. Redhat6.5使用centos yum源
  2. 解决phpcms V9 推荐位无法排序
  3. Android深入浅出之Binder机制
  4. Python标准库04 文件管理 (部分os包,shutil包)
  5. Java反射机制探秘
  6. Difference between ref and out parameters
  7. Nagios3完整配置文档
  8. KindEditor 修改多图片上传显示限制大小和张数
  9. swift把汉字转换为拼音,并且截取首字母做索引用
  10. javascript book
  11. 【图解ASP.NET MVC运行机制理解-简易版】
  12. JVM系列文章(三):Class文件内容解析
  13. TOGAF企业连续体和工具之企业连续体构成及架构划分
  14. [BZOJ]1059 矩阵游戏(ZJOI2007)
  15. linux下的抓包
  16. pandas 对象中 to_pickle 方法参数命名问题,不能用frame
  17. spring 事物的一些理解
  18. 安装JavaFX Scene Builder,并配置到Eclipse
  19. create-react-app中img图片不现实
  20. node+express+ejs搭建一个简单的&quot;页面&quot;

热门文章

  1. Don&#39;t add unneeded context不要加不需要的文本
  2. JMeter常用的调试工具
  3. NovaException: Unexpected vif_type=binding_failed
  4. 如何在windows上部署war包到tomcat服务器
  5. linux服务器版svn安装
  6. SOLID
  7. 用css方法 可以实现多行 超出宽度 出点点点号
  8. STL的erase函数和lower_bound
  9. Redis的一些常用命令操作
  10. Linux下anaconda的安装