10月 18

android-maven-plugin 点9图片问题


使用android-maven-plugin插件搭建android CI的时候,遇到点9图片报错问题,报错信息如下:

    ERROR: 9-patch image Project/res/drawable-  hdpi/input_03_mid.9.png malformed.
    [INFO]        Must have one-pixel frame that is either transparent or white.
    [INFO] ERROR: Failure processing PNG image Project/res/drawable-hdpi/input_03_mid.9.png

然后是报一堆资源找不到的错误。

项目在Eclipse、Idea等ide下编译、运行正常。 继续阅读

9月 25

Android开发、测试持续集成环境Jenkins搭建

传统java项目开发都会利用maven、ant在hudson、jenkins中持续集成,开发、测试、每日构建,保证代码质量。maven默认不支持android,但是我们可以利用maven-android-plugin插件来让maven支持android。

环境

  • jdk 1.6及以上
  • Android sdk(r21及以上),最好是最高版本,最好也安装一下ndk
  • Maven 3.0.3及以上,貌似3.1.0不好使,最好使用3.0.5版

    设置ANDROID_HOME环境变量,将$ANDROID_HOME/tools、$ANDROID_HOME/platform-tools加入到环境变量中

继续阅读

9月 12

DefaultHttpClient 使用GZIPInputStream解压缩


DefaultHttpClient 使用GZIPInputStream解压缩
当浏览器访问网站时,有可能浏览器返回的消息头中带有 Content-Encoding:gzip,表明服务器返回的消息经过gzip压缩,这么做是为了节省流量,浏览器拿到gzip压缩后的http包,对其进行解压缩,再渲染出来。在使用apache提供的DefaultHttpClient操作http请求时,可以使用GZIPInputStream对gzip压缩过的数据包进行解压缩。android sdk进行网络编程时,也可以使用这种方法。 继续阅读

9月 01

自己编写的android站长工具

自学android开发,写了个小软件—站长工具,算是初步完成了吧。不会画图,界面比较简陋,欢迎试用。已经发布到hiapk市场,链接地址http://apk.hiapk.com/html/2013/08/1760758.html;安装包地址http://pan.baidu.com/share/link?shareid=1075610363&uk=537055152;代码提交到github,地址https://github.com/yeetrack/Website-Tool ,功能包括域名注册检测,搜索引擎收录,dns、whois检测等,贴几张截图:

1 继续阅读

8月 30

Android使用GPS

Android的gps服务,主要有两个类LocationManager和LocationProvider。LocationManager与android底层交互,提供系统位置的访问方法,LocationProvider定义位置服务的提供方法,gps、network或者passive。下面是个简单的例子:

package com.yeetrack.android.mygps;

import java.io.IOException;
import java.util.List;
import java.util.Locale;

import android.location.Address; 继续阅读 
8月 30

Android使用ksoap2包访问webservice接口

Android本身没有集成访问webservice的相关api,需要我们引用第三方的包,现在一般用的是ksoap2.jar这个包,大小不足200K,非常轻量级,点击此处下载jar包。使用时将jar包放进android项目的libs文件中即可。 下面是使用ksoap2获取电话号码地区的一个简单例子:

package com.yeetrack.mynumberquery;

import java.io.IOException;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE; 继续阅读 
8月 02

Android自动化测试之MonkeyRunner

MonkeyRunner是Google Android SDK下的一个工具,用于自动化测试Android程序。
Monkeyrunner工具提供了一套API,使用这些api写出的Python程序可以在黑盒地控制Android设置和模拟器。有了Monkeyrunner,我们可以通过python语句控制apk包的安装和卸载、启动app、向app发送各种动作指令、截取图片并保存。 继续阅读

7月 16

Android设置通知Notification

Android系统提供Notification和NotificationManagement两个类来管理实现通知,通过这两个类我们可以显示广播信息的内容,还可以设置通知的铃声、震动、闪光灯。通过Activity类中的getSystemService这个方法获取NotificationManagement,再实例化Notification,最后再用NotificationManagement发送出去即可。注:获取Notification对象时,android api 11之后已经不推荐使用notification.setLatestEventInfo()方法了,推荐使用Notification.Builder 来实例化Notification。样例代码如下:

package com.yeetrack.broadcast;

import android.net.Uri; 继续阅读 
7月 13

Android Tween动画

Android系统提供两种动画:一种是Tween,用来实现视图组件的移动、放大缩小、旋转及透明度变化;另一种是Frame动画,通过切换帧来实现,和电影类似。

Tween类在android.view.animation包中,这个包包含了一些常用的动画类:

  • Animation 动画抽象类,是个基类,其他几种类都继承该类。
  • ScaleAnimation 用于放大、缩小的动画类
  • AlphaAniamtion 用于控制透明度变化的动画类
  • RotateAnimation 用于控制旋转变化的动画类
  • TranslateAnimation 用于控制位置变化的动画类
  • AnimationSet 定义动画合集的类,动画合成
  • AnimationUtil 动画工具类 继续阅读
6月 29

Android图片左右切换和拖动大小

Android图片左右切换和拖动大小

Android观看图片时,左右滑动实现照片切换,多手势实现照片的扩大和缩小。Android中使用ImageView来展示图片,对其进行监听,就可以实现图片的各种变换。

ImageView imageView;
imageView = (ImageView)findViewById(R.id.someId);
imageView.setOnTouchListener(new OnTouchListener()
{       
    public boolean onTouch(View v, MotionEvent event)
    {
        //监听代码
        switch (event.getAction() & MotionEvent.ACTION_MASK) 
        {
            ...
        } 
    }
}   

继续阅读