- 浏览: 341623 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
secally:
楼主可以上传个例子吗,谢谢,我咋跑不起来,,eclipse不是 ...
Android自动打包、签名、优化、上传ANT脚本 -
secally:
请问下执行命令是啥,ant release 还是?麻烦指教谢谢 ...
Android自动打包、签名、优化、上传ANT脚本 -
trp1022:
好牛啊
程序员不能不通文史 -
sunny78117:
谢谢,写得好
Android bitmap优化 -
futurebp:
这是什么类型的脚本啊?
Android自动打包、签名、优化、上传ANT脚本
以下内容Sinfrancis版权所有,专注请注明来自 http://mdev.cc/dev
在Android中,传递数据使用Intent,Intent相当于各个Activity之间的桥梁,可以传递数据,可以通过Intent启动另外一个Activity。
Intent有显式和隐式之分,显式的是直接什么要启动的组件,比如Service或者Activity,隐式的通过配置的datatype、url、action来找到匹配的组件启动。
此程序目的:
1、显式启动Activity和service
2、通过隐式的变量,启动Activity和Service
先来看先我们定义的变量类:
package cc.androidos.intent; public class Book { //Intent的数据类型 public static String CONTENT_TYPE = "cc.android/intent.demo"; //Intent中的URL,这里要使用Content开头,不然会找不到组件 public static String CONTENT_URI = "content://test/"; }
程序主界面的代码:还有四个按钮,分别用于启动不同的组件:
package cc.androidos.intent; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; public class IntentDemo extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button firstbtn = (Button) findViewById(R.id.firstbtn); Button firstbtnservice = (Button) findViewById(R.id.firstbtnservice); Button secondbtn = (Button) findViewById(R.id.secondbtn); Button secondbtnservice = (Button) findViewById(R.id.secondbtnservice); firstbtn.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { //显式启动FirstIntentDemo Activity Intent i = new Intent(getApplicationContext(),FirstIntentDemo.class); startActivity(i); } }); firstbtnservice.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { //显式启动FirstService 后台服务 Intent i = new Intent(getApplicationContext(),FirstService.class); startService(i); } }); secondbtn.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { //通过Action uri和dataype启动Activity //程序会自动匹配到Intent-Filter配置中有(action属性)Action为Intent.ACTION_VIEW,并且数据类型(data)为cc.android/intent.demo的组件上 Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse(Book.CONTENT_URI), Book.CONTENT_TYPE); startActivity(intent); } }); secondbtnservice.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { //通过Action uri和dataype启动Service Intent intent = new Intent(); intent.setAction(Intent.ACTION_EDIT); intent.setDataAndType(Uri.parse(Book.CONTENT_URI), Book.CONTENT_TYPE); startService(intent); } }); } }
以下分别是被启动的组件代码:
显式Activity和Service:
package cc.androidos.intent; import android.app.Activity; import android.os.Bundle; public class FirstIntentDemo extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.firstintent); } } =============================================== package cc.androidos.intent; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.util.Log; public class FirstService extends Service{ @Override public IBinder onBind(Intent intent) { return null; } @Override public void onCreate() { super.onCreate(); String tag = "First Service on Create"; Log.d(tag,"This is the first service..."); } }
隐式启动的Activity和Service:
package cc.androidos.intent; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; public class SecondIntentDemo extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String tag = "SecondIntentDemo onCreate.."; setContentView(R.layout.secondintent); Intent i = getIntent(); Log.d(tag, "intent type : " + i.getType()); Log.d(tag, "intent url : " + i.getData().toString()); } }
===================================
package cc.androidos.intent; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.util.Log; public class SecondService extends Service { @Override public IBinder onBind(Intent arg0) { return null; } @Override public void onCreate() { super.onCreate(); String tag = "Second service "; Log.d(tag, "Startup second service... "); } }
AndroidManifest.xml文件配置:
这个很重要,需要配置好才行,不然会出现AcitvityNotFoundException
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cc.androidos.intent" android:versionCode="1" android:versionName="1.0.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".IntentDemo" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- First Intent Demo --> <activity android:name=".FirstIntentDemo" android:label="@string/app_name"> </activity> <!-- Second Intent Demo --> <activity android:name=".SecondIntentDemo" android:label="@string/app_name"> <intent-filter > <!--The intent filter parameters must match the intent datatype(mimeType) \ action --> <action android:name="android.intent.action.VIEW"/> <data android:mimeType="cc.android/intent.demo"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> <service android:name=".FirstService" > </service> <service android:name=".SecondService" > <intent-filter > <!--The intent filter parameters must match the intent datatype(mimeType) \ action --> <action android:name="android.intent.action.EDIT"/> <data android:mimeType="cc.android/intent.demo"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </service> </application> </manifest>Intent理由个URI属性,这个配合ContentProvider使用,用于数据操纵使用
发表评论
-
抓取Android WebView截屏
2011-08-19 21:33 7669一般使用setDrawingCacheEnabled(true ... -
Android bitmap优化
2011-08-11 17:02 5990直接使用ImageView显示 ... -
Android模拟器更改分辨率后 无法取得分辨率问题
2011-05-11 21:06 2862在PC上更改模拟器分辨率为480*800 (如果你的PC界面 ... -
获取屏幕硬件分辨率方法 收藏
2011-05-11 16:28 1923TextView tv=(TextVie ... -
Bytecode for the Dalvik VM
2011-05-10 22:35 1370http://www.netmite.com/android/ ... -
Android DEX反编译后部分代码解析
2011-05-10 22:07 3947一个private 方法 private Stri ... -
反编译并且修改Android APK包
2011-05-10 16:57 3138為了某個實驗的動機,我們評估反編譯 Android ... -
Android Ant编译时候进行混淆
2010-10-18 13:49 3835版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
自定义Ant Task
2010-09-13 17:58 3001版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自动打包、签名、优化、上传ANT脚本
2010-07-26 16:51 13994版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自定义含有CheckBox的Adapter遇到的问题
2010-06-23 13:48 4130版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
QR code类库
2010-06-03 23:11 2339Google code发现的好东西。 QR code 类库 ... -
Android QQ,一个WEBOS APP诞生!!(两个QQ对比!)
2010-04-10 12:05 1882请看这个大哥的言论 http://linuxtoy.or ... -
Android 、BlackBerry 文本对齐方式对比
2010-02-22 13:11 1816版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
教你如何开关Android的APN网络
2010-01-08 11:36 6063版权所有,转载请注明来自Mobile Developer (h ... -
史上最强NDK入门项目实战
2009-10-10 13:29 2692以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
使用TimerTask控制ProgressBar
2009-10-10 13:21 1131以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
自定义List布局
2009-10-10 13:19 1937以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
重画Progressbar的进度
2009-10-10 13:15 1945以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
谈谈Android中文短信的实现
2009-10-10 13:13 2185似 乎Google在推出G1时 ...
相关推荐
以下是对Intent使用的一些关键知识点的详细介绍: 1. **Intent的类型**: - 显式Intent:明确指定要启动的组件(Activity或Service),通过其完全限定类名。 - 隐式Intent:不指定具体组件,而是通过Action、Data...
在标题提到的“Intent使用示例(一)”中,我们将重点关注`startActivityForResult`方法。这个方法通常用于启动一个Activity,并期望在新Activity执行完某些操作后返回结果。当用户在新Activity中完成任务,如选择照片...
Android Intent 使用总结 Android Intent 是 Android 组件之间通讯的核心机制,它负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述。Android 则根据 Intent 的描述,找到对应的组件,将 Intent 传递给...
Android 通过Intent使用Bundle传递对象 Android开发中有时需要在应用中或进程间传递对象,下面详细介绍Intent使用Bundle传递对象的方法。 被传递的对象需要先实现序列化,而序列化对象有两种方式:java.io....
以下是对Android Intent使用技巧的详细解析: 1. **搜索内容** 可以使用Intent的`ACTION_WEB_SEARCH`动作来启动设备上的搜索引擎,并提供查询参数。例如: ```java Intent intent = new Intent(); intent....
这些只是Intent使用的一部分,还有许多其他用途,例如启动特定的应用程序、启动服务、广播数据等。Intent还支持显式Intent(明确指定目标组件)和隐式Intent(由Intent Filter匹配目标组件)。在实际开发中,理解并...
至此,我们已经完成了最简单的Intent使用Activity切换实例。当你点击Act1中的Button时,系统会通过Intent启动Act2,展示出新的界面。这个过程展示了Intent的基本用法,以及如何在Activity之间进行切换。在实际的...
android Intent使用案例 含:播放多媒体、打电话、发短信、发送email、发邮件、google服务、组件component、action值自定义、显示地图/路径规划、选择应用、打开应用列表、搜索应用等意图实例。
Android-Intent使用方法详解 配合(http://blog.csdn.net/daiyibo123/article/details/51227160)博客查看。使用Android stdio编写。
总结,Intent是Android系统中连接各个组件的桥梁,理解并熟练使用Intent对于开发Android应用至关重要。在实际项目中,Intent不仅可以用于启动Activity和Service,还可以用于启动BroadcastReceiver,实现各种组件间的...
本篇文章将详细探讨Intent的使用以及如何在Android应用中进行数据回写。 首先,Intent主要分为两种类型:显式Intent和隐式Intent。显式Intent通过指定目标组件的完整类名来明确指明要启动的组件,而隐式Intent则不...
在深入理解Intent的使用源码之前,我们需要先了解Intent的基本概念和组成部分。 Intent主要包含两部分:Action(动作)和Data(数据)。Action定义了Intent想要执行的操作,比如ACTION_VIEW、ACTION_CALL等。Data则...
本资源包“Android应用源码之Intent_Intent.zip”应该包含了关于Intent使用的一些示例代码和解析,帮助开发者深入理解Intent的工作原理。 1. **Intent的类型** Intent主要有两种类型:显式Intent和隐式Intent。...
在结合Intent使用时,通常会使用Horizontal或Circular,因为它们可以直观地显示任务的进度。 使用ProgressBar的基本步骤包括: 1. 在布局文件中添加ProgressBar,设置其样式和初始值。 ```xml android:id="@+id/...
初学移动应用公开发中的Android开发,实验四的主要内容为intent的使用,通过这一次实验,掌握基本的intent使用方法。 具体实验分析 实验第一步:阅读官方文档:intent 实验解析:本次实验共分为两个部分。第一个部分...
本资料"Android Intent切换.zip"包含了关于Intent使用的源码示例,通过解析其中的文件,我们可以深入理解Intent的工作机制。 首先,`源码说明.txt`可能包含对Intent使用的基本介绍和代码解释。通常,这种文本文件会...
- 过多的Intent传递可能导致性能问题,因此应尽量减少不必要的数据传递,优化Intent使用。 总之,Intent是Android开发中的核心概念之一,熟练掌握Intent的使用,对于构建高效、灵活的应用至关重要。理解并熟练运用...
**说明**:这是最基础的Intent使用方式,用于从当前Activity (`Activity.Main`) 启动一个新的Activity (`Activity2`)。这种方式适用于已知目标Activity类名的情况。 #### 2. 通过Intent传递数据 ```java Intent it...
本资料"Android应用源码之Intent.zip"包含了一份关于Intent使用的源码示例,下面将详细解释Intent的相关知识点。 1. **Intent的类型**: - 显式Intent:明确指定要启动的目标组件,通过组件的类名(ComponentName...