Android

fastboot FAILED (remote: Operation not permitted) 的问题

Android

fastboot FAILED (remote: Operation not permitted) 的问题

这两天买了台安卓测试设备,由于我们的项目需要系统签名,所以不得不重新刷系统。 在 fastboot flash system 的时候,每次都在最后要完成的时候报一个错误: target reported max download size of 536870912 bytes Sending sparse 'system' 1/4 (524284 KB)... OKAY [ 15.543s] Writing 'system' 1/4... OKAY [ 3.548s] Sending sparse 'system' 2/4 (524284 KB)... OKAY [ 15.483s]

安卓 WebView 图片离线缓存方案

技术

安卓 WebView 图片离线缓存方案

有这样一个项目,UI 渲染全部由 WebView 来完成,套个安卓的壳,壳子里面做一些和硬件交互的功能,例如摄像头、麦克风等。WebView 加载的页面走的本地打包的文件。不过 WebView 中的图片等资源走的是网络访问。 为了减少网络访问的流量,以及提升在弱网络或无网络情况下的体验,需要对网络访问的图片进行本地缓存。 原先采用的是 WebView 自带的缓存机制来实现,但并不可靠,于是需要通过拦截网络请求,通过本地缓存干预的方式来实现。具体原理如下: 1. 通过 shouldInterceptRequest 拦截请求,判断是否是访问网络图片,如果是则进行干预 2. 取请求地址的 md5 值加图片文件扩展名组成的文件名,拼接 cache 目录获得一个本地资源地址,判断该资源是否存在,若存在则直接返回该资源 3. 若该资源不存在,说明是首次访问,则将该网络图片下载到该地址下,并返回该资源 具体代码如下: import android.content.Context import

技术

Android单元测试

今天终于向让我退缩了很久的单元测试前进了一步。 很早就知道Android里可以建立测试项目,但我一直不明白怎么去用,也总觉得我的这些个小项目,需要用到测试这么高端的东西吗?今天突然对之前搁置很久的全能计算器的重构有了一些灵感,写了个计算专用的工具类,然而,之前项目中有不少错误,现在是没法运行的,于是,我只想对这个工具类进行测试,怎么做呢? 如果不用单元测试的话,得先把整个项目的错误改掉,编译成功,然后通过日志输出的方式来测试那个类,但相当繁琐。如果使用单元测试的话,就相当轻松啦。 Android里的单元测试有两种方式,一种是建立一个新的测试项目(Android Test Project),那个似乎是对整个项目进行测试的,没有仔细去了解,还是比较庞大,跟我们这里的要求不符。 另一种方式,则是在需要测试的项目里新建一个测试类,继承AndroidTestCase,然后运行时使用Android JUnit Test的方式运行就可以了。 下面开始看代码: 首先,需要对项目的AndroidManifest.xml文件进行一些改动 在<application>结点里加入: <uses

技术

Android Wifi的设置、连接操作

我项目中这部分的代码是参考的这里的:http://blog.csdn.net/cscmaker/article/details/7032277 但是,参考了这段代码之后可没少忙活!怎么试都连不上,wifi的信息是创建了,可就是没法连接上。百思不得其解,后来我想,会不会是设置的地方出了问题。 原来是这样设置的: config.preSharedKey = "\"" + Password + "\""; config.hiddenSSID = true; config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); config.

技术

Eclipse Juno下搭建Android开发环境

Eclipse官方28日正式发布了Eclipse 4.2,代号Juno。同时,Eclipse 也宣布将使用 Eclipse 4.2 来开发以后的 Eclipse 版本。因此,在我升级Eclipse的同时,我也来制作一个Juno下搭建Android开发环境的教程,其实跟以往的教程是没多大区别的,只是比较新一点儿而已。 前提条件,安装了java JDK,如何安装可以自己百度下。 首先,去Eclipse官网 [http://www.eclipse.org/]下载最新的Eclipse安装包。 可以看到,首页已经变成了Juno的宣传。点击Downloads进入下载页面,我们选择Eclipse IDE for Java Developers,其实也可以选择Eclipse for Mobile Developers,他们相差不大。 下载好之后,解压就可以了。 打开eclipse.exe,可以看到,新的Logo: 首先,会让你设置一个工作目录

技术

android:clearTaskOnLaunch的用法

关于android:clearTaskOnLaunch ,网上的资料很少,唯一有几个资料,还说得很含糊,看着让人摸不着头脑,今天硬着头皮看了下英文文档,再结合自己的尝试,终于是稍微理解了它的用处。 默认情况下,android:clearTaskOnLaunch的值是false 此时,比如你的应用里有N个Activity,其中有个是设置页面,你从主页面进入到设置页面设置了一些东西之后,突然,按了下Home键,回到了Android的Home,这时候你做了些别的事情,然后你再次点击你的应用程序图标进入你的应用程序的时候,依旧是回到设置页面,继续先前的工作,这也是大多数应用的情况。 但是,如果你把android:clearTaskOnLaunch的值设为true 呢?顾名思义,它就在启动的时候把Task给清空了,就是你再次点击应用程序图标进入你的应用程序的时候是回到应用程序的第一个页面,而不会回到先前的设置页面。也就是说不保存先前的设置状态。 至于,什么情况下要这么用,我还没想到,像谷歌的Zxing项目,也就是Android上的“条码扫描器”,它就是这样的,不管你什么时候重新进入该应用