2016-01-21 ALEX LIN
推送通知是当程序没有启动或不在前台运行时,告诉用户有新消息的一种途径。 有远程推送和本地推送之分。 more 本地推送 本地推送就是由应用程序发起的推送通知,不经过服务器。 应用场景 一般用于不需要网络的提醒类情况 事件提醒类:到了我们自定义的时间,就会弹出一些信息告诉我们该干什么了,例如闹钟 游戏类:每日任务提醒,一到八点双倍经验时刻开启,就准时提醒用户登陆 书籍类:你有多少天没有看书了,需要学习哦 健康类:亲~你好多天没吃药了,不要放弃治疗 恶搞类:在你分手女朋友手机里安装一个软件,3个月后,自动开启xxx约你开房 硬件类:蓝牙连接,当程序在后台时候与蓝牙断开,需要有一个提示告诉用户蓝牙连接断开 记账类软件,会提醒我 继续阅读 »
2016-01-20 ALEX LIN
目录结构 一个合理的目录结构首先应该是清晰的,让人一眼看上去就能大概了解目录的职责,且容易应对新的变化。 常规的两种结构: 主目录按照业务分类,内目录按照模块分类(主目录按照MVC架构分类,内部根据项目模块分类) 优点:相对比较快定位对应的业务。 缺点:模块相关类太过分散,需要来回切换寻找文件,不方便开发。 ├── Application ├── Categories ├── Controllers │   ├── Blog │   ├── Comment │   ├── Login │   ├── News | ... ├── Models │  继续阅读 »
2016-01-18 ALEX LIN
开发社区 iOS 开源代码库 http://www.code4app.com/ 苹果开发中文社区 http://www.cocoachina.com/ Github https://github.com ObjC 中国 http://objccn.io/ 歪果仁教程:Ray Wenderlich | Tutorials for iPhone / iOS Developers and Gamers http://www.raywenderlich.com/ 开发者头条,各类技术干货 http://toutiao.io 开源项目 YY作者常用第三方库整理 http://github.ibireme.com/github/list/i 继续阅读 »
2015-12-28 ALEX LIN
概念 国际化是指为应用程序提供一个用来支持不同语言的框架的过程,在代码设计上加入能方便的移植到其他国家和地区的特性。I18n是Internationalization的简写。 本地化是使你的应用程序支持特定地区的过程,将具有国际化支持的代码翻译成本国或地区的语言,是本地用户更容易使用。l10n是Localization的简写。 支持多语言,在英语语言环境设置显示相应的英文,在汉语环境下设置显示相应的中文。 more 1. 在工程菜单info选项卡下的localizations中添加新语言 2. 创建 strings 文件 新建文件 如果要对APP的设置(比如:应用程序包的显示名称)进行本地化,需要对I 继续阅读 »
2015-12-24 ALEX LIN
PS:本文所有$符号之后为在终端中执行的命令。 版本控制系统 版本控制 版本控制(Version Control)的作用是追踪文件的变化。为什么需要版本控制?简单说,就是当你出错了,可以很容易地回到没出错时的状态。 你可能已经在不知不觉中,布置了自己的版本控制系统。比如,创建了类似下面这样的文件名: 论文_0510.doc 论文_0514.doc 论文_0521.doc 论文_修改版.doc 论文_最终不修改版.doc 这就是软件中为什么有"Save As"命令的原因。它使得你可以在不破坏源文件的基础上,得到一个类似的新文件。文件的多版本保存是一个常见问题,通常的解决办法是这样的: 做一个文件备份(比如Document. 继续阅读 »
2015-11-22 ALEX LIN
树莓派基本配置 树莓派设备安装RASPBIAN系统 使用raspi-config进行配置 参考http://blog.csdn.net/xdw1985829/article/details/38816375 更新系统到最新sudo apt-get update & sudo apt-get upgrade 安装JRE环境 sudo apt-get install openjdk-7-jre 安装MySQL sudo apt-get install mysql-server 安装PHPMyAdmin sudo apt-get install phpmyadmin 安装Openfire服务 下载:wg 继续阅读 »
2015-11-03 ALEX LIN
Mac OS 10.11 Openfire无法启动问题 安装好openfire_3_10_2.dmg后,无法通过【系统偏好设置】中的Openfire图标启动服务器。 1、JDK版本:1.8.65。经测试需要JDK 1.7版本以上。 2、Openfire版本:3.10.2 最终解决办法:在终端中执行命令 bash sudo su cd /usr/local/openfire/bin export JAVA_HOME=`/usr/libexec/java_home` sh ./openfire.sh 卸载Openfire 只需要在openfire关闭的情况下,执行以下的命令即可: bash sudo rm 继续阅读 »
2014-11-05 ALEX LIN
在QtWebkit的QWebView加载网页的时候,会随着每加载一次网页内存就会增加。为解决这个问题可以通过以下代码解决。 c++ QWebSettings::globalSettings()->setAttribute(QWebSettings::AutoLoadImages, false); QWebSettings::globalSettings()->setMaximumPagesInCache(0); QWebSettings::globalSettings()->setObjectCacheCapacities(0, 0, 0); QWebSettings::globalSettings()->setOfflineS 继续阅读 »
2014-10-13 ALEX LIN
Qt读取MS Word/Excel/Powerpoint等主要通过ActiveQt来实现。实际上是调用MS Word的ActiveX APIs。 一下代码是读取word中的所有的文本。 c++ QAxObject wordApplication("Word.Application"); QAxObject *documents = wordApplication.querySubObject("Documents"); QAxObject* document = documents->querySubObject("Open(const QString&, bool)", m_strWordFilePath, true); QA 继续阅读 »
2014-10-13 ALEX LIN
解决办法 ```c++ QTextCodec *codec = QTextCodec::codecForName("UTF-8"); QTextCodec::setCodecForLocale(QTextCodec::codecForLocale()); if (QT_VERSION <= QT_VERSION_CHECK(5, 0, 0)) QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); QTextCodec::setCodecForTr(codec); endif ``` 乱码出现的原因 QString内部采用的是 Unic 继续阅读 »