- 浏览: 92833 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
wangyudong:
家里是拨号上网,不行的,找到了一个Holer工具,只需要配置一 ...
【如何通过广域网访问局域网的服务器?】 -
叮咚可乐名:
大数据就是这么任性第一季数据结构和算法http://pan.b ...
数据结构与算法-简介 -
戢_时光:
...
【Java集合之二】Set集合 -
lzg406:
HTTP默认方式下,使用持久连接。 这个值得推敲
【应用层】之一:HTTP协议与FTP协议 -
mute_:
特别腻害呢
正则表达式1:概念
本文围绕以下两个部分展开:
一、意图
二、两个案例
1. 拨打电话、发送Email、提取图片
2. 显式意图传递和隐式意图传递
一、意图
1. 意图
意图是组件间传递消息的一种对象,主要由动作(action)和数据(data)两部分组成,实现了组件之间的解耦。
它用于请求其他组件(活动、服务、广播接收器)中的操作,完成组件之间的交互。
2. 意图在应用框架中的位置
Android 应用框架让你使用一组可重用的基本组件即可创建出丰富而有创意的应用程序。
虽然每个组件是一个独立的存在,扮演特定的角色,但是部分组件之间存在依赖关系,应用框架使用意图(Intent)将组件连接起来,共同构成一个程序的整体行为。
3. 意图的三种应用场景
4. 意图的两种类型
5. 意图的结构
二、两个案例
1. 拨打电话、发送Email、提取图片
(1)核心功能模块
模块1:通过输入电话号码,点击“拨打”按钮,转到手机拨号界面,或者调用手机拨号程序,直接拨打出去。
说明:
(1)点击“拨打”按钮,转到手机拨号界面——直接在doDial()方法中使用这句话:
(2)点击“拨打”按钮,调用手机拨号程序,直接拨打出去——需要授予权限才可以。
首先,在功能清单文件中添加授权语句:
AndroidManifest.xml 代码如下:
然后,在doDial()方法中使用这句话:
效果如下:
(由于本人的手机没有SIM卡,因此拨不出去)
模块2:点击“发送EMAIL”按钮,调用手机默认邮箱客户端,进入将要发送邮件的编辑界面。
效果如下:
模块3:点击“从相册选择一张图片”按钮,弹出手机图库,然后选择一张图片,选好后,返回到主界面,将图片显示到下面。
(2)项目代码
A. 在 strings.xml 中定义字符串
B. 在 activity_main.xml 中写主界面布局
C. 在 MainActivity 中写事件
2. 显式意图传递和隐式意图传递
输入要传递的字符:
点击“显式意图传递”和“隐式意图传递”按钮,都出现如下效果:
(1)核心功能模块
模块1:显式意图传递。
补充:设置显式跳转页面的方法:
(1)
(2)
(3)
(4)
模块2:隐式意图传递。
在设置意图的动作名之后,要在功能清单文件中创建意图过滤器,这样,当运行设置隐式跳转页面的代码的时候,程序会在功能清单文件中找意图过滤器,进行跳转。
功能清单文件 AndroidManifest.xml 如下:
(2)项目代码
A. 在 strings.xml 中定义字符串
B. 在 activity_main.xml 中写主界面布局
C. 创建传递后的活动及页面:IntentActivity,其中 activity_intent.xml 做一点修改,如下:
D. 在 MainActivity 中写事件
(3)一个活动,注册多个意图过滤器。
功能清单文件 AndroidManifest.xml 如下:
一、意图
二、两个案例
1. 拨打电话、发送Email、提取图片
2. 显式意图传递和隐式意图传递
一、意图
1. 意图
意图是组件间传递消息的一种对象,主要由动作(action)和数据(data)两部分组成,实现了组件之间的解耦。
它用于请求其他组件(活动、服务、广播接收器)中的操作,完成组件之间的交互。
2. 意图在应用框架中的位置
Android 应用框架让你使用一组可重用的基本组件即可创建出丰富而有创意的应用程序。
虽然每个组件是一个独立的存在,扮演特定的角色,但是部分组件之间存在依赖关系,应用框架使用意图(Intent)将组件连接起来,共同构成一个程序的整体行为。
3. 意图的三种应用场景
4. 意图的两种类型
5. 意图的结构
二、两个案例
1. 拨打电话、发送Email、提取图片
(1)核心功能模块
模块1:通过输入电话号码,点击“拨打”按钮,转到手机拨号界面,或者调用手机拨号程序,直接拨打出去。
/** * 拨打电话 */ private void doDial() { String phone = txtPhone.getText().toString(); Intent intent = new Intent(); //指定意图的动作:拨号 //intent.setAction(Intent.ACTION_DIAL); intent.setAction(Intent.ACTION_CALL); //指定意图的数据(注意数据格式:打电话必须是这样的格式。) Uri data = Uri.parse("tel:"+phone); intent.setData(data); //隐式启动意图 (没有写跳到哪个界面,因此拨号的时候,就隐式跳到拨打电话页面了。) startActivity(intent); }
说明:
(1)点击“拨打”按钮,转到手机拨号界面——直接在doDial()方法中使用这句话:
intent.setAction(Intent.ACTION_DIAL);
(2)点击“拨打”按钮,调用手机拨号程序,直接拨打出去——需要授予权限才可以。
首先,在功能清单文件中添加授权语句:
<!--授权此App访问拨号程序--> <uses-permission android:name="android.permission.CALL_PHONE"/>
AndroidManifest.xml 代码如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xiangdong.intent" > <!--授权此App访问拨号程序--> <uses-permission android:name="android.permission.CALL_PHONE"/> <application android:allowBackup="true" android:icon="@mipmap/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> </application> </manifest>
然后,在doDial()方法中使用这句话:
intent.setAction(Intent.ACTION_CALL);
效果如下:
(由于本人的手机没有SIM卡,因此拨不出去)
模块2:点击“发送EMAIL”按钮,调用手机默认邮箱客户端,进入将要发送邮件的编辑界面。
/** * 发送Email */ private void doSendTo() { Intent intent = new Intent(); //指定意图的动作:发送信息 intent.setAction(Intent.ACTION_SENDTO); //指定意图的数据(注意数据格式:发送邮件必须是这样的格式。) Uri data = Uri.parse("mailto:lxd12103@126.com"); intent.setData(data); //附件信息 //邮件主题 intent.putExtra(Intent.EXTRA_SUBJECT,"Hello"); //邮件内容 intent.putExtra(Intent.EXTRA_TEXT,"Just do it."); //启动意图 startActivity(intent); }
效果如下:
模块3:点击“从相册选择一张图片”按钮,弹出手机图库,然后选择一张图片,选好后,返回到主界面,将图片显示到下面。
/** * 从图库选择并取回一张图片 */ private void doPick() { Intent intent = new Intent(); //指定动作,选取数据 intent.setAction(Intent.ACTION_PICK); //统一资源标识符【外部存储中的图片】 Uri data = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; String type = "image/*"; //指定数据及类型【注意:若要同时指定data和type,必须使用该方法】 intent.setDataAndType(data,type); //启动活动并返回结果 //第二个参数 REQUEST_PICK_PIC 是一个自定义的整型变量, //标识请求代号(必须唯一) startActivityForResult(intent,REQUEST_PICK_PIC); } /** * 调用 startActivityForResult 后,会回调该方法,所以重写该方法 * * @param requestCode 请求码:匹配 startActivityForResult 中的第二个参数 * @param resultCode 结果码:系统提供了两个默认值 RESULT_OK、RESULT_CANCEL * @param data 返回的数据:uri 类型 */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == REQUEST_PICK_PIC){ if(resultCode == RESULT_OK){ // 获得返回的数据:图片的 Uri Uri uri = data.getData(); // 在 ImageView 上显示图片 imageView.setImageURI(uri); } else{ // RESULT_CANCEL Toast.makeText(this,getString(R.string.cancel_pick),Toast.LENGTH_SHORT).show(); } } }
(2)项目代码
A. 在 strings.xml 中定义字符串
<resources> <string name="app_name">Intent</string> <string name="action_settings">Settings</string> <string name="phone_hint">请输入手机号码</string> <string name="btn_dial">拨打</string> <string name="btn_send_to">发送Email</string> <string name="btn_pick">从相册选一张图片</string> <string name="cancel_pick">操作取消</string> </resources>
B. 在 activity_main.xml 中写主界面布局
<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <EditText android:id="@+id/txtPhone" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/phone_hint" android:inputType="phone"/> <Button android:id="@+id/btnDial" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/txtPhone" android:onClick="onClick" android:text="@string/btn_dial"/> <Button android:id="@+id/btnSendTo" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/btnDial" android:onClick="onClick" android:text="@string/btn_send_to"/> <Button android:id="@+id/btnPick" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/btnSendTo" android:onClick="onClick" android:text="@string/btn_pick"/> <ImageView android:id="@+id/imageView" android:layout_width="200dp" android:layout_height="300dp" android:layout_below="@+id/btnPick" android:layout_centerHorizontal="true"/> </RelativeLayout>
C. 在 MainActivity 中写事件
package com.xiangdong.intent; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.Toast; public class MainActivity extends Activity { private static final int REQUEST_PICK_PIC = 200; private EditText txtPhone; private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txtPhone = (EditText) findViewById(R.id.txtPhone); imageView = (ImageView) findViewById(R.id.imageView); } /** * 按钮事件 * @param view */ public void onClick(View view){ switch (view.getId()){ case R.id.btnDial: //这些方法只在当前页面有效,因此可定义为私有的。 doDial(); break; case R.id.btnSendTo: doSendTo(); break; case R.id.btnPick: doPick(); break; } } /** * 拨打电话 */ private void doDial() { String phone = txtPhone.getText().toString(); Intent intent = new Intent(); //指定意图的动作:拨号 //intent.setAction(Intent.ACTION_DIAL); intent.setAction(Intent.ACTION_CALL); //指定意图的数据(注意数据格式:打电话必须是这样的格式。) Uri data = Uri.parse("tel:"+phone); intent.setData(data); //隐式启动意图 (没有写跳到哪个界面,因此拨号的时候,就隐式跳到拨打电话页面了。) startActivity(intent); } /** * 发送Email */ private void doSendTo() { Intent intent = new Intent(); //指定意图的动作:发送信息 intent.setAction(Intent.ACTION_SENDTO); //指定意图的数据(注意数据格式:发送邮件必须是这样的格式。) Uri data = Uri.parse("mailto:lxd12103@126.com"); intent.setData(data); //附件信息 //邮件主题 intent.putExtra(Intent.EXTRA_SUBJECT,"Hello"); //邮件内容 intent.putExtra(Intent.EXTRA_TEXT,"Just do it."); //启动意图 startActivity(intent); } /** * 从图库选择并取回一张图片 */ private void doPick() { Intent intent = new Intent(); //指定动作,选取数据 intent.setAction(Intent.ACTION_PICK); //统一资源标识符【外部存储中的图片】 Uri data = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; String type = "image/*"; //指定数据及类型【注意:若要同时指定data和type,必须使用该方法】 intent.setDataAndType(data,type); //启动活动并返回结果 //第二个参数 REQUEST_PICK_PIC 是一个自定义的整型变量, //标识请求代号(必须唯一) startActivityForResult(intent,REQUEST_PICK_PIC); } /** * 调用 startActivityForResult 后,会回调该方法,所以重写该方法 * * @param requestCode 请求码:匹配 startActivityForResult 中的第二个参数 * @param resultCode 结果码:系统提供了两个默认值 RESULT_OK、RESULT_CANCEL * @param data 返回的数据:uri 类型 */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == REQUEST_PICK_PIC){ if(resultCode == RESULT_OK){ // 获得返回的数据:图片的 Uri Uri uri = data.getData(); // 在 ImageView 上显示图片 imageView.setImageURI(uri); } else{ // RESULT_CANCEL Toast.makeText(this,getString(R.string.cancel_pick),Toast.LENGTH_SHORT).show(); } } } // -----以下代码不做更改------------------------------------------------------------ @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
2. 显式意图传递和隐式意图传递
输入要传递的字符:
点击“显式意图传递”和“隐式意图传递”按钮,都出现如下效果:
(1)核心功能模块
模块1:显式意图传递。
/** * 显式意图传递 */ private void doShow() { String content = txtContent.getText().toString(); // 清空里面的值 txtContent.setText(""); // 设置显式跳转的页面 //Intent intent = new Intent(this,IntentActivity.class); //getApplicationContext() 获得当前界面的上下文 (和 this是一样的) Intent intent = new Intent(getApplicationContext(), IntentActivity.class); // 设置附加信息(键值对格式) intent.putExtra("KEY_CONTENT",content); startActivity(intent); }
补充:设置显式跳转页面的方法:
(1)
Intent intent = new Intent(this, IntentActivity.class);
(2)
Intent intent = new Intent(getApplicationContext(), IntentActivity.class);
(3)
Intent intent = new Intent(); intent.setClass(this, IntentActivity.class);
(4)
Intent intent = new Intent(); intent.setClass(getApplicationContext(), IntentActivity.class);
模块2:隐式意图传递。
/** * 隐式意图传递 */ private void doHidden() { String content = txtContent.getText().toString(); // 清空里面的值 txtContent.setText(""); // 设置隐式跳转的页面 // 设置意图的动作名 // com.lxd.intent.SHOW_HIDDEN 是在意图过滤器中定义的字符串 Intent intent = new Intent(); intent.setAction("com.lxd.intent.action.SHOW_HIDDEN"); // 设置附加信息(键值对格式) intent.putExtra("KEY_CONTENT",content); startActivity(intent); }
在设置意图的动作名之后,要在功能清单文件中创建意图过滤器,这样,当运行设置隐式跳转页面的代码的时候,程序会在功能清单文件中找意图过滤器,进行跳转。
功能清单文件 AndroidManifest.xml 如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xiangdong.intenttwo"> <application android:allowBackup="true" android:icon="@mipmap/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=".IntentActivity" android:label="@string/title_activity_intent" android:parentActivityName=".MainActivity"> <intent-filter> <!-- 设置隐式意图的动作名(自定义) --> <action android:name="com.lxd.intent.action.SHOW_HIDDEN"/> <!-- 设置意图的类型 --> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> </application> </manifest>
(2)项目代码
A. 在 strings.xml 中定义字符串
<resources> <string name="app_name">显式意图传递/隐式意图传递</string> <string name="action_settings">Settings</string> <string name="content">请输入要传递的数据</string> <string name="btn_show">显式意图传递</string> <string name="btn_hidden">隐式意图传递</string> <string name="title_activity_intent">接收意图参数</string> <string name="hello_world">Hello world!</string> <string name="title_activity_share">ShareActivity</string> </resources>
B. 在 activity_main.xml 中写主界面布局
<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <EditText android:id="@+id/txtContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/content"/> <Button android:id="@+id/btnShow" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/txtContent" android:onClick="onClick" android:text="@string/btn_show"/> <Button android:id="@+id/btnHidden" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/btnShow" android:onClick="onClick" android:text="@string/btn_hidden"/> </RelativeLayout>
C. 创建传递后的活动及页面:IntentActivity,其中 activity_intent.xml 做一点修改,如下:
<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.xiangdong.intenttwo.IntentActivity"> <TextView android:id="@+id/tvHello" android:text="@string/hello_world" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </RelativeLayout>
D. 在 MainActivity 中写事件
package com.xiangdong.intenttwo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.EditText; public class MainActivity extends Activity { private EditText txtContent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txtContent = (EditText) findViewById(R.id.txtContent); } public void onClick(View view){ switch (view.getId()){ case R.id.btnShow: doShow(); break; case R.id.btnHidden: doHidden(); break; } } /** * 显式意图传递 */ private void doShow() { String content = txtContent.getText().toString(); // 清空里面的值 txtContent.setText(""); // 设置显式跳转的页面 //Intent intent = new Intent(this,IntentActivity.class); //getApplicationContext() 获得当前界面的上下文 (和 this是一样的) Intent intent = new Intent(getApplicationContext(), IntentActivity.class); // 设置附加信息(键值对格式) intent.putExtra("KEY_CONTENT",content); startActivity(intent); } /** * 隐式意图传递 */ private void doHidden() { String content = txtContent.getText().toString(); // 清空里面的值 txtContent.setText(""); // 设置隐式跳转的页面 // 设置意图的动作名 // com.lxd.intent.SHOW_HIDDEN 是在意图过滤器中定义的字符串 Intent intent = new Intent(); intent.setAction("com.lxd.intent.action.SHOW_HIDDEN"); // 设置附加信息(键值对格式) intent.putExtra("KEY_CONTENT",content); startActivity(intent); } //-------以下代码不做修改-------------------------------------------------------------- @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
(3)一个活动,注册多个意图过滤器。
功能清单文件 AndroidManifest.xml 如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xiangdong.intenttwo"> <application android:allowBackup="true" android:icon="@mipmap/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=".ShareActivity" android:label="@string/title_activity_share" android:parentActivityName=".MainActivity"> <!--处理发送文本的动作--> <intent-filter> <action android:name="android.intent.action.SEND"/> <data android:mimeType="text/plain"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> <!--处理发送一个或多个图片的动作--> <intent-filter> <action android:name="android.intent.action.SEND"/> <action android:name="android.intent.action.SEND_MULTIPLE"/> <data android:mimeType="image/*"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> </application> </manifest>
发表评论
-
【攻克Android (43)】WebView (网络视图)
2015-09-09 22:15 1264本文围绕以下两个部分展开: 一、WebView WebVi ... -
WebView (网络视图)
2015-09-09 22:12 0本文围绕以下两个部分展开: 一、WebView WebVi ... -
【攻克Android (41)】HttpURLConnection
2015-09-08 17:43 1397本文围绕以下三个部分展开: 一、HttpURLConnec ... -
HttpURLConnection
2015-09-08 17:42 0本文围绕以下三个部分展开: 一、HttpURLConnec ... -
【攻克Android (40)】JSON解析
2015-09-07 20:49 1297本文围绕以下三个部分 ... -
JSON解析
2015-09-07 20:47 0本文围绕以下三个部分 ... -
【攻克Android (39):XML解析之四】Simple方式解析XML
2015-08-27 18:38 1786本文围绕以下三个部分 ... -
【攻克Android (38):XML解析之三】Pull方式解析XML
2015-08-27 09:25 1772本文围绕以下两个部分展开: 一、Pull解析 案例一:P ... -
【攻克Android (37):XML解析之二】SAX方式解析XML
2015-08-26 15:15 907本文围绕以下两个部分展开: 一、SAX解析 案例一 ... -
【XML解析之一】SAX方式解析XML
2015-08-26 02:58 0本文围绕以下四个部分展开: 一、SAX解析 案例一 ... -
【攻克Android (36):XML解析之一】DOM方式解析XML
2015-08-26 00:27 976本文围绕以下三个部分展开: 一、XML概述 二、DOM解析 ... -
DOM方式解析XML案例
2015-08-26 00:26 0本文围绕以下四个部分展开: 一、DOM解析 案例一 ... -
【XML解析之四】Simple方式解析XML
2015-08-27 18:36 0本文围绕以下三个部分 ... -
【XML解析之一】Pull方式解析XML
2015-08-26 02:56 0本文围绕以下四个部分展开: 一、Pull解析 案例一:P ... -
【攻克Android (22)】View/Tween Animation 视图动画(补间动画)
2015-08-25 21:22 896本文围绕以下四个部分 ... -
【攻克Android (22)】View/Tween Animation 视图动画(补间动画)
2015-08-25 21:21 0本文围绕以下四个部分 ... -
【攻克Android (45)】四大组件之 ContentProvider
2015-08-18 16:24 1147本文围绕以下两个部分展开: 一、ContentProvide ... -
【攻克Android (32)】Notification 通知
2015-08-17 19:57 984本文围绕以下两个部分展开: 一、通知 案例一 一 ... -
Notification 通知
2015-08-17 19:56 0本文围绕以下两个部分展开: 一、通知 案例一 一 ... -
BroadcastReceiver完整版
2015-08-17 13:15 0本文围绕以下四个部分展开: 一、广播 案例一:系统广播(属于 ...
相关推荐
Intent是一个意图对象,它表达了应用程序想要执行的动作,例如启动一个新的Activity或启动一个Service。Intent由两个主要部分组成:动作(Action)和数据(Data)。动作定义了要执行的操作,如ACTION_VIEW、ACTION_...
【Android Intent 启动和关闭Activity】 在Android应用程序开发中,Intent是连接各个组件(如Activity、Service等)的关键桥梁,主要用于启动和关闭Activity。Intent不仅能够启动一个新的Activity,还能在Activity...
3. 注册IntentFilter:为IntentFilter添加对应的ACTION,如"android.intent.action.TIME_TICK"、"android.intent.action.SCREEN_ON"和"android.intent.action.BATTERY_CHANGED"。 4. 不再需要时,记得在合适的位置...
在Android应用开发中,Intent是一种强大的机制,用于在组件之间传递消息并启动操作。本案例主要探讨如何利用Intent实现拨打电话和发送短信的功能。首先,我们需要理解Intent的基本概念。 Intent在Android系统中扮演...
在Android应用开发中,Intent是一种强大的机制,用于在组件之间传递消息或启动其他操作。本教程将深入探讨如何使用Intent来实现系统调用相机拍摄照片的功能,并展示如何获取照片路径并将其显示在应用中。 首先,...
Android 中使用 Intent 打开各种文件类型 Android 操作系统提供了 Intent 机制,允许应用程序之间进行交互和通信。Intent 是一个异步的消息机制,用于在应用程序之间请求或提供服务。通过使用 Intent,可以实现打开...
在Android应用开发中,Intent是一种强大的机制,用于在组件之间传递信息和启动操作。它扮演着应用程序内部通信的重要角色,特别是在活动(Activity)之间。"Android通过Intent传递数据"这一主题,涵盖了Intent的基本...
简单的页面跳转app
Intent是一种意图声明,表达了应用程序想要执行的操作。在Android系统中,Intent分为显式Intent和隐式Intent两种类型。 1. 显式Intent:明确指定要启动的组件(Activity、Service等)的类名。这种Intent通常用于在...
android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码
在Android应用开发中,Intent是连接应用程序组件的重要桥梁,它用于启动新的Activity或者服务,以及在组件间传递数据。Intent可以分为显式Intent和隐式Intent。本篇将重点讲解如何利用Intent在Android中调用Activity...
7. 意图过滤器(Intent Filter): 在AndroidManifest.xml中,我们可以为Activity或Service定义Intent Filter,以响应特定的隐式Intent。例如,为了响应上面的Web浏览Intent,我们可以在Activity声明中添加: ```...
"Android Intent 和 ContentProvider" Android Intent 是 Android 组件之间的信使,负责在 Android 三大核心组件(Activity、Service、Broadcast Receiver)之间传递信息。Intent 是一个将要执行的动作的抽象描述...
恢复已经停止的更新下载。 'android.server.checkin.FOTA_RESTART' 通过 OTA 下载并安装操作系统更新。 'android.server.checkin.FOTA_UPDATE' 用户按下了'Media Button'。...'android.intent.action.PACKAGE_ADDED'
Intent是一种运行时的请求,用于表示应用的意图,如启动一个新的Activity或启动一个Service。Intent分为显式Intent和隐式Intent。显式Intent明确指定了要启动的目标组件(Activity或Service的全类名),而隐式Intent...
Android7.0 Intent打开文件管理器 获取文件真实路径。虽然网上很多demo,但是没有一个能够兼容所有Android机的,去网上学习了然后自己亲测过手机分别有Android7.0/6.0/4.3个版本。
### Android利用Intent实现分享功能详解 #### 概述 随着移动互联网的发展,用户越来越依赖于在不同的应用程序之间共享内容。为了满足这一需求,Android平台提供了多种解决方案,包括使用第三方库如友盟、ShareSDK...
在Android开发中,Intent是一种强大的工具,用于在不同的组件之间传递数据和启动操作。当我们需要在应用程序中调用外部应用,如地图应用,如百度地图或高德地图,Intent是实现这一功能的关键。本篇文章将深入讲解...