分类存档: Moo - 第12页

解决eclipse使用git ssh模式auth fail问题

命令行下git一切正常,eclipse出现auth fail错误,
需要添加 GIT_SSH=/usr/bin/ssh

原文:

I had exactly same problem but I found the cure from a Eclipse bug report!

An environment variable named GIT_SSH must be set with a path to a ssh executable [1].

For example on Ubuntu Linux (10.10 64bit):

> export GIT_SSH=/usr/bin/ssh
> eclipse
After that pushes to GitHub repository work like they should. I tested this with Eclipse Galileo and Indigo.

The problem is really annoying and the solution is far from nice. For now, making the solution permanent for, at least Ubuntu users, one must make the env variable permanent. It can be done by adding the export command to ~/.profile or ~/.bashrc [2]. For example:

> cd ~
> echo “export GIT_SSH=/usr/bin/ssh” >> .profile
And then restart Eclipse to take effect.

Android 判断某个APK是否已安装

privateboolean isAppInstalled(String uri) {
PackageManager pm = getPackageManager();
boolean installed =false;
try {
pm.getPackageInfo(uri,PackageManager.GET_ACTIVITIES);
installed =true;
} catch(PackageManager.NameNotFoundException e) {
installed =false;
}
return installed;
}

if(isAppInstalled(“com.yourpackage.package”)) {
//app installed
} else {
//app not installed
}

Android HCE

引用

开发HCE功能必须使用到HostApduService,在使用HostApduService时需要配置HostApduService的对应AID,同一个手机可能安装多个HCE APP,或者同一个APP包含多个HostApduService,这时候就需要搞清楚配置的AID和对应的HostApduService之间的响应向后问题。
首先介绍一下关于HostApduService的AID配置问题,AID有两种模式:other和payment

第一种

          可以通过指定多个aid-filter,来注册多个AID。
          category可以指定为 other 或者 payment。
          requireDeviceUnlock为false的时候,可以在锁屏状态下完成处理,为true的时候,则会要求用户解锁屏幕。

第二种

 
          可以通过指定多个aid-filter,来注册多个AID。
          category可以指定为 other 或者 payment。
          requireDeviceUnlock为false的时候,可以在锁屏状态下完成处理,为true的时候,则会要求用户解锁屏幕

下面我们来详细说明一下关于不同模式下的AID响应问题(前提:一个手机,手机上有A、B两个HCE APP,通过读卡器向手机发送APDU选择指令)

1、A和B的应用AID设置的都是payment模式,

只有手机当前选定的默认支付APP会响应,另外一个APP的AID选择指令是不会响应的。

2、A和B的应用AID设置的都是other模式,

当A和B的AID是相同的时候系统会弹出对话框,列出A和B,让用户选择。

如果A和B的AID不同,那么两个APP之间没有相互影响。

3、A和B的应用AID设置的分别是payment(A)和other(B)模式,

如果A和B的AID相同,那么只有A会响应选择指令。

如果A和B的AID不同,那么两者之间不会相互影响

最后将如何判断当前HCE应用是否是默认支付程序以及如何设置成默认支付程序的方法贡献给大家

private void checkIsDefaultApp() {
CardEmulation cardEmulationManager = CardEmulation.getInstance(NfcAdapter.getDefaultAdapter(this));
ComponentName paymentServiceComponent = new ComponentName(getApplicationContext(), CardMangerService.class.getCanonicalName());
if (!cardEmulationManager.isDefaultServiceForCategory(paymentServiceComponent, CardEmulation.CATEGORY_PAYMENT)) {
Intent intent = new Intent(CardEmulation.ACTION_CHANGE_DEFAULT);
intent.putExtra(CardEmulation.EXTRA_CATEGORY,CardEmulation.CATEGORY_PAYMENT);
intent.putExtra(CardEmulation.EXTRA_SERVICE_COMPONENT,paymentServiceComponent);
startActivityForResult(intent, 0);
L.d(“TAG”,”当前应用不是默认支付,需手动设置”);
} else {
L.d(“TAG”,”当前应用是系统默认支付程序”);
}
}

cocos2dx 特效

//3D晃动的特效
// CCActionInterval* shaky3D = CCShaky3D::create(5, CCSize(10, 10), 15, false);
// sp->runAction(shaky3D);
//作用:创建一个3d晃动的特效
// 参数1:晃动的范围
// 参数2:是否有z轴晃动
// 参数3: 网格大小
// 参数4:特效持续的时间

//3D瓷砖晃动特效
// CCActionInterval* shakyTiles3D = CCShakyTiles3D::create(5, CCSize(10, 10), 5, false);
// sp->runAction(shakyTiles3D);
// 作用:创建一个3d瓷砖晃动的特效
// 参数1:晃动的范围
// 参数2:是否有z轴晃动
// 参数3: 网格大小
// 参数4:特效持续的时间

//波动特效
// CCActionInterval* waves = CCWaves::create(5, CCSize(10, 10), 10, 20, true, true);
// sp->runAction(waves);

// 创建一个波动特效
// 参数1:波动的速率
// 参数2:振幅
// 参数3:水平波动
// 参数4:垂直波动
// 参数5:网格大小
// 参数6:特效持续时间

//3D波动特效
// CCActionInterval* waves3D = CCWaves3D::create(5, CCSize(10, 10), 10, 20);
// sp->runAction(waves3D);

// 创建一个3D波动特效
// 参数1:波动的速率
// 参数2:振幅
// 参数3:网格大小
// 参数4:特效持续时间

//3D瓷砖波动特效
// CCActionInterval* wavesTiles3D = CCWavesTiles3D::create(5, CCSize(10, 10), 10, 20);
// sp->runAction(wavesTiles3D);
// 创建一个3D瓷砖波动特效
// 参数1:波动的速率
// 参数2:振幅
// 参数3:网格大小
// 参数4:特效持续时间

//X轴 3D反转特效
// CCActionInterval* filpX = CCFlipX3D::create(5);
// sp->runAction(filpX);

// 作用:x轴3D反转特效
// 参数:特效持续的时间

//Y轴3D反转特效
// CCActionInterval* filpY = CCFlipY3D::create(5);
// sp->runAction(filpY);
// CCActionInterval * flipY3D = CCFlipY3D::create(4);
// sp->runAction(flipY3D);

//凸透镜特效
// CCActionInterval* lens = CCLens3D::create(2, CCSize(10, 10),CCPointMake(240, 160), 240);
// sp->runAction(lens);
// 作用: 凸镜特效
// 参数1:凸镜中心点
// 参数2:凸镜半径
// 参数3:网格大小
// 参数4:网格持续时间

//水波纹特效
// CCActionInterval* ripple = CCRipple3D::create(5, CCSize(10, 10), CCPointMake(240, 160), 240, 4, 160);
// sp->runAction(ripple);
// 作用:水波特效
// 参数1:起始位子
// 参数2:半径
// 参数3:速率
// 参数4:振幅
// 参数5:网格大小
// 参数6:特效持续的时间

//液体特效
// CCActionInterval* liquid = CCLiquid::create(5, CCSize(10, 10), 4, 20);
// sp->runAction(liquid);
// 作用:液体特效
// 参数1:速率
// 参数2:振幅
// 参数3:网格大小
// 参数4:特效持续时间

//扭曲旋转特效
// CCActionInterval* twirl = CCTwirl::create(50, CCSize(10, 10), CCPointMake(240, 160), 2, 2.5);
// sp->runAction(twirl);
// 作用:扭曲旋转特效
// 参数1:扭曲旋转中心点
// 参数2:扭曲旋转的次数
// 参数3:振幅
// 参数4:网格大小
// 参数5:特效持续时间

//破碎的3D瓷砖特效
// CCActionInterval* shatteredTiles = CCShatteredTiles3D::create(15, CCSize(10, 10), 50, true);
// sp->runAction(shatteredTiles);
// 作用:破碎的3D瓷砖特效
// 参数1:范围
// 参数2:是否开启z轴
// 参数3:网格大小
// 参数4:特效持续的时间

//瓷砖洗牌特效
// CCActionInterval* shuffle = CCShuffleTiles::create(5, CCSize(50, 50), 50);
// sp->runAction(shuffle);
// 作用:瓷砖的洗牌特效
// 参数1:随机数
// 参数2:网格大小
// 参数3:特效持续的时间

//部落格效果,从左下角到右上角
// CCActionInterval* fadeOutTRTiles = CCFadeOutTRTiles::create(5, CCSize(50, 50));
// sp->runAction(fadeOutTRTiles);

// 作用:部落格效果 , 从左下角到右下角
// 参数1:网格大小
// 参数2:特效持续的时间

//部落格效果,从右上角到左下角
// CCActionInterval* fadeOutBLTiles = CCFadeOutBLTiles::create(5, CCSize(50, 50));
// sp->runAction(fadeOutBLTiles);
// 作用:部落格效果 , 从右下角到左下角
// 参数1:网格大小
// 参数2:特效持续的时间

//折叠效果 从下到上
// CCActionInterval* fadeOutUpTiles = CCFadeOutUpTiles::create(5, CCSize(10, 10));
// sp->runAction(fadeOutUpTiles);
// 作用:折叠效果 从下到上
// 参数1:网格大小
// 参数2:特效持续的时间

//折叠效果,从上到下
// CCActionInterval* fadeOutDownTiles = CCFadeOutDownTiles::create(4, CCSize(20, 50));
// sp->runAction(fadeOutDownTiles);

// 作用:折叠效果 从上到下
// 参数1:网格大小
// 参数2:特效持续的时间

//方块消失特效
// CCActionInterval* turnOffFiels = CCTurnOffTiles::create(4, CCSize(50, 50));
// sp->runAction(turnOffFiels);
// 作用:方块消失特效
// 参数1:网格大小
// 参数2:特效持续的时间

//跳动的方块特效
// CCActionInterval* jumpTiles = CCJumpTiles3D::create(5, CCSize(20, 20), 5, 20);
// sp->runAction(jumpTiles);
// 作用:跳动的方格特效
// 参数1:跳动的次数
// 参数2:网格的大小
// 参数3:特效持续的时间

//分多行消失特效
// CCActionInterval* splitCols = CCSplitCols::create(5, 50);
// sp->runAction(splitCols);
// 作用:分多列消失特效
// 参数1:列数
// 参数2:特效持续的时间

//分多列消失特效
// CCActionInterval* splitRows = CCSplitRows::create(5, 50);
// sp->runAction(splitRows);

// 作用:分多行消失特效
// 参数1:行数
// 参数2:特效持续的时间

//3D翻页特效
CCActionInterval* pageTurn3D = CCPageTurn3D::create(4, CCSize(20, 20));
sp->runAction(pageTurn3D);
// 作用:3D翻页特效
// 参数1:网格大小
// 参数2:特效持续的时间

#define CREATE_FUNC(__TYPE__) \
static __TYPE__* create() \
{ \
__TYPE__ *pRet = new __TYPE__(); \
if (pRet && pRet->init()) \
{ \
pRet->autorelease(); \
return pRet; \
} \
else \
{ \
delete pRet; \
pRet = NULL; \
return NULL; \
} \
}

C++标准规定,delete (void*)0;是安全的。
delete NULL也是安全的 无效操作;

解决WordPress访问速度慢问题

wp-includes/script-loader.php中将fonts.googleapis.com和ajax.googleapis.com替换为fonts.useso.com/ajax.useso.com

外婆

         外婆

我站在去年冬天的那片旷野里
细碎的风声  低语
你的呼喊   还有
你渐去的背景
在我闭上眼睛  叹息的一瞬
依稀再重现
又一阵不经意的春风
拂下我几行泪滴
低头对望这片熟悉的土地
已繁花一片

    炊烟

我曾轻携着你
无数次穿回在小院里
梧桐树下的光阴
以及   屋檐下的雨
纺织起年少时的梦
我曾轻携着你
无数次穿回在小院里
穿过星辰与四季
穿过你的银发
穿过我所有的所有的记忆
在很远的后来
我渐渐明白
从北屋到灶头的那十几米距离
是我长大的距离

  小时候

贴在你的身边
我停止了哭泣和忧愁
村里的冬夜严寒而残酷
但静默如旧
暖色的灯光洒下
包裹了你  也温暖了我
你的表情安静从容
一如昨日
在此刻
我握着你的手
似是你抱着我
似是再回那些岁月
我无法触及的
小时候

     后来

后来
我走过千山万水  远去
每一次回望
都能看到你的衰老与沧桑
后来
我的生命
被你温柔的触摸  漂洗
我身着的衣裳
以及我的梦
洁白如新

      念

在我的起点
与你的终点之间
像是讲了一个极长极美的故事
故事的结尾
有鸟鸣  有花香
还有永不枯萎的
思念

再三思量

还是继续上线吧

Android中全屏或者取消标题栏

先介绍去掉标题栏的方法:

第一种:也一般入门的时候经常使用的一种方法

requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏

注意这句一定要写在setContentView()方法的前面,不然会报错的

第二种:在AndroidManifest.xml文件中定义

		<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">

可以看出,这样写的话,整个应用都会去掉标题栏,如果只想去掉某一个Activity的标题栏的话,可以把这个属性加到activity标签里面

第三种:这种在一般的应用中不常用,就是在res/values目录下面新建一个style.xml的文件

例如:

		<?xml version="1.0" encoding="UTF-8" ?>
<resources>
<style name="notitle">
<item name="android:windowNoTitle">true</item>
</style> 
</resources>

这样,我们就自定义了一个style,就相当于一个主题,然后在AndroidManifest.xml文件中定义

		<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/notitle">

这样也可以达到去掉标题栏的效果

密码保护:宝宝100天

此内容受密码保护。如需查阅,请在下列字段中输入您的密码。