在unity3d中回调android的activity

在unity3d中返回android的原生activity,按照网上的许多教程,互相调用方法基本都没什么问题了,但是在返回android的原生activity的时候,整个程序都会关闭,最后在 manifest 配置文件中加入线程名解决。先罗列代码:
第一步在unity3d 的c#中回调外壳activity的方法:

public void onBackClick(){
    AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
    AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
    jo.Call("back","返回android");
}

第二部在外壳activiti中处理(我是新建了一个继承UnityPlayerNativeActivity的类)


public class WeivaUPNActivity extends UnityPlayerNativeActivity {

    public void back(String arg){
        Intent intent = new Intent();
        intent.setClass(WeivaUPNActivity.this, LoginOkActivity.class);
        startActivity(intent);
        WeivaUPNActivity.this.finish();

    }
}

视乎看起来没什么问题,但是UnityPlayer 被finish()后会把整个程序给exit,导致无法返回 LoginOkActivity 。如果不对UnityPlayer进行finish,可以返回LoginOkActivity,但是这程序无法退出,因为在退出的时候又会再次打开UnityPlayer。
谷歌了很多帖子,视乎很复杂,也考虑过回调时不finishi,而是把WeivaUPNActivity实例静态化后,在退出时在静态退出,但是感觉很麻烦。最后在一片老外的帖子发现一条线索,可以在manifest配置文件中设置不同的进程名,从而避免UnityPlayer finish时关闭整个程序:

            <activity android:label="@string/app_name" android:screenOrientation="fullSensor" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale" android:name="com.weiva.WeivaUPNActivity"<font color="#ff0000"> android:process=":Unity3D"</font>>
              <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
              <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
            </activity>

原帖地址:http://answers.unity3d.com/questions/587979/how-do-i-stop-munityplayerquit-closing-the-entire.html

zend framework 2 学习笔记:定义自己的日志,记录到数据库中

需求:定制自己的日志系统,本例假定指定存储到Mysql数据库当中。

通常的web我们可以 echo,或者IDE的debuger调试程序,但是有些特殊情况,例如php与android、unity3d等前端通讯时,传统方式并不方便,所以,需要把日志输出到其他地方便于查看。
* zf2中可以通过指定不同的 Zend/Log/Writer 来使用不同的日志记录方式。

下面开始动手了
为了便于在系统中重复使用,我将Logger放到 App 的 Service 中,以后只要在需要的时候,从 Service 中取出就可以用,如果完全没使用,也不会对速度有影响。

在文件 module/Application/Module.php 中:
头部引用包:

use ZendLogLogger;
use ZendLogWriterDb as WriterDb;

在 Module 类中,加入自定义 Service:

public function getServiceConfig(){
        return array(
            'factories'=>array(
                'WLogger' => function($sm){
                    $dbAdapter = $sm->get ( 'ZendDbAdapterAdapter' ); //需要指定你自己的数据库适配器
                    //对接数据表字段
                    $mapping = array(
                        'timestamp' => 'time',
                        'priority'  => 'type',
                        'message'   => 'message'
                    );
                    $writer = new WriterDb($dbAdapter, 'log_table', $mapping); // log_table 是你自己的日志数据表
                    //$writer = new ZendLogWriterDb($dbAdapter, 'log_table', $mapping); //这样会报错
                    $logger = new Logger();
                    $logger->addWriter($writer);
                    return $logger;
                }
            )
        );
    }

添加日志表到你的数据库中:

--
-- 表的结构 `log_table`
--

CREATE TABLE IF NOT EXISTS `log_table` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `type` varchar(255) DEFAULT NULL,
  `message` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='日志库' AUTO_INCREMENT=1 ;

如何使用?:

$logger = $this->getServiceLocator()->get('WLogger');
$logger->info('记录一条日志');

JQuery取得标签的 src 的相对路径和绝对路径

今天遇上一个怪异的问题,本来想通过JQuery改变图片地址的,但是老是取得Dom处理后的绝对路径地址,不利于处理,研究了半天,终于知道怎么处理了:

 $("img").each(function(i){
 alert("1:" + $(this).attr("src"));  //这种方式可以取得 html 中的 src 属性
 alert("2:" + this.src);                 //这种方式取得的是经过 Dom 补完的绝对路径
 });

可恶的Dom

R290打印机及改装

今天给打印机动了大手术,再次降低打印成本。


大厅茶几做临时工作台


需要更换进去的主板,带有破解芯片


连供的塞子


连供,百度西颜料墨水


破解主板上的破解芯片


拆开的打印机,看到主板


边看网上的拆机图文过程,边动手,X61T很给力


主板被拆掉了


主板的屏蔽盒子


被换下来的主板


新旧主板合影

更换主板后安装好,实验打印了一下,效果不错。
赶紧测试对PhotoGP是否支持。
再和原来打印的照片对比,效果一模一样,放心了。
然后测试废墨清理、墨水计数器清零,都正常通过,OK,破解成功!

最后附上精心调整的 ICC + PhotoGP 调整对比:
左边3张图片主要测试暗调的表现,右边3张图片社综合测试
从上往下依次是:
1、Windows文件管理器自带的打印程序 + ICC(IT-Color)
2、PhotoShop + PhotoGP
3、PhotoShop + PhotoGP + ICC(IT-Color)

因为上图是使用手机晚上翻拍的,所以无法还原所有打印效果,特别说左边3张的暗调部分,上面2张暗调都是有严重的色偏、失真,暗色下潜不够。第3张就好很多,颜色很正,正确表现出暗部的细节,不过上图由于超过了手机照片的动态范围,图上看不出来。
左边第2张看起来天空的颜色比较鲜艳,其实是错误的色偏。

用PhotoShop 加 PhotoGP 再加上ICC色彩曲线,精心调整后,色彩还原好了很多啊,当然比不上原厂的墨水,但是可以改善连供墨水的性能,节约不少钱。原厂墨水颜色还原能力好,其实也就是原厂针对自己的墨水进行了类似ICC曲线的调校,改了连供以后,原厂ICC套用到其它品牌的墨水,肯定会出现失真。
要想打印机色彩还原能力好,色彩调校必不可少,特别是改连供后。最好针对每种纸张单独制作ICC。

辗转几个php framework感受2

这是我2009年写的:

最近需要建站,不想自己一个人慢慢写代码,也没人合作,之前考虑cms,但是在商业应用没有那个好的cms是免费的,而且价格惊人,如supesite商业授权就高达2万,而服务费就从2万5到14万8,小的穷人用不起,于是考虑使用framework。

CodeIgniter:轻量级的框架,功能不强,看中他是因为支持php 4,后来因为空间的升级,也就没必要考虑这一特性了,而且看他在国内的资料比较少;
ZendFramework:拥有皇室血统的框架,但是感觉过于庞大,中文资源少,只找到中文手册和1.5的入门指南
Qeephp:目前正在研究的,国人自己开发的,感觉还不错,不过看入门到大半,感觉思路有点混乱了,控制器、视图、模型,control,controller,view,form,model,helper,一大堆东西,期待熟悉以后能够清晰一些。

总结:Qeephp是目前的选择,不错的框架,而且是国人(自贡市起源科技有限公司)自己开发的,优秀的开源软件。开源软件就是大公无私的免费把软件给地球人用,这些大公无私者值得我们铭记,虽然我之前都不知道自贡市这个地方,但是因为Qeephp,所以他至少是一个不错的城市……

不过看完快速入门后,看api手册时就失望了,文档太少了,几乎没什么用处
虽然QeePHP的思想不错但是,没办法,还不如
CodeIgniter的文档齐全

过了3年后,还是什么结论也没得出~~!
纠结1、想研究Discuz的框架。毕竟自从与腾讯QQ互联以后,网络上比较烦人的“帐号遗忘症”似乎很好的解决了,虽然国外有类似的应用,如passport等,但是在国内,还是QQ垄断天下。说到QQ,我只能说,这是我最讨厌但是却不得不每天在用的软件。
纠结2、非Zend血统的框架发展缓慢,特别是文档、教程缺乏。框架不像电视机,谁拿来都会用,没有丰富的文档、教程,谁也不会去用的。
纠结3、ZendFramework,还是老样子php里面的皇室血统,庞大、优秀、逻辑严谨功能强大,文档丰富,但~~好的文档都是英文的。
纠结4、最近用了一下Asp.net MVC2,微软在易用性方面太强大了,特别是与IDE的整合,开发效率可谓非常之高,学习起来也不难,php的Framework在这方面还是太弱了。