小左闲谈

android开发之:intent和intent action大全

当前位置:首页 » 学习
In 学习  @2015-05-14

一.Intent的用法:

(一)用Action跳转

1.使用Action跳转,如果有一个程序的AndroidManifest.xml中的某一个Activity的IntentFilter段中定义了包含了相同的Action那么这个Intent就与这个目标Action匹配。如果这个IntentFilter段中没有定义 Type,Category,那么这个Activity就匹配了。但是如果手机中有两个以上的程序匹配,那么就会弹出一个对话可框来提示说明。

Action的值在Android中有很多预定义,如果你想直接转到你自己定义的Intent接收者,你可以在接收者的IntentFilter中加入一个自定义的Action值(同时要设定 Category值为"android.intent.category.DEFAULT"),在你的Intent中设定该值为Intent的 Action,就直接能跳转到你自己的Intent接收者中。因为这个Action在系统中是唯一的。

2.data/type,你可以用Uri来做为data,比如Uri uri = Uri.parse(http://www.google.com);Intent i = new Intent(Intent.ACTION_VIEW,uri);手机的Intent分发过程中,会根据http://www.google.com 的scheme判断出数据类型type 。手机的Brower则能匹配它,在Brower的Manifest.xml中的IntenFilter中 首先有ACTION_VIEW Action,也能处理http:的type。

3.至于分类Category,一般不要去在Intent中设置它,如果你写Intent的接收者,就在Manifest.xml的Activity的 IntentFilter中包含android.category.DEFAULT,这样所有不设置 Category(Intent.addCategory(String c);)的Intent都会与这个Category匹配。

4.extras(附 加信息),是其它所有附加信息的集合。使用extras可以为组件提供扩展信息,比如,如果要执行“发送电子邮件”这个动作,可以将电子邮件的标题、正文等保存在extras里,传给电子邮件发送组件。

(二)用类名跳转
Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。Intent在这里起着实现调用者与被调用者之间的解耦作用。Intent传递过程中,要找到目标消费者(另一个Activity,IntentReceiver或Service),也就是Intent的响应者。

Intent intent = new Intent();
intent.setClass(context, targetActivy.class);
//或者直接用 Intent intent = new Intent(context, targetActivity.class);
startActivity(intent);

不过注意用类名跳转,需要在AndroidManifest.xml中申明activity


(更多…)

标签: , , ,   评论: android开发之:intent和intent action大全已关闭评论 

Eclipse+Genymotion出现错误Could not open ‘/sys/class/power_supply/genymotion_fake_path/present’提示

当前位置:首页 » 学习
In 学习  @2015-05-04

导读:由于真机调试还不熟悉,而Eclipse自带的AVD启动太慢,调试起来简直急死人,遂找到这款超赞的虚拟机Genymotion,用起来确实很爽,速度很快。今天在调试的时候发现Eclipse后台报错,错误信息:Could not open '/sys/class/power_supply/genymotion_fake_path/present'判断应该是虚拟机Genymotion出来问题。

错误提示:

Could not open '/sys/class/power_supply/genymotion_fake_path/present'

一番google后,找出了问题所在,原来新版 Genymotion 移除了 Google 市场。实际上,对 ARM library 的支持也一并移除了,要解决上面的错误,需要安装一个叫ARM Translation的插件,如果需要使用google市场,需要安装Gapps。

具体操作步骤请看这里:
Genymotion | Installing ARM Translation and GApps(安装ARM Translation 和 GApps详细步骤和方法)

给手头没有合适真机做调试朋友强烈推荐Genymotion模拟机,速度堪比真机,各种舒服!

标签: , , ,   评论: Eclipse+Genymotion出现错误Could not open ‘/sys/class/power_supply/genymotion_fake_path/present’提示已关闭评论 

JAVA中的关键字

当前位置:首页 » 学习
In 学习  @2015-04-07

以下是java 关键字分类列表:(共50个,供大家参考)

访问权限控制
private 私有的
protected 受保护的
public 公共的

类、方法和变量修饰符
abstract 声明抽象
class 类
extends 扩允,继承
final 终极,不可改变的
implements实现
interface 接口
native 本地
new 新,创建
static 静态
strictfp 严格,精准
synchronized 线程,同步
transient 短暂
volatile 易失

程序控制语句
break 跳出循环
continue 继续
return 返回
do 运行
while 循环
if 如果
else 反之
for 循环
instanceof 实例
switch 开关
case 返回开关里的结果
default 默认

错误处理
catch 处理异常
finally 有没有异常都执行
throw 抛出一个异常对象
throws 声明一个异常可能被抛出
try 捕获异常

包相关
import 导入
package 包

基本类型
boolean 布尔型
byte 字节型
char 字符型
double 双精度
float 浮点
int 整型
long 长整型
short 短整型

变量引用
super 父类,超类
this 本类
void 无返回值

参考:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

标签: ,   评论: 5枚