-
蝈蝈俊.net 在站点 蝈蝈俊的博客 中撰写了一篇新文章 Objective C 属性 2 小时, 44 分钟 之前
-
蝈蝈俊.net 撰写了一篇新博客文章:分析yum安装的tomcat 7 月, 1 星期 之前
问题: centos 5.5 上用 yum 安装了 tomcat, 启动正常,但是访问 8080 端口的网页,是空白的。 查看linux版本 # lsb_release -a LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch Distributor ID: CentOS Description: CentOS release 5.5 (Final) Release: 5.5 Codename: Final [阅读更多]
-
蝈蝈俊.net 撰写了一篇新博客文章:Native APP 和 WEB APP 在用户体验上的差别 7 月, 2 星期 之前
WEB APP的跨平台特性确实很吸引人,但是大家普遍都认为WEB APP在用户体验上,目前软硬件环境下,还是不如Native APP。 具体是那些方面不如呢?下面是我的总结:一、进程切换的体验差异不考虑机器性能和网速,WEB APP 最大的不足在于进程切换。比如:Native APP 中,我能在Mail里面直接拖入图片作为附件,GMail就只能attach a file。又比如: Gmail WebAPP for iPad 的手感不如Mail,虽然功能很好,但是手指滑动时,感觉非常滞涩,远远不如Mail的滑动体验。WEB APP的滑动效果必须通过 CSS3 和 JS 写出来。相对来说 CSS3 的效果要比 JS 流程些。 -
蝈蝈俊.net 撰写了一篇新博客文章:UUID(GUID) 8 月 之前
UUID 和 GUID 的区别 UUID是一个由4个连字号(-)将32个字节长的字符串分隔后生成的字符串,总共36个字节长。比如:550e8400-e29b-41d4-a716-446655440000 http://gohands.blogbus.com/logs/147479174.html GUID 是微软对UUID这个标准的实现。UUID是由开放软件基金会(OSF)定义的。UUID还有其它各种实现,不止GUID一种。比如我们这里在Java中用到的。 http://baike.baidu.com/view/1052579.htm COMB(combine)型是数据库特有的一种设计思想,可以理解为一种改进的GUID,它通过组合GUID和系统时间,以使其在索引和检索事有更优的性能。 [阅读更多]
-
蝈蝈俊.net 撰写了一篇新博客文章:Android地图Key 10 月, 1 星期 之前
由于Android内置的地图是google地图,它需要访问google服务器获取地图信息,所以首先你需要注册一个使用Google地图的API的Key,没有它Google地图不会为你提供服务。 地图API的Key是跟你程序的签名证书紧密相关的。所以你如何要申请地图API的Key,首先要明白你的签名证书文件,有关签名证书文件以及签名应用的知识请参看我前篇文章:《Android应用签名 》 整个Google地图API的Key申请和使用流程如下: 找到你的应用程序对应的签名文件(模拟器调试的签名文件是ADT替我们产生的,所以需要去找一下;发布生产版本的是我们自己产生的证书文件,我们直接就知道这个文件是在哪里。) …[阅读更多] -
蝈蝈俊.net 撰写了一篇新博客文章:Android应用签名 10 月, 1 星期 之前
为了要签名? 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的。 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名可以保证相当名字,但是签名不同的包不被替换。 APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉。 这样签名其实也是开发者的身份标识。交易中抵赖等事情发生时,签名可以防止抵赖的发生。 签名的注意事项 所有的Android应用都必须有数字签名,没有不存在数字签名的应用,包括模拟器上运行的。Android系统不会安装没有数字证书的应用。 …[阅读更多] -
蝈蝈俊.net 撰写了一篇新博客文章:QQ阅读模板分析 10 月, 3 星期 之前
模板的定义 QQ 阅读预先定义了一些模板,有哪些模板可以在下面数组中可见: 其中 tmp后面的第一个数据标识这个模板分几块,第二个数字标识这是分几块模板的第几套模板 这个模板在下面文件的 15004 行可见 http://rescdn.qqmail.com/rss/zh_CN/htmledition/js/reader/reader069eec.js var adw= { 1:, 2:, 3:, 4:, 5:, 6:, 7: }, 这个js的文件加载比较特殊,在QQ阅读的页面 [阅读更多] -
蝈蝈俊.net 撰写了一篇新博客文章:Jira数据备份 11 月, 1 星期 之前
Jira系统管理中自带备份和导入功能,如下图: 但是你使用时会报错误: You have not named a safe backup directory and hence you are not allowed to make backups for security reasons. You must edit jira-application.properties and explicitly set ‘jira.paths.safe.backup.path=/to/some/safe/path’. Restart JIRA and then you will be able to make arbitrary backups. NOTE : If you are using…[阅读更多] -
蝈蝈俊.net 撰写了一篇新博客文章:DES加密和解密PHP,Java,ObjectC统一的方法 12 月 之前
PHP的加解密函数
<?php class DesComponent { var $key = ’12345678′; function encrypt($string) { $ivArray=array(0×12, 0×34, 0×56, 0×78, 0×90, 0xAB, 0xCD, 0xEF); $iv= null; foreach ($ivArray as $element) $iv.=CHR($element); $size = mcrypt_get_block_size ( MCRYPT_DES, MCRYPT_MODE_CBC ); $string = $ this->pkcs5Pad ( $string, $size ); $data =… -
蝈蝈俊.net 撰写了一篇新博客文章:Android 如何把AsyncTask改用非内部类 1 年 之前
Android 中我们使用AsyncTask时,一般是把它当Activity的内部类来使用的。原因,这样可以简单的在更新进度onProgressUpdate 和 执行完成时onPostExecute, 直接操作Activity的界面元素控件。但是如果我们想让我们的代码职责更单一,功能划分更清晰,就最好不要用内部类,这时候我们可以借用 Handler 来实现这个需求。 有关 AsyncTask 的用法可以参看我写的这篇博客: http://www.cnblogs.com/ghj1976/archive/2011/05/06/2039204.html 上面就是把 AsyncTask 当作Activity的内部类来使用的。 下面是一个例子,AsyncTask 的子类和…[阅读更多]
-
蝈蝈俊.net 撰写了一篇新博客文章:Android AsyncTask 1 年 之前
在有界面的Android应用中,后台异步执行一些事情是常见的场景,这时候我们从底层开始写起的话,就需要了解比较深层的东西,比如这篇文章“Android 的消息队列模型 ”提到的Looper、Handler、Message、MessageQueue。 Android为了降低这个开发难度,提供了AsyncTask。AsyncTask就是一个封装过的后台任务类,顾名思义就是异步任务。 AsyncTask直接继承于Object类,位置为android.os.AsyncTask。要使用AsyncTask工作我们要提供三个泛型参数,并重载几个方法(至少重载一个)。 AsyncTask定义了三种泛型类型 Params,Progress和Result。 Params…[阅读更多]
-
蝈蝈俊.net 撰写了一篇新博客文章:演化理解 Android 异步加载图片 1 年 之前
在学习"Android异步加载图像小结 "这篇文章时, 发现有些地方没写清楚,我就根据我的理解,把这篇文章的代码重写整理了一遍,下面就是我的整理。 下面测试使用的layout文件: 简单来说就是 LinearLayout 布局,其下放了5个ImageView。
<?xml version=" 1.0" encoding=" utf-8"?> <LinearLayout xmlns:android=" http://schemas.android.com/apk/res/android" android:orientation=" vertical" android:layout_width=" fill_parent" android:layout_height="… -
蝈蝈俊.net 撰写了一篇新博客文章:Android Runnable 运行在那个线程 1 年 之前
Runnable 并不一定是新开一个线程,比如下面的调用方法就是运行在UI主线程中的:
Handler mHandler= new Handler(); mHandler.post( new Runnable(){ @Override public void run() { // TODO Auto-generated method stub } });官方对这个方法的解释如下,注意其中的:“The runnable will be run on the user interface thread. ” boolean android.view.View .post(Runnable action) Causes the Runnable to be added to…[阅读更多]
-
蝈蝈俊.net 撰写了一篇新博客文章:Android 的消息队列模型 1 年 之前
Android 的消息队列模型 Android是参考Windows的消息循环机制来实现Android自身的消息循环的。 Android通过Looper、Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都可以有自己的消息队列和消息循环)。 Android系统中,Looper负责管理线程的消息队列和消息循环。我们可以通过Loop.myLooper()得到当前线程的Looper对象,通过Loop.getMainLooper()可以获得当前进程的主线程的Looper对象。 一个线程可以存在(当然也可以不存在)一个消息队列和一个消息循环(Looper)。 …[阅读更多] -
蝈蝈俊.net 撰写了一篇新博客文章:Android启动画面Splash 1 年 之前
方法一,两个Activity 核心代码:
package ghj1976.HelloWorld; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; public class SplashActivity extends Activity { private final int SPLASH_DISPLAY_LENGHT = 8000; // 延迟八秒 @Override protected void onCreate(Bundle savedInstanceState) {… -
蝈蝈俊.net 撰写了一篇新博客文章:Android到底那个Acitivity启动 1 年 之前
启动那个Acitivity有两种方式:implicit(隐藏) intent 和 explicit(明确) intent Explicit Intent 明确的指定了要启动的Acitivity 比如以下Java代码,明确指定了要启动B: Intent intent= new Intent(this, B.class) Implicit Intent 没有明确的指定要启动哪个Activity ,而是通过设置一些Intent Filter来让系统去筛选合适的Acitivity去启动。 …[阅读更多]
-
蝈蝈俊.net 撰写了一篇新博客文章:Android 任务共用性Affinity 1 年 之前
建议首先阅读下面这篇文章,这样才能对本文有所了解: Android Application Task Activities的关系 http://www.cnblogs.com/ghj1976/archive/2011/04/29/2032412.html 尤其要明白 Task 是啥。 什么是Affinity 在某些情况下,Android需要知道一个Activity属于哪个Task,即使它没有被启动到一个具体的Task里。这是通过任务共用性(Affinities)完成的。任务共用性(Affinities)为这个运行一个或多个Activity的Task提供了一个独特的静态名称,默认的一个活动的任务共用性(Affinity)是实现了该Activity的.apk包的名字。 …[阅读更多]
-
蝈蝈俊.net 撰写了一篇新博客文章:Android四种Activity的加载模式 1 年 之前
建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式: Android的进程,线程模型 http://www.cnblogs.com/ghj1976/archive/2011/04/28/2031586.html 其中对“Android的单线程模型”的描述,明白Activity的一些注意事项。 Android Application Task Activities的关系 http://www.cnblogs.com/ghj1976/archive/2011/04/29/2032412.html 尤其要明白 Task 是啥。 一个Activty的生命周期 Activty的生命周期的也就是它所在进程的生命周期。 每一个活动( Activity…[阅读更多] -
蝈蝈俊.net 撰写了一篇新博客文章:Android Application Task Activities的关系 1 年 之前
什么是Android Application? 简单来说,一个apk文件就是一个Application。 任何一个Android Application基本上是由一些Activities组成,当用户与应用程序交互时其所包含的部分Activities具有紧密的逻辑关系,或者各自独立处理不同的响应。 这些Activities捆绑在一起成为了一个处理特定需求的Application, 并且以“.apk”作为后缀名存在于文件系统中。 Android平台默认下的应用程序 例如:Email、Calendar、Browser、Maps、Text Message、Contacts、Camera和Dialer等都是一个个独立的Apps。 安装…[阅读更多] -
蝈蝈俊.net 撰写了一篇新博客文章:Android的进程,线程模型 1 年 之前
Android 包括一个应用程序框架、几个应用程序库和一个基于 Dalvik 虚拟机的运行时,所有这些都运行在 Linux 内核之上。 通过利用 Linux 内核的优势,Android 得到了大量操作系统服务,包括进程和内存管理、网络堆栈、驱动程序、硬件抽象层、安全性等相关的服务。 有关Java虚拟机跟进程,线程的关系请参看下面这篇文章: 进程、线程与JVM、CLR http://blog.csdn.net/ghj1976/archive/2010/04/13/5481038.aspx 下面这篇文章对Android的进程和线程描述的很好,我在这篇文章基础补充了一些图片和信息。 [阅读更多] - 读取更多