
Android技术笔记
文章平均质量分 55
gao_chun
这个作者很懒,什么都没留下…
展开
-
Android一键生成包含.dex的Jar及动态加载方案
Android一键生成包含.dex的Jar及动态加载方案背景:谈到动态加载相信很多小伙伴都会想到 热更新 及 动态加载dex 的技术,最近也因为项目重构的需求,折腾了下这方面的技术点,以前研究过但时间久了也就忘了,这里记录一下写个总结,也希望给有类似需求的小伙伴一点启发。此次记录大致可以总结为以下几点:1. 将项目中的...原创 2019-10-17 15:25:47 · 6885 阅读 · 2 评论 -
解决Installation failed with message INSTALL_FAILED_NO_MATCHING_ABIS
在使用Genymotion模拟器调试App时出现Installation failed with message INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract no extract native libraries 错误,如下图所示:原创 2017-12-11 17:52:33 · 9935 阅读 · 4 评论 -
Android中使用OpenCV(二)
Android中使用OpenCV 之前比较早的时候写了一篇博文: AndroidStudio中配置及使用OpenCV示例 ,主要介绍了如何在AS中使用OpenCV,基本的配置介绍及使用示例,上传的示例也比较潦草,使用的版本是 OPENCV_VERSION_2_4_9 ,各个版本号在OpenCV的SDK包中是可以看到的: OpenCV-android-sdk\sdk\java\src\org\原创 2017-05-23 17:53:06 · 18183 阅读 · 0 评论 -
APP版本号命名规范及原则
为什么需要规范APP命名?当我们在需求及业务明确后,产品及设计已经做出了对应的文档及UI图,那么进入研发阶段开始编码实现功能,当功能实现的差不多了之后,期间会需要签出不同的包作为展示或测试,不管当前的进度处于什么阶段,签出对应安装包的时候都会对其进行命名并发送给测试人员。一般往往通过命名,就可以大概知道当前签出的包处于哪个版本阶段,Alpha阶段?Beta阶段?R原创 2017-05-17 17:37:41 · 44840 阅读 · 2 评论 -
Android 实现高斯模糊效果及低版本兼容
实现高斯模糊效果的方法有很多,可以用java来实现,可以使用NDK来实现,也可以使用本文推荐的方式来实现(也是使用了JNI的方式),至于为什么选择使用RenderScript方式来实现,必然有一定优点。 优点:RenderScript方式,速度极快,约为java方式100倍的速度,NDK方式20倍速度(不同图片质量测试所得结果不同,供参考) 缺点:API17以上有效。(但Google已提供向下兼容的方法,文章后面会有介绍)下面是使用RenderScript方式的核心代码:原创 2016-09-22 13:40:40 · 9937 阅读 · 7 评论 -
Error:(2, 0) Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory
Android Studio中Gradle项目时出现如下错误:D:\Studio_Project\Android-PickerView\pickerview\build.gradle ----->Error:(2, 0) Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory问题原因:当Gradle版本是2.4以上,原创 2016-05-03 11:00:00 · 3208 阅读 · 0 评论 -
使用百度地图时出现com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache
Bug描述:Process: org.gaochun.LocationActivity, PID: 1287java.lang.UnsatisfiedLinkError: No implementation found for int com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create() (tried Ja原创 2016-01-21 16:00:28 · 8100 阅读 · 3 评论 -
In Gradle projects, always use http://schemas.android.com/apk/res-auto
Bug记录XML中出现错误:In Gradle projects, always use http://schemas.android.com/apk/res-auto for custom attributes原创 2015-11-23 15:14:01 · 6792 阅读 · 0 评论 -
Android技术点笔记--(安装应用和卸载应用广播)
Android技术点笔记--(安装应用和卸载应用广播)前言:总结Android中安装应用和卸载应用的广播使用。 android系统中,安装和卸载都会发送出相应的广播,当应用安装完成后系统会发android.intent.action.PACKAGE_ADDED广播。可以通过intent.getDataString()获得所安装的包名。卸载程序时系统发android.intent.action.PA原创 2015-11-23 15:03:58 · 6216 阅读 · 9 评论 -
Android Studio中配置及使用OpenCV示例(一)
前言:最近在做项目移植,项目较大,在Eclipse中配置的Jni及OpenCV环境没任何问题,但是迁移到Studio中就问题一大堆,网上也找了一些资料参考及学习,很感谢前人留下的总结及经验。关于在AS中使用jni及配置OpenCV也研究了一段时间,怕日后忘记便在此记录下,另一方面也可以给一些新手提供捷径,少走些弯路。1、下载及目录介绍进入官网(http://opencv.org/)下载OpenCV4Android并解压(这里是OpenCV-2.4.9-android-sdk)。下面是目录的结构图原创 2015-10-23 16:09:04 · 48621 阅读 · 43 评论 -
Android Studio 错误: 非法字符: '\ufeff' 及 Gradle不能自动查找xml自定义属性
一、非法字符: '\ufeff'在将项目导入到Studio时提示 错误:非法字符: '\ufeff',编译器没报错但编译出错,比较头疼,后来发现原因是因为没有采用UTF-8无BOM模式,用 Notepad++ 或其他编辑器将文件打开,更换下格式就可以解决:原创 2015-10-22 10:42:26 · 10165 阅读 · 0 评论 -
RecyclerView使用 及 滑动时加载图片优化方案
本篇博文主要给大家分享关于RecyclerView控件的使用及通过继承RecyclerView来实现滑动时加载图片的优化方案,也同样能解决防止图片乱序的问题,之前有在网上有看到大神对Android中ListView异步加载图片乱序问题进行过分析,并深入剖析原理后分别给出了3种对应的解决方案:一 、使用findViewWithTag。二、使用弱引用关联。三、使用Volley框架提供的NetworkImageView。看了之后思索了很久,后来才想到,哦,原来自己也一直这么在用。也算是一种解决方案吧,虽然不是从原创 2015-09-21 17:18:52 · 32268 阅读 · 7 评论 -
---------- 常用链接 ----------
开发过程中或在网上闲荡时,不免会遇到一些好的文章和在线工具,本着收藏一下的心态,但后来却发现陆陆续续的浏览器收藏栏都TM塞满了,花时间整理了一下,瞬间感觉轻松了好多。也是自己闲暇时会去逛逛的网站,主要还是记录下给自己看吧,日后发现不错的网址了也会继续更新记录。学习,永无止境!望各位路过的大神或一直在牛A 和 牛C之间徘徊的人 ignore 。常用链接:在线Json解析及格式化:http://json.cn/ (或者在浏览器添加 JsonView 插件)在线Json字符串转换为Java实体原创 2015-09-16 16:59:58 · 3542 阅读 · 2 评论 -
在 Android Studio 中使用OpenCV所遇到问题
一、关于如何生成.h文件网上查了很多资料,大部分都是说需要切换到build/intermediates/classes/debug/文件目下,然后怎么搞怎么搞,其实不必要,也不用配置-classpath的环境变量。直接从 Terminal 里切换进入 <You Project> / src / main / java 目录,执行javah命令,然后 包名 + 类名,生成的.h文件便会在该路径下,如图原创 2015-09-09 18:02:06 · 6563 阅读 · 1 评论 -
How to Use OpenCV in Android Studio
How to Use OpenCV in Android StudioCreate a libraries folder underneath your project main directory. For example, if your project is OpenCVExamples, you would create a OpenCVExamples/libraries folder.原创 2015-09-08 15:42:54 · 3180 阅读 · 1 评论 -
NDK - JNI官方中文资料
NDK-JNI官方中文资料声明该篇文章完全引用自《JNI完全手册》完整版,用来方便查询查阅。感谢原文档作者。文档所依赖的版本是比较低的,但是恰恰是低版本才能更容易上手学习。文档也有些枯燥,适合开发中参考查询和粗略概况性 的浏览掌握大局使用,也是下来几篇的基础性指导文档。下来几篇不会再解释代码简单函数释义,只会说重点,遇到不懂的来 这篇文章搜索函数名即可查阅函数详情。设计概述JNI接口函数和指针平台转载 2015-09-08 13:36:21 · 3366 阅读 · 0 评论 -
Android Studio中Android Support Library升级到 23.0.0 报错!
不得不说,真能折腾!将Android Studio中SDK下的 Android Support Library 升级到了23.0.0,结果倒好了,创建项目出问题了,还比较奇葩:卧槽你大爷!尼玛还能不能好好玩耍了。各种卸载重装,就差重装系统了。后来在神器stackoverflow中找到了这么一篇:http://stackoverflow.com/questions/32092511/resource-error-in-android-studio-after-update-no-resource-f原创 2015-08-27 10:30:28 · 7208 阅读 · 4 评论 -
Android源码大放送(实战开发必备)
Android源码大放送(实战开发必备)文件夹 PATH 列表│ javaapk.com文件列表生成工具.bat│ 使用说明.txt│ 免费下载更多源码.url│ 目录列表.txt│ ├─android web应用│ jqmDemo_static.zip│ jqmMobileDemo-master.zip│ jqmMobileDemo1_1-master.z原创 2015-08-01 16:09:58 · 37173 阅读 · 36 评论 -
Android中读取图片EXIF元数据之metadata-extractor的使用
首先介绍一下什么是EXIF,EXIF是 Exchangeable Image File 的缩写,这是一种专门为数码相机照片设定的格式。这种格式可以用来记录数字照片的属性信息,如相机的品牌及型号、相片的拍摄时间、拍摄时所设置的光圈大小、快门速度、ISO等信息。除此之外它还能够记录拍摄数据,以及图片格式化方式,这样就可以输出到兼容EXIF格式的外设上,如照片打印机等。目前最常见的支持EXIF信息的图片格式是JPG,很多的图像工具都可以直接显示图片的EXIF信息,包括现在的一些著名的相册网站也提供页面用于显示原创 2015-07-30 16:42:02 · 10651 阅读 · 8 评论 -
百度地图230错误 : Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败
关于230错误APP scode校验失败的解决办法:1.什么是230错误为增强移动APP对百度开发SDK/API服务访问的控制,也避免恶意开发者对百度地图服务进行攻击,我们对Mobile类型(Android/IOS)的服务请求进行了安全码校验;所谓安全码即开发者在API控制台申请AK(AK和APP一一对应)时提供的APP签名的SHA1+”;”+包名(具体可参考http://developer.ba原创 2015-07-06 14:58:17 · 12309 阅读 · 2 评论 -
Android语音播报、后台播报、语音识别
Android语音播报、后台播报、语音识别本文介绍使用讯飞语音实现语音播报、语音识别功能。讯飞开放平台:http://www.xfyun.cn/index.php/default/index程序效果图:简单的XML布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/原创 2015-06-05 16:12:53 · 15839 阅读 · 5 评论 -
三种东西永远不要放到数据库里
三种东西永远不要放到数据库里我已经在很多演讲里说过,改进你的系统的最好的方法是先避免做“蠢事”。我并不是说你或你开发的东西“蠢”,只是有些决定很容易被人们忽略掉其暗含的牵连,认识不到这样做对系统维护尤其是系统升级带来多大的麻烦。作为一个顾问,像这样的事情我到处都能见到,我还从来没有见过做出这样的决定的人有过好的结果的。图片,文件,二进制数据既然数据库支持BL翻译 2015-06-03 11:18:42 · 3473 阅读 · 2 评论 -
Android wifi属性简介 及 wifi信息获取(wifi列表、配置信息、热点信息)
Android wifi对象属性及简易Demo本章介绍Android开发中WiFi热点和WiFi属性的获取,介绍WiFi的名称、状态等属性以及获取周围WiFi热点的方法。一、怎样获取wifi对象并进行操作要操作 WIFI 设备,需要先获取 Context.getSystemService(Context.WIFI_SERVICE)获取WifiMana原创 2015-05-21 15:42:37 · 19338 阅读 · 0 评论 -
Android 利用getIdentifier()方法获取资源ID
Android 利用getIdentifier()方法获取资源ID/** * 利用getIdentifier()方法获取资源ID * 方法描述: * getIdentifier(String name, String defType, String defPackage) * 第一个参数:资源的名称 * 第二个参数:资源的类型(dr原创 2015-05-21 14:50:58 · 17758 阅读 · 0 评论 -
记录 "心跳机制" 相关问题
记录 "心跳机制" 相关问题论坛里碰到一个问题,记录一下。一、心跳”分为两种,第一种是客户端发起的心跳,第二种是服务端发起的心跳。客户端发起的心跳:客户端每隔一段时间发送策略消息给Socket服务器,Socket服务器原路返回策略消息,如果客户端在设定时间段内没有收到Socket服务器的返回消息,经重试机制后,判定So原创 2015-05-14 17:55:58 · 1951 阅读 · 0 评论 -
Android(java)回调函数经典示例
回调函数经典示例1.使用java回调函数来实现一个测试函数运行时间的工具类public class TestObject { /** * 一个用来被测试的方法,进行了一个比较耗时的循环 */ public static void testMethod(){ for ( int i= 0 ; i<原创 2015-05-11 14:12:31 · 5827 阅读 · 2 评论 -
Android开发中15条小经验
Android开发中15条小经验1. TextView中的getTextSize返回值是以像素(px)为单位的,而setTextSize()是以sp为单位的.所以如果直接用返回的值来设置会出错,解决办法是用setTextSize()的另外一种形式,可以指定单位:setTextSize(intunit,intsize) TypedValue.COMPLEX_UNIT_P原创 2015-05-05 14:47:09 · 5726 阅读 · 1 评论 -
android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tool
今天在eclipse里报这个错误:Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead. Please fix project properties 1. 项目 右键 ->android tools ->Fix Project2. 如果不可以,检查 Project -原创 2015-05-02 02:44:05 · 5646 阅读 · 0 评论 -
查看Eclipse版本号及各个版本区别
1. 找到eclipse安装目录2. 进入readme文件夹,打开readme_eclipse.html3. readme_eclipse.html呈现的第二行即数字版本号,如:Eclipse Project Release NotesRelease 4.2.0Last revised June 8th, 2012原创 2015-05-02 01:48:43 · 5041 阅读 · 1 评论 -
Found 4 versions of android-support-v4.jar in the dependency list.
android中引入多个library时,出现如下问题:[2015-04-30 14:21:06 - PullToRefresh_Sample] Found 4 versions of android-support-v4.jar in the dependency list,[2015-04-30 14:21:06 - PullToRefresh_Sample] but not a原创 2015-04-30 14:30:26 · 5621 阅读 · 1 评论 -
Android本应用数据清除管理器
本应用数据清除管理器package com.loopj.android.http.manager;import java.io.File;import android.content.Context;import android.os.Environment;/** * 本应用数据清除管理器 * 描 述: 主要功能有清除内/外缓存,清除数据库,清除sharedPr原创 2015-04-30 10:11:58 · 5242 阅读 · 2 评论 -
TextView处理显示字数过长
TextView处理显示字数过长为了解决Textview中内容过长的话自动换行,想起TextView中有个内容过长加省略号的属性,即:ellipsize用法如下:android:ellipsize = "end" 省略号在结尾android:ellipsize = "start" 省略号在开头android:ellipsize = "middle" 省原创 2015-04-24 22:50:29 · 9009 阅读 · 0 评论 -
Android不错的图片压缩方法
Android不错的图片压缩方法一、图片质量压缩/** * 质量压缩方法 * * @param image * @return */ public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new Byt原创 2015-04-22 15:19:19 · 5322 阅读 · 3 评论 -
Android中屏蔽 电源键长按、Home键、Home长按
这几个“按键”的触发,都会产生一个 Action == Intent.ACTION_CLOSE_SYSTEM_DIALOGS 的通知区分他们三个的不同事件的参数,就是随着 Intent 带过来的 reason 字符串,分别对应:"电源键长按"(globalscreen)"Home键"(homekey)"Home长按"(recentapps)我们可以使用广播来实现,如:原创 2015-04-20 17:43:16 · 10481 阅读 · 1 评论 -
android中查看android-support-v4.jar源码
想查看 android-support-v4.jar 的源码时看不了,那是因为没关联android-support-v4.jar的源码。Android SDK在 extras 目录中提供了support包的源码。(注:已使用Android SDK Manager下载过Android Support Library)步骤一、新建android-suppor原创 2015-04-07 16:57:02 · 4743 阅读 · 0 评论 -
简析android:installLocation
/*************************************************** * TODO: description . * @author: gao_chun * @since: 2015-3-30 * @version: 1.0.0 * @remark: 转载请注明出处 ***********************原创 2015-04-01 17:13:39 · 6309 阅读 · 0 评论 -
Eclipse打开C/C++文件报错问题
Eclipse打开C/C++文件报错若配置完NDK后打开C/C++代码不幸的出现各种红点,各种符号,各种下划线,可用下面提供的两种方案试试1.右键点击工程,在工程 Properties 页面->C/C++ General ->Code Analysis 下选择Use project settings 将下面的复选框中的勾全给去掉,然后Apply.这样原创 2015-03-31 13:34:32 · 5106 阅读 · 0 评论 -
Android NDK开发(一)环境搭建及运行示例
/*************************************************** * TODO: description . * @author: gao_chun * @since: 2015-3-30 * @version: 1.0.0 *@remark: 转载请注明出处 **********************原创 2015-03-30 17:52:39 · 5924 阅读 · 1 评论 -
Eclipse添加C/C++开发插件
Eclipse中拥有一个可扩展的插件系统定制让你轻松的来定制你的IDE,它可以支持各种编程语言,包括Java,C/ C++,PHP,JS等。安装Eclipse CDT插件可以讲你的IDE变成一功能齐全的C/C++开发工具。下面我们来安装CDT插件:1、启动Eclipse, 打开“Help”->”Install New Software” 菜单。2、点击 “Add”按钮去原创 2015-03-30 15:32:08 · 7553 阅读 · 0 评论 -
NDK path cannot contain space!
1.NDK path cannot contain space!配置NDK,始终报错。之前路径是 D:\Program Files\adt-bundle-windows-x86_64-20140702\android-ndk-r10c结果出现 NDK path cannot contain space!犯了低级错误,找了我两个小时,妈蛋!D:\Program Fil原创 2015-03-25 21:26:27 · 6362 阅读 · 0 评论