Ingress Mods

文章翻译自: http://decodeingress.me/ingress-manual/ingress-items/portal-mods/

Portal Mods

Portal mods是用来升级portal的物品,每一个portal有四个放置mod的地方。如果要给一个portal部署mod,第一需要这个portal被己方阵营控制,第二是需要有空位置来部署mod,第三你需要有足够的XM值。你同样可以移除一个mod,但是你不能够移除队友部署的mod。如果portal被摧毁了,所有的mod都会随着portal的毁灭而毁灭。 Most mods work using the diminishing return premise, where each consecutive mod of the same type has less effect towards that upgrade.

Portal Stats

目前有5种mod功能

* Mitigation 减缓减轻攻击
* Attack Power 自动攻击
* Distance of Link Length 增加link距离
* Number of Hacks before Burnout 在portal烧坏之前增加Hacks次数
* Wait Time between Hacks (cool down time) 减少Hacks中间等待时间
* Number of Attacks 攻击的次数

mod有三种分类,等级


* Common
* Rare
* Very rare

Portal Mods种类

* Portal Shield
* Force Amplifier
* Link Amplifier
* Multi-hack
* Heat Sink
* Turret

Portal shield可以用来抵御XMP的攻击,Portal shield用来给重要Portal增加防御力方面非常有效.

* common: +10 mitigation
* rare: +20 mitigation
* very rare: +30 mitigation

截图:http://decodeingress.me/portal-shields/


Force Amplifier增加Portal攻击效果,很好的防御mod

* Rare = +2x Damage

如果给一个Portal叠加添加Force Amplifier,第一个后面的作用效果递减

* First one = +2x damage
* Second one = +0.5x damage
* Third one = +0.25x damage
* Forth one = +0.125x damage

部署一个2倍伤害,部署四个也只有2.875倍伤害,所以不要部署一个以上Force Amplifier
部署Common需要400XM,部署Rare需要800XM,部署Very rare需要1000XM
截图:http://decodeingress.me/force-amplifier/

Link Amplifier用来增强Portallink距离

* Rare = +2x Link range

和Force Amplifier一样,部署一个以上效果越来越小

* First = +2x range
* Second = +0.5x range
* Third = +0.25x range
* Forth = +0.125x range

所以目前为止最大的连接距离是655 km * 2.875 = 1883 km
截图:http://decodeingress.me/link-amplifier/

Multi-hack用来增加Portal在burnout之前能够hack的次数

* Common = +4 times
* Rare = +8 times
* Very Rare = +12 times

所以加上初始的4次Hack,你在Portal burnout前最多能够hack 4+4*12=52次
截图:http://decodeingress.me/multi-hack/
Heat Sink用来减少Hack中间冷却时间

* Common = +20% Portal Cooldown Decrease
* Rare = +50% Portal Cooldown Decrease
* Very rare = +70% Portal Cooldown Decrease

普通情况下Hack一个Portal到下一次Hack要等待5分钟,如果安装上一个Rare Heat Sink你就只需要等待2.5分钟了.mod作用效果可以叠加.计算公式
Only Very Rare Heat Sinks:
1 VR HS = 300 * 0.3 = 90 s cooldown
2 VR HS = 300 * 0.3 * 0.3 = 27 s cooldown
3VR HS  = 300 * 0.3 * 0.3 * 0.3 = 8.1 s cooldown
4 VR HS = 300 * 0.3 * 0.3 * 0.3 * 0.3 = 2.43 s cooldown
Only Rare Heat Sinks:
1 R HS = 300 * 0.5 = 150 s cooldown
2 R HS = 300 * 0.5 * 0.5 = 75 s cooldown
3R HS  = 300 * 0.5 * 0.5 * 0.5 = 37.5 s cooldown
4 R HS = 300 * 0.5 * 0.5 * 0.5 * 0.5 = 18.75 s cooldown
Only Common Heat Sinks:
1 C HS = 300 * 0.8 = 240 s cooldown
2 C HS = 300 * 0.8 * 0.8 = 192 s cooldown
3 C HS  = 300 * 0.8 * 0.8 * 0.8 = 153.6 s cooldown
4 C HS = 300 * 0.8 * 0.8 * 0.8 * 0.8 = 122.88 s cooldown
截图:http://decodeingress.me/heat-sink/

Turret可以增加Portal攻击的速率,配合Force Amplifier使用会使得攻击非常困难.
截图:http://decodeingress.me/turret/

LastPass分享密码

在之前的”密码管理“文中就提到了,我是使用LastPass作为密码管理的主要工具的。工具嘛,用着用着就会越来越顺手,所以最近又体验了一下它”分享“密码着一个功能。或许有人想着密码本来就一私密的东西,还能分享密码~~可是现实中就会有人有这种需求,有的人有了高级帐号,而这个高级帐号中也没有多少私密的东西,这个高级帐号可以用来下载论坛中的附件,可以用来干啥干啥,那就可以分享给其他人使用,其他人就不用去注册低等级帐号,各种限制了。

而LastPass分享密码的好处是,别人只能复制你的密码,他或她是看不到密码的具体内容的,这就保证了你密码的安全性,如果按照我在“密码管理”文中说的,密码分级管理,就不怕分享给别人的密码泄漏了你密码的规则从而泄漏更多的密码。
而这一个分享密码的功能满足了部分人群的需求,这也正是Chrome密码管理器无法实现的一个功能,所以现在我用“LastPass”通用安装器,将Chrome中所有密码导入到LastPass用LP实现密码的完全管理。
当然如果你还没有用过LastPass,那么现在就注册使用吧。如过你通过我的邀请链接注册,你和我都将体验到1个月LastPass的高级版。

解决Win7电脑扬声器在耳机插入情况下依然响的问题

环境:
Windows 7 Ultimate

出现问题:

  1. 睡眠之后使用耳机,电脑扬声器依然有声音
  2. 间歇性的插入耳机,扬声器还响


解决方法:

  1. 重启,最简单却又是最烦的方法。
  2. 打开控制面板--硬件和声音--Realtek高清晰音频设备管理器--然后再插入耳机,此时会提醒你耳机已经插入,点击确定即可。然后电脑扬声器就没有声音了。


购物记录:Targus泰格斯

参数:
主体
品牌 Targus(泰格斯)
型号 TSB227AP
类别 笔记本电脑双肩包
适用范围 适用于15.6寸及以内笔记本
规格
产品尺寸 约32 x 18 x 46 cm
内部尺寸 约37.47 x 3.89 x 26.06 cm
重量 约850g
颜色 黑色/红色
材质 尼龙
特性
特性 尼龙

泰格斯中国风背包最大可容纳15.6“宽屏笔记本,集运动时尚与坚固耐用性于一身。背包专为在各种天气情况使用而设计,采用防溢水材料,并配备一个隐藏的防雨罩。这款背包具有现代气息,让您工作休闲两相宜。
产品性能:
1.采用防溢水材料
2.除加垫笔记本隔间外,还配备一个内置二个网袋的拉链口袋
3.舒适背板,及可调节的肩带,携带舒适
这款背包最大可容纳15.6“宽屏笔记本,集功能性与舒适性于一身。背包专为在各种天气情况使用而设计,采用防溢水材料,并配备一个隐藏的防雨罩。这款背包是为商旅专业人士提供的兼具时尚和实用平衡性的完美选择。
产品性能: 1.采用防溢水材料,底部有可收藏的防雨套
2.除加垫笔记本隔间外,还配备一个内置二个网袋的拉链口袋
3.舒适背板,及可调节的肩带,携带舒适
4.红色装饰让背包外观时尚而稳重。
4.特别设有耳机出孔,方便享受音乐

当时在当当网买的~~~
http://product.dangdang.com/product.aspx?product_id=60327560

常用Intent

以下是常用到的Intent的URI及其示例,包含了大部分应用中用到的共用Intent

一、打开一个网页,类别是Intent.ACTION_VIEW

Uri uri = Uri.parse("http://www.android-study.com/");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);

二、打开地图并定位到一个点

Uri uri = Uri.parse("geo:52.76,-79.0342");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);

三、打开拨号界面,类型是Intent.ACTION_DIAL

Uri uri = Uri.parse("tel:10086");
Intent intent = new Intent(Intent.ACTION_DIAL, uri);

四、直接拨打电话,与三不同的是,这个直接拨打电话,而不是打开拨号界面

Uri uri = Uri.parse("tel:10086");
Intent intent = new Intent(Intent.ACTION_CALL, uri);

五、卸载一个应用,Intent的类别是Intent.ACTION_DELETE

Uri uri = Uri.fromParts("package", "xxx", null);
Intent intent = new Intent(Intent.ACTION_DELETE, uri);

六、安装应用程序,Intent的类别是Intent.ACTION_PACKAGE_ADDED

Uri uri = Uri.fromParts("package", "xxx", null);
Intent intent = new Intent(Intent.ACTION_PACKAGE_ADDED, uri);

七、播放音频文件

Uri uri = Uri.parse("file:///sdcard/download/everything.mp3");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setType("audio/mp3");

八、打开发邮件界面

Uri uri= Uri.parse("mailto:admin@android-study.com");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);

九、发邮件,与八不同这里是将邮件发送出去

Intent intent = new Intent(Intent.ACTION_SEND);
String[] tos = { "admin@android-study.com" };
String[] ccs = { "webmaster@android-study.com" };
intent.putExtra(Intent.EXTRA_EMAIL, tos);
intent.putExtra(Intent.EXTRA_CC, ccs);
intent.putExtra(Intent.EXTRA_TEXT, "I come from http://www.android-study.com");
intent.putExtra(Intent.EXTRA_SUBJECT, "http://www.android-study.com");intent.setType("message/rfc882");
Intent.createChooser(intent, "Choose Email Client");

//发送带附件的邮件

Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
intent.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");
intent.setType("audio/mp3");
startActivity(Intent.createChooser(intent, "Choose Email Client"));

十、发短信

Uri uri= Uri.parse("tel:10086");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.putExtra("sms_body", "I come from http://www.android-study.com");
intent.setType("vnd.Android-dir/mms-sms");

或者可以
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.putExtra("address", "电话号码,这里是电话");
intent.putExtra("sms_body","短信内容,短信");
intent.setType("vnd.android-dir/mms-sms");
startActivity(intent);


十一、直接发短信

Uri uri= Uri.parse("smsto://100861");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
intent.putExtra("sms_body", "3g android http://www.android-study.com");

十二、发彩信

ri uri= Uri.parse("content://media/external/images/media/23");
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra("sms_body", "3g android http://www.android-study.com");
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.setType("image/png");

十三、# Market 相关

1 //寻找某个应用
Uri uri = Uri.parse("market://search?q=pname:pkg_name");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
//where pkg_name is the full package path for an application
 
2 //显示某个应用的相关信息
Uri uri = Uri.parse("market://details?id=app_id");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
//where app_id is the application ID, find the ID
//by clicking on your application on Market home
//page, and notice the ID from the address bar

十四、路径规划

Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
//where startLat, startLng, endLat, endLng are a long with 6 decimals like: 50.123456

十五、安装指定apk

public void setupAPK(String apkname){
    String fileName = Environment.getExternalStorageDirectory() + "/" + apkname;
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");
    mService.startActivity(intent);
}

十六、进入联系人页面

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(People.CONTENT_URI);
startActivity(intent);

十七、查看指定联系人

Uri personUri = ContentUris.withAppendedId(People.CONTENT_URI, info.id);// info.id联系人ID
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(personUri);
startActivity(intent);

十八、调用相册

public static final String MIME_TYPE_IMAGE_JPEG = "image/*";
public static final int ACTIVITY_GET_IMAGE = 0;
Intent getImage = new Intent(Intent.ACTION_GET_CONTENT);
getImage.addCategory(Intent.CATEGORY_OPENABLE);
getImage.setType(MIME_TYPE_IMAGE_JPEG);
startActivityForResult(getImage, ACTIVITY_GET_IMAGE);

十九、调用系统相机应用程序,并存储拍下来的照片

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
time = Calendar.getInstance().getTimeInMillis();
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment
.getExternalStorageDirectory().getAbsolutePath()+"/tucue", time + ".jpg")));
startActivityForResult(intent, ACTIVITY_GET_CAMERA_IMAGE);

http://www.verydemo.com/demo_c131_i16393.html

Android开发过程中遇到的小问题

Android ProgressBar有一个属性indeterminate
这个属性值用来控制进度条是否为确定性进度条.确定性进度条是指在任务执行过程中,可以数值化当前进度(比如,已经完成50%) 。不确定性进度条是那种除非任务完成,否则不能数值化进度,所以我们会看到一个无限循环的动画。
http://www.lxzhu.net/blogcn/tags/progressbar
通过设置进度条android:indeterminate="true"为不确定.
如果想要设置进度条一直为进度不确定可以通过设置android:indeterminateOnly="true",否则设置为false

http://thinkblog.sinaapp.com/?p=732

[Accessibility] Missing contentDescription attribute on image

在下ADT 16.0 在定义一个ImageVIew的时候 总是提示这个[Accessibility] Missing contentDescription attribute on image警告,虽说可以不理 但总是感觉怪怪的,在网上一搜 发现原来这是ADT 16.0的新特性,在一些没有文本显示的控件里,如imageView和imageButton等,ADT会提示你定义一个android:contentDescription属性,用来描述这个控件的作用。

http://blog.csdn.net/hn307165411/article/details/7179317

Quote Of The Day