• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android入门(二)Activity-Toast、Intent,intentservicetoast

Android入门(二)Activity-Toast、Intent,intentservicetoast

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android打电话intent,android intent,android intent传值,android intent跳转,android intent详解等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android入门(二)Activity-Toast、Intent,intentservicetoast


原文链接:http://www.orlion.ga/427/

一、隐藏activity的标题

    在activity的java代码的onCreate()方法中入requestWindowFeature(Window.FEATURE_NO_TITLE);如下:

@Override
	public void onCreate(Bundle savedInstanceState){
		
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.first_layout);
	}

二、在Activity中使用Toast

    首先给button绑定点击事件,然后在button被点击时候弹出toast:

@Override
	public void onCreate(Bundle savedInstanceState){
		
		super.onCreate(savedInstanceState);
		
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.first_layout);
		
		// 点击按钮弹出Toast
		Button button1 = (Button) findViewById(R.id.button_1);
		button1.setOnClickListener(new View.OnClickListener(){
			@Override
			public void onClick(View v){
				Toast.makeText(FirstActivity.this, "You chick button 1" , Toast.LENGTH_SHORT).show(); 
			}
		});
	}

    解释:在活动中,可以通过 findViewById()方法获取到在布局文件中定义的元素,这里我们传入 R.id.button_1,来得到按钮的实例,这个值是刚才在 first_layout.xml中通过 android:id属性指定的。findViewById()方法返回的是一个 View对象,我们需要向下转型将它转成 Button对象。得到了按钮的实例之后,我们通过调用 setOnClickListener()方法为按钮注册一个监听器,点击按钮时就会执行监听器中的 onClick()方法。因此,弹出 Toast的功能当然是要在nClick()方法中编写了。

    Toast的用法非常简单, 通过静态方法makeText()创建出一个Toast对象, 然后调用show()将 Toast显示出来就可以了。这里需要注意的是,makeText()方法需要传入三个参数。第一个参数是 Context,也就是 Toast要求的上下文,由于活动本身就是一个 Context对象,因此这里直接传入FirstActivity.this即可。 第二个参数是Toast显示的文本内容, 第三个参数是Toast显示的时长,有两个内置常量可以选择 Toast.LENGTH_SHORT和 Toast.LENGTH_LONG。

 

    如果你需要在 XML中引用一个 id,就使用@id/id_name这种语法,而如果你需要在 XML中

定义一个 id,则要使用@+id/id_name这种语法。

 

三、使用Intent

    怎样才能由主活动跳转到其他活动呢?我们现在就来一起看一看。

    1、使用显式Intent

    在 ActivityTest项目中再创建一个活动。新建一个 second_layout.xml布局文件,代码如下:

<?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" >
	<Button
	    android:id="@+id/button_2"
	    android:layout_width="match_parent"
	    android:layout_height="wrap_content"
	    android:text="Button 2"/>
</LinearLayout>

    新建活动 SecondActivity继承自Activity,代码如下:

package ga.orlion.activitydemo1;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;

public class SecondActivity extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState){
		
		super.onCreate(savedInstanceState);
		
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.second_layout);
	}
}

    最后在 AndroidManifest.xml中为 SecondActivity进行注册。

        <activity 
            android:name=".SecondActivity">
            
        </activity>

    

    由于 SecondActivity不是主活动,因此不需要配置<intent-filter>标签里的内容,注册活动的代码也是简单了许多。现在第二个活动已经创建完成,剩下的问题就是如何去启动这第二个活动了,这里我们需要引入一个新的概念,Intent。

    Intent是 Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可被用于启动活动、启动服务、以及发送广播等场景,由于服务、广播等概念你暂时还未涉及,么本章我们的目光无疑就锁定在了启动活动上面。Intent的用法大致可以分为两种,显式 Intent和隐式 Intent,我们先来看一下显式 Intent如何使用。

    Intent有多个构造函数的重载,其中一个是 Intent(Context packageContext, Class<?> cls)。这个构造函数接收两个参数,第一个参数 Context要求提供一个启动活动的上下文,第二个参数Class则是指定想要启动的目标活动, 通过这个构造函数就可以构建出Intent的 “意图” 。然后我们应该怎么使用这个 Intent呢?Activity类中提供了一个 startActivity()方法, 这个方法是专门用于启动活动的, 它接收一个Intent参数, 这里我们将构建好的Intent传入startActivity()

方法就可以启动目标活动了。修改 FirstActivity中按钮的点击事件,代码如下所示:

button1.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
        startActivity(intent);
    }
});

    我们首先构建出了一个Intent,传入FirstActivity.this作为上下文,传入SecondActivity.class作为目标活动,这样我们的“意图”就非常明显了,即在 FirstActivity这个活动的基础上打开 SecondActivity这个活动。然后通过 startActivity()方法来执行这个 Intent。重新运行程序,在 FirstActivity的界面点击一下按钮我们已经成功启动 SecondActivity这个活动了。如果你想要回到上一个活动怎么办呢?很简单,按下 Back键就可以销毁当前活动,从而回到上一个活动了。使用这种方式来启动活动,Intent的“意图”非常明显,因此我们称之为显式 Intent。

    2、使用隐式Intent

    相比于显式 Intent,隐式 Intent则含蓄了许多,它并不明确指出我们想要启动哪一个活

动, 而是指定了一系列更为抽象的action和category等信息, 然后交由系统去分析这个Intent,并帮我们找出合适的活动去启动。什么叫做合适的活动呢?简单来说就是可以响应我们这个隐式 Intent的活动,那么目前SecondActivity可以响应什么样的隐式 Intent呢?额,现在好像还什么都响应不了,不过很快就会有了。通过在<activity>标签下配置<intent-filter>的内容,可以指定当前活动能够响应的 action和 category,打开 AndroidManifest.xml,添加如下代码:

<activity android:name=".SecondActivity" >
    <intent-filter>
        <action android:name="com.example.activitytest.ACTION_START" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

    在<action>标签中我们指明了当前活动可以响应 com.example.activitytest.ACTION_START这个 action,而<category>标签则包含了一些附加信息,更精确地指明了当前的活动能够响应的 Intent中还可能带有的 category。只有<action>和<category>中的内容同时能够匹配上 Intent中指定的 action和 category时,这个活动才能响应该 Intent。修改 FirstActivity中按钮的点击事件,代码如下所示:




 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android入门(二)Activity-Toast、Intent,intentservicetoast

相关文章

  • 2017-05-26Android镜像文件ramdisk.img,system.img,userdata.img介绍,ramdisk镜像
  • 2017-05-26Android 数据库操作,android数据库操作
  • 2017-05-26Android 手把手带你玩转自定义相机
  • 2017-05-26AES 加密算法,对用户的敏感信息加密处理,aes加密算法
  • 2017-05-26Android Studio 之 注释模板,androidstudio
  • 2017-05-26android6.0的坑,android6.0
  • 2017-05-26Android中使用SDcard进行文件的读取,androidsdcard
  • 2017-05-26实现图片拖动,图片拖动
  • 2017-05-26谷歌电子市场5--推荐,谷歌电子市场5--
  • 2017-05-26使用Android studio创建的AIDL编译时找不到自定义类的解决办法,androidaidl

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ORB_SLAM2在Android上的移植过程
    • 仿拉手团购App2--当前城市选择Activity,app2--activity
    • Android第一天--&gt;布局,android第一天--
    • 编译器开发系列--Ocelot语言3.类型名称的消解,编译器--ocelot
    • Android之SQLite数据库篇,androidsqlite
    • TextView 实现跑马灯效果,textview实现跑马灯
    • Android取消EditText自动获取焦点默认行为,androidedittext
    • Android Studio:Failed to resolve ***,androidresolve
    • 【lushengduan】03、点击事件的四种实现方式,lushengduan03
    • 【React Native开发】React Native控件之ViewPagerAndroid讲解以及美团首页顶部效果实例(17)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有