<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hap_gx的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hap_gx</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hap_gx]]></copyright><item><title><![CDATA[Android cmd 下查看手机应用耗电命令]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/22804371</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/22804371</guid><author>hap_gx</author><pubDate>Wed, 02 Apr 2014 16:02:14 +0800</pubDate><description><![CDATA[有时候手机发热，耗电快，需要查看手机耗电情况，查找出哪个应用或者哪个应用的后台服务耗电和使用资源情况，可以通过以下操作查找出来


cmd 执行 adb shell
然后只执行 su，需要root权限
top -m 10 -s cpu
意思是显示最多10个进程、-s cup 显示cup资源
-m、-n、-d、-s等都有说明
执行top -m 10 -s cpu显示如下]]></description><category></category></item><item><title><![CDATA[IllegalStateException: Can not perform this action after onSaveInstanceState解决办法]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/12839787</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/12839787</guid><author>hap_gx</author><pubDate>Thu, 17 Oct 2013 17:25:46 +0800</pubDate><description><![CDATA[首先我们需要弄清楚onSaveInstanceState方法是在什么时候会被调用，当该Activity即将被销毁前或者按home键退出时调用，来保存Activity数据的，如果在保存玩状态后，桌面通过其他方式启动程序且需要进行Fragment的入栈或弹栈操作就会出错。桌面其他方式如widget、悬浮窗、通知状态栏等方式通过Intent启动程序。
此时拦截该Intent可以在下面的方法中进行]]></description><category></category></item><item><title><![CDATA[Android 网络请求通用的get与post方式]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/12579919</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/12579919</guid><author>hap_gx</author><pubDate>Thu, 10 Oct 2013 17:09:12 +0800</pubDate><description><![CDATA[在我们开发项目时，经常会涉及到网络交互这一块，很多时候都是多人同时开发一个项目。因此一个好的架构师，通常会在搭建框架时，会构建一个统一的IO工具类，进行网络交互，这样便于统一管理。如果每个人写一套自己的IO网络交互，则会显得杂乱。有点重复发明轮子的感觉。好了，题外话不多说，下面附上我经常使用的IO网络交互工具类代码，仅供参考交流。



import java.io.ByteArrayOu]]></description><category></category></item><item><title><![CDATA[查看apk签名内容的两种方式]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/10154613</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/10154613</guid><author>hap_gx</author><pubDate>Wed, 21 Aug 2013 17:38:15 +0800</pubDate><description><![CDATA[1、在拥有keystore文件和编译密码时可通过如下方式查看签名内容,打开cmd  使用cd 进入 签名所在目录
然执行如下命令
keytool -list -alias xxxxx -keystore 
xxxx.keystore -storepass xxxx -keypass 
xxxx > out.txt

-alias xxxxx 
为打签名包时的Alias值

xxx]]></description><category></category></item><item><title><![CDATA[Android开源项目 "Issue"，疑难问题解决方案]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/10099405</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/10099405</guid><author>hap_gx</author><pubDate>Tue, 20 Aug 2013 10:53:31 +0800</pubDate><description><![CDATA[有些Android上开发碰到的疑难问题
大家看下Android开源项目 “Issue”

http://code.google.com/p/android/issues/list


看是否是系统问题，或者有人提供了Workaround方案
很好的android技术交流平台

Android系统存在很多BUG，目前open的问题有近2万个]]></description><category></category></item><item><title><![CDATA[Conversion to Dalvik format failed with error 1 解决办法]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/9944459</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/9944459</guid><author>hap_gx</author><pubDate>Tue, 13 Aug 2013 11:23:09 +0800</pubDate><description><![CDATA[出现场景
1、A工程问主线开发项目，为主工程。
2、B工程为子项目，从主线开发项目抽离出来的一个功能模块。
3、将B子项目添加到A主工程中。
运行A主工程时，A工程会出现 Conversion to Dalvik format failed with error 1
的错误，代码中没有报任何错误
每次使用clean 操作 A工程时，可以使A工程不报错，但是没有解决根本问题，每次运行还是]]></description><category></category></item><item><title><![CDATA[JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod（）异常的解决办法]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/9626841</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/9626841</guid><author>hap_gx</author><pubDate>Tue, 30 Jul 2013 13:31:18 +0800</pubDate><description><![CDATA[昨天拿到JNI的Android工程Demo，然后把demo整合到开发的主线工程上，发现调用JNI方法一直抛同一个异常
java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod（）

我以为是JNI的so库有问题，但是demo运行时正常的，我无法找到原因的所在。我可以确认的我自己的问题，今天上午问到另外一个写C的同事，向他描述了我的情况。然后他问我是]]></description><category></category></item><item><title><![CDATA[Android 使用新浪微博SSO授权]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/9531999</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/9531999</guid><author>hap_gx</author><pubDate>Sat, 27 Jul 2013 19:47:06 +0800</pubDate><description><![CDATA[新浪微博SSO授权，很早就做好了，只是一直没有时间整理博客，今天加班，晚上闲暇之时便想到整理一下。由于整个七月份很忙，加班很多。前段时间把腾讯微博的SSO认证整理好了。想在七月份翻篇之前再写点东西。好了，不多说废话了，下面就说说关于新浪微博SSO认证的内容。
新浪微博比较简单，而且很方便使用。由于在腾讯微博中我有讲到SSO认证的过程，这里主要是看看新浪微博demo中的MainActivity，这]]></description><category></category></item><item><title><![CDATA[Android中通过Java获取Webview加载内容]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/9473335</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/9473335</guid><author>hap_gx</author><pubDate>Thu, 25 Jul 2013 21:08:39 +0800</pubDate><description><![CDATA[有时候我们需要在加载webview时，获取加载完成的内容，当然，WebView也是有可能包含javascript。通过以下操作，我们是可以获取到WebView加载的内容。
1、自定义一个内部类，获取WebView加载的内容
class Handler {
	public void show(String data) {  // 这里的data就webview加载的内容，即使页面跳转页都可以获取]]></description><category></category></item><item><title><![CDATA[WIN7操作平台获取管理员权限批处理]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/9313179</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/9313179</guid><author>hap_gx</author><pubDate>Fri, 12 Jul 2013 17:04:04 +0800</pubDate><description><![CDATA[在WIN7操作平台打开某些文件，如果需要管理员权限才能打开。通过下面的操作就可以获取管理员权限
创建批处理register文件。文件内容为，文件后缀名为.reg。然后双击该文件。打开需要访问的文件，如果需要管理员权限，则选中该文件，单击鼠标右键，选择管理员获取所有权限，则cmd会弹出，然后会发现cmd在执行命令，这个不用担心，是在获取访问文件的权限。稍微等待一下，就可以打开你想打开的文件了。下面]]></description><category></category></item><item><title><![CDATA[Java 二次MD5 32位小写加密算法与php页面加密结果相同]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/9196947</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/9196947</guid><author>hap_gx</author><pubDate>Fri, 28 Jun 2013 15:31:14 +0800</pubDate><description><![CDATA[最近做的一个项目需要使用MD5加密算法，需要加密的参数有两个。自己先试了几次，算的结果为php页面的不一样，后来与写php页面的同事沟通后，了解到php页面的算法如下：
action = "secondMD5";
key = "VOD_MOVE";
md5($action.$key)
即先使用key进行一次MD5加密，$key = md5（"VOD_MOVE"）加密结果为：cafa20f4]]></description><category></category></item><item><title><![CDATA[启动eclipse时报错Java was started but returned exit code = 1，导致无法启动的解决办法]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/9109877</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/9109877</guid><author>hap_gx</author><pubDate>Mon, 17 Jun 2013 10:16:07 +0800</pubDate><description><![CDATA[上周使用eclipse开发工具还是很正常的，周一上班第一天就无法启动eclipse，重启电脑后发现还是一样出现Java was started but returned exit code = 1的错误提示。由于是第一次遇见这样的问题。然后在网上寻找解决办法，大部分介绍的是修改eclipse.ini文件。
后来尝试了一下，还是无法解决，然后我就在cmd中运行java命令，发现了问题的所在。出现如]]></description><category></category></item><item><title><![CDATA[Android 使用腾讯微博SSO授权基于腾讯demo的修改]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/9085071</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/9085071</guid><author>hap_gx</author><pubDate>Thu, 13 Jun 2013 15:13:06 +0800</pubDate><description><![CDATA[以前的微博认证，都是使用WebView打开授权页面，当新浪推出SSO认证后，腾讯也紧接着出现SSO。所谓SSO认证，通俗的一点讲就是，自己写的app需要使用新浪或腾讯微进行分享、发表微博等操作。如果用户的手机客户端安装了符合SSO认证的新浪、腾讯等微博客户端版本且已登录，则会自动启动新浪、腾讯等微博客户端进行授权，无需进行输入账号、密码。比较方便快捷，当然也有一些用户并未装符合要求的微博或者未安装]]></description><category></category></item><item><title><![CDATA[Java 使用最新POI Lib 将Excel转换成Txt读取Excel内容工具类]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/9024579</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/9024579</guid><author>hap_gx</author><pubDate>Tue, 04 Jun 2013 18:48:57 +0800</pubDate><description><![CDATA[有时候需要将Excel文档转换为Txt文档，同时又要对txt文档做一些简单的修改，比如添加点字符，或者重新组合成新的txt文档，内容与Excel有些许区别。单纯的Excel自带的转换功能无法满足我们的需求，则需要使用POI API来完成，下面附上读取Excel文件工具类
最新 POI下载地址：http://download.youkuaiyun.com/detail/hap_gx/5507935
 
i]]></description><category></category></item><item><title><![CDATA[eclipse打签名包无法生成apk由于Lint Error导致失败解决办法]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/8995326</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/8995326</guid><author>hap_gx</author><pubDate>Thu, 30 May 2013 16:50:38 +0800</pubDate><description><![CDATA[最近新装的eclipse开发工具打签名包时，总是无法打包，以为是自己的工程有问题，但发现同事打包相同的工程是正常的，我就只能依赖别人打包测试，但过于依赖别人是不太好的，后来研究了一下，发现是自己的eclipse配置有问题，废话不多说了，直接上图。
1，通常我们打签名包会按照下面的步骤执行

2，上述操作执行完成后会发现问题出现了，无论你clean多少次都会出现这样的对话框。

3，查看控]]></description><category></category></item><item><title><![CDATA[编译工程时报java:[1,0] illegal character: \65279问题排查与解决过程]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/8969108</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/8969108</guid><author>hap_gx</author><pubDate>Fri, 24 May 2013 11:21:45 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/shixing_11/article/details/6976900]]></description><category></category></item><item><title><![CDATA[eclipse 编译较大工程时出现 java heap space 异常解决办法]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/8833910</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/8833910</guid><author>hap_gx</author><pubDate>Sat, 27 Apr 2013 18:28:01 +0800</pubDate><description><![CDATA[在xp系统内存为4G的环境下，有时候编译程序时，eclipse会弹出错误提示框，提示java heap space错误.通常遇到这种错误可以修改eclipse.ini文件中的参数。后来工程变大了，无论怎么修改eclipse.ini配置文件都无法编译通过，一直提示java heap space错误。导致我近一个星期无法正常工作。无奈换了个WIN7 系统，按照下面修改配置文件，eclipse性能大增，]]></description><category></category></item><item><title><![CDATA[Android获取手机通讯录调用系统短信功能]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/8859917</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/8859917</guid><author>hap_gx</author><pubDate>Sat, 27 Apr 2013 18:13:01 +0800</pubDate><description><![CDATA[写应用经常会遇到获取通讯联系人列表，发送短信,
附上demo下载地址：http://download.youkuaiyun.com/detail/hap_gx/5308860

首先介绍一下发送短信的两种方式：
一、静默发送。也就是在用户不知道的情况下，直接把短信发送出去，很是流氓。个人不推荐，而且谷歌查出这样的问题，很有可能把你的应用下架。
二、系统发送。直接调用系统自动发送短信功能，不需要在清单]]></description><category></category></item><item><title><![CDATA[类似新浪微博动态发布时间转换机制，显示刚刚、几分钟前、几小时前、昨天、前天····]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/8782635</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/8782635</guid><author>hap_gx</author><pubDate>Wed, 10 Apr 2013 14:20:44 +0800</pubDate><description><![CDATA[经常看到社交类app中关于动态发布的时间点与当前时间的换算，说麻烦也不麻烦，说简单也不简单，只是计算起来有点绕。如以当前时间为基准，自己某个时间在微博上发表一个动态，发表时间提示有多种显示，如刚刚、几分钟前、几个小时前、昨天、前天、日期等等。自己之前做过类似的时间换算，虽然不是最优，但最终效果还是达到了，下面附上源码
 
import java.text.ParseException;
im]]></description><category></category></item><item><title><![CDATA[同一个TextView不同文字的点击事件]]></title><link>https://blog.youkuaiyun.com/hap_gx/article/details/8781910</link><guid>https://blog.youkuaiyun.com/hap_gx/article/details/8781910</guid><author>hap_gx</author><pubDate>Wed, 10 Apr 2013 11:38:47 +0800</pubDate><description><![CDATA[最近有朋友问到同一个TextView的不同文字点击事件如何实现，由于之前自己做过这方面的东西，但没有把它整理出来，今天上班不是很忙，抽了点时间来整理一个demo，给大家分享一下。好了，废话不多说，上代码和效果图
下载地址链接：
http://download.youkuaiyun.com/detail/hap_gx/5241456
 
package com.example.textviewclick]]></description><category></category></item></channel></rss>