有了libfetion,可以开发很多有意思的应用,和calendar,cron job结合起来,做定时提醒。现在每天晚上就会提醒我要洗衣服,哈哈。
- 一九八四
- 七星
- 万晓利
- 三文鱼
- 三级片
- 三脚架
- 上海
- 上班
- 丑陋
- 世博会
- 中国电信
- 中国银行
- 主题
- 九溪
- 二奶机
- 云计算
- 交通
- 人性
- 依赖
- 依赖注入
- 修理
- 光头
- 光猫
- 光纤
- 全局
- 公积金
- 六十周年
- 再生号
- 出国
- 出差
- 分页
- 删除
- 剧情
- 加薪
- 北野武
- 升职
- 单个应用程序
- 单元测试
- 卜蜂莲花
- 原盘
- 参数
- 双面北野武
- 发短信
- 吃狗肉
- 启动
- 和谐
- 回国
- 国内卡
- 国庆
- 国美
- 国际化
- 国难
- 图标
- 地震
- 垃圾
- 城市文明
- 培根
- 墙
- 外置硬盘
- 多点触控
- 够浪
- 婚礼
- 婚纱照
- 守望者
- 安装
- 定时提醒
- 宝宝
- 导演
- 封
- 工作
- 巴黎
- 帐户
- 异步
- 强化部
- 忽悠
- 恶心
- 成长
- 我的e家
- 房租
- 手机
- 托盘
- 扫街
- 拆卸
- 搜狗
- 搬家
- 摩托罗拉
- 撞墙
- 放假
- 政策
- 新天地
- 无耻混蛋
- 日食
- 昆汀
- 月饼
- 村上
- 杭州
- 林少华
- 架构设计
- 柠檬
- 植物园
- 死机
- 没货
- 法律
- 流程
- 涂鸦
- 清明
- 港澳游
- 游泳
- 火车
- 烂片
- 照片
- 爬虫
- 特快
- 特技
- 王小波
- 环境变量
- 瑞典
- 用户
- 电影
- 电话
- 百思买
- 监管
- 矫情
- 神作
- 穿帮
- 端午节
- 篮球
- 线程
- 经济
- 经济适用房
- 结婚
- 绿坝
- 网卡
- 网络
- 罚款
- 翻墙
- 联通
- 聚会
- 腾讯
- 自制
- 花季
- 花生壳
- 苏州
- 苹果
- 范型
- 蓝屏
- 虚假广告
- 虚拟机
- 蜘蛛
- 被封
- 西数
- 西湖
- 西餐
- 设计
- 试用
- 语言
- 调用
- 路由器
- 转换
- 输入法
- 过界
- 速度
- 配色
- 重置
- 铃声
- 键盘帽
- 防火墙
- 阴天
- 阿基里斯和龟
- 音乐节
- 顺溜
- 飞信
- 首饰
- 黄毒
- 鼠标
- 龙虾
- -d32
- 1Q84
- 64位
- 64bit
- 2012
- Actor
- ajax
- ajax comment
- akismet
- anchor
- Android
- anti-idle
- apache
- APE
- Apple
- apply
- Article
- assembly
- async
- AttachCurrentThread
- attribute
- Audio
- Backup
- BasicTransformer
- BetterTouchTool
- binding
- Boot
- bridge
- Butter
- cache
- calendar
- Can
- cheater
- ChromeOS
- collection
- compiz
- confirm
- constructor
- conversion
- CORBA
- CPU占用率
- Crisis
- cron
- CSS Binding
- CUE
- cygwin
- dd
- dependency
- dependencySet
- Desktop
- DetachCurrentThread
- diff
- different one
- digsby
- DNS
- Dock
- DOM
- dom4j
- DSL
- each document
- Eclipse
- Emacs
- Embedded
- embedded tomcat
- EMC
- Erlang
- EventEmitter
- Exception
- exist
- expandAll
- expect
- extends
- extension
- feedproxy
- Finder
- Firefox
- FireFox3
- Firefox extension
- FLAC
- folder
- Folk
- Font
- Framebuffer
- Free Font
- function
- Gallery
- Garbage Collection
- GC
- generic method
- Gentoo
- GFW
- git
- global
- Go
- Go Home
- Golang
- gtk
- GtkPod
- hal
- Home
- hot deploy
- HotSpot
- i18n
- IBM
- icon
- id3
- ie4linux
- IE8
- IM
- iMac
- immutable
- inherit
- input method
- installation
- Interclue
- interoperation
- invoke
- iPhone
- iPhoto
- iPod
- iptables
- ISO
- iTunes
- Java
- javadoc
- Javascript
- JDK
- jfetion
- JNI
- Job
- js
- JSON
- JsonGet
- JVM
- Karlskrona
- kdiff3
- Kernel
- Lens
- libfetion
- libgpod
- libusb
- LifeCycleListener
- Lift
- Linker
- Linux
- local
- Mac
- MAC地址
- Magic Mouse
- MapReduce
- Marketing
- maven
- maven-assembly-plugin
- Memory Leak
- menu
- Microsoft
- mldonkey
- Mobile
- mock
- mockStatic
- module
- moduleSet
- MoinMoin
- MongoDB
- moto
- Mozy
- mutagen
- My Book
- NetNewsWire
- Network
- Nexus
- node.js
- nodejs
- npm
- NumLock
- object
- OO
- OOo
- open
- openstack
- OSGi
- override
- ParkEvent
- Photo
- Photoshop
- Pink Floyd
- Pipe
- PowerMock
- PrepareForTest
- Programming Language
- PSP
- PyPanel
- Python
- pyusb
- react
- receive
- Reference
- repository
- REST
- RestHandler
- Ringtone
- RipperX
- Rock
- rsync
- ruby
- RuleTransformer
- RunWith
- Safari
- Sales
- Scala
- ScalaTest
- scim
- self
- Shit
- shntools
- Skype
- SLES
- smsd
- Snow
- Snow Leopard
- socket
- Sonatype
- source
- spam
- Specs
- Splash
- Split
- src.jar
- ssh
- Subway
- SUN
- superfish
- system.namespaces
- Tab Mix Plus
- TemplateFinder
- TextCha
- that
- Theme
- this
- Thread
- Time Machine
- Tor
- Training
- trait
- Trip
- Ubuntu
- underscore
- update
- URL
- USB
- USB邮件提醒器
- USB notifier
- VirtualBox
- Vista
- WCDMA
- Weather
- Web
- Wen Quan Yi
- Win
- Windows
- Windows 7
- Windows Qi
- wine
- Wireshark
- Word
- WordPress
- X11
- XML
- xorg-server
- xpath
- XSLT
- Yahoo
- YaST
- YOURLS
libfetion1.0
已经发布了一段时间了,我把能做的东西也都做进去了,但是现在还有几个方法没有调通,给作者发了信,一直没回,不知道是不是因为他们自己做JNI就不理我了,郁闷中……
准备发布jfetion了
昨天把build.xml搞好了,现在可以方便地构建整个库,准备发布了,虽然还没有测完全。有些东西实在是不好测,尤其是要一边在虚拟的Windows上用移动官方的fetion登陆,改东西,一边又要在虚拟的Gentoo上写代码、测试,实在是麻烦。先发布一个alpha版本好了。
现在在上班,晚上回去放上来。
询问了libfetion苹果上库的问题
作者没有回答,感觉应该是没门儿了。
jfetion要加快速度了,libfetion已经出新版本了。其实该写的code都已经完了,但是不好测,不知道不停地login,logout移动会不会很怒。
Java版的libfetion
已经解决了很多关键性问题,现在要做的就是一点一点测试了。基本的操作都已经可以了:init,terminate,login,logout,asyncLogin,sendSmsToSelf,getPersonalInfo。都测过来还要很多功夫,不知道什么时候能出个alpha版呢?
不知道能不能基于GPLv3发布呢,毕竟libfetion是闭源的。这个东西我就称之为jfetion吧,感觉很酷。
libfetion的JNI
这个东西没有想像的好弄,尤其是callback函数的处理,昨天搞到半夜才弄明白。
libfetion里面的callback函数不是只调用一次,而且每次有消息过来就会调一把,这样对于JNI的处理就比较麻烦了。因为是callback,所以callback对象和参数都必须加到Global Reference里去,但是什么时候delete掉呢?之前老是把虚拟机跑死,原因就是一旦callback一次后,我就把这些东西delete掉,以至于libfetion再callback的时候就core了。
弄明白这个原因之后,就有了一个简单的解决办法。每次为某个libfetion的函数注册一个callback对象的时候,把它和参数都存到一个数组中,这个对象和参数一直存在,直到再次为这个函数注册callback对象,或者是JNI_OnUnload的时候把它们清除掉。但是这样也有一个问题,这些注册的对象除非是再次为这个函数重新注册,否则几乎没有可能被从Global Reference里移除掉,所以完全不能依靠finalize了,不过这个也没什么,本来就不该依赖这个东西。
把smsd稍微修改了一下
fetion这个东西似乎撑不了几天就会被logout,这样smsd就完蛋了。
现在稍微修改了一下,如果发送失败会尝试重新login,再发送一次,还是不行的话,嘿嘿,就直接自杀。
libfetion对relogin的处理很奇怪,一定要是异步的,不知道为什么,这会让我很难搞,而且一定要调用relogin,而不能直接login,否则是肯定登不上去的。索性我就来个一不做二不休,发送失败之后,直接terminate,再init,再login,这样就可以了。