![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 81
郝金库
熟悉Java、Android、iOS、ESB、web前端开发
展开
-
INSTALL FAILED CONFLICTING PROVIDER问题完美解决方案
在安装Android应用时出现INSTALL FAILED CONFLICTING PROVIDER问题,是不是感觉很抓狂呢,下面就跟大家分享一下出现这个问题的原因及解决方案。问题原因在Android中authority要求必须是唯一的,比如你在定义一个provider时需要为它指定一个唯一的authority。如果你在安装一个带有provider的应用时,系统会检查当前已安装应用的a...转载 2019-10-22 18:59:21 · 268 阅读 · 0 评论 -
TextView 添加Onclick 无效
给TextView添加Onclick事件还需要配置android:clickable="true",否则点击无效。1、布局<TextView android:id="@+id/topLeft" android:layout_width="@dimen/dp_zero" android:layout_height="match_parent" a...原创 2015-12-22 15:30:52 · 710 阅读 · 0 评论 -
Android中xml解析的三种方式Pull、Sax、Dom
1、Pull解析private List parseXmlByPull(InputStream is){ List stus = new ArrayList(); //获取XmlPullParser解析器实例 XmlPullParser parser = Xml.newPullParser(); try { //注入xml文件的数据源 parser.setInput(is, "原创 2015-05-04 13:07:43 · 451 阅读 · 0 评论 -
Android客户端一键退出
1、先创建Activity管理器ActivityManagerpackage com.sifang.dispatch.control;import java.util.ArrayList;import java.util.List;import android.app.Activity;public class ActivityManager { private static原创 2015-05-06 10:47:39 · 570 阅读 · 0 评论 -
Android自定义SearchEditText仿SearchView
1、贴上自定义控件SearchEditText代码package com.hjk.search.widget;import android.content.Context;import android.graphics.Rect;import android.graphics.drawable.Drawable;import android.text.Editable;import原创 2015-05-08 10:46:29 · 1965 阅读 · 0 评论 -
Android 使用getIdentifier()获取资源ID
使用getIdentifier()方法可以方便的获各应用包下的指定资源ID。主要有两种方法:(1)方式一Resources resources = context.getResources();int indentify = resources.getIdentifier(org.loveandroid.androidtest:drawable/icon",null,null);原创 2015-05-08 13:47:21 · 554 阅读 · 0 评论 -
Android Button按钮点击变换字体颜色
1、首先贴上/res/values/color色值 #000000 #ffffff2、贴上/res/drawable/text_color_selector.xml颜色选择器 3、贴上布局/res/layout/activity_main.xml代码<RelativeLayout xmlns:android="http:/原创 2015-05-08 23:35:03 · 12650 阅读 · 1 评论 -
Android WebView与JS的交互
1.android中利用webview调用网页上的js代码。Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true,,然后通过loadUrl就可以直接进行调用,如下所示:mWebView.getSettings().setJavaScriptEnabled(true);mWebView.lo原创 2015-05-14 05:42:59 · 497 阅读 · 0 评论 -
Android 自定义带行线的EditText
1、先贴出效果图2、自定义控件的代码public class WriteText extends EditText { private Context mContext; public WriteText(Context context, AttributeSet attrs) { super(context, attrs); mContext = context;原创 2015-05-18 16:14:44 · 744 阅读 · 0 评论 -
Android 给listview/gridview设置加载动画(逐条加载条目动画)
1、先写出需要的动画效果list_anim.xml <alpha android:duration="2000" android:fillAfter="true" android:fromAlpha="0.0" android:toAlpha="1.0" />2、写出动画加载原创 2015-05-17 08:24:26 · 682 阅读 · 0 评论 -
Android ScrollView中嵌套ListView或ExpandableListView
ScrollView中嵌套ListView或ExpandableListView其实还是需要计算出adapter的所有item的高度,再设置给listiew。public class Utils { public static void setListViewHeightBasedOnChildren(ExpandableListView listView) {原创 2015-05-19 22:01:40 · 635 阅读 · 0 评论 -
Android 文本伸缩效果
android开发过程中,经常遇到Textview展示不完全的情况。遇到此情况,通常的处理是:方案一、Textview添加android:ellipsize属性,让展示不完的部分使用省略号代替。方案二、Textview采用走马灯效果,使其滚动展示全部文本内容。(android Textview 使用之二:走马灯效果 android Textview 使用之二:走马灯效果 andro转载 2015-05-29 21:45:26 · 665 阅读 · 0 评论 -
Android 圆形ImageView
自定义控件圆形的ImageView CircleImageViewpackage sf.mobile.sf.widget;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;impo原创 2015-06-03 11:09:43 · 459 阅读 · 0 评论 -
Android 输入法导致EditText编辑框问题
//这句话解决了在Fragment中EditText输入文字,键盘把导航栏顶上来的问题在Activity的setContentView()之前写上这行代码getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);原创 2015-06-05 16:53:54 · 723 阅读 · 0 评论 -
Android 圆角矩形ImageView
package sf.mobile.sf.widget;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.Can原创 2015-06-09 09:22:06 · 1184 阅读 · 0 评论 -
Android中dp,px,sp概念梳理以及如何做到屏幕适配
首先来看一下他们的基本概念:px :是屏幕的像素点dp :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1pxdip :等同于dpsp :同dp相似,但还会根据用户的字体大小偏好来缩放(建议使用sp作为文本的单位,其它用dip)通过上面的知识我们可以看到这里只要弄懂px和dp之间的关系就可以了。那么下面重点来看一下他原创 2015-04-30 16:51:19 · 606 阅读 · 0 评论 -
Android ListView组合CheckBox实现多选获取数据
最近用到ListView组合CheckBox实现多选功能,自己写了一个DemoMainActivity代码package com.xudl.checkdemo;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import android.app.Activity;import and原创 2015-04-29 14:45:27 · 2625 阅读 · 0 评论 -
Android7.0后FileProvider隐式意图调用本地文件导致FileUriExposedException的异常
官方解答:出于用户隐私安全考虑,谷歌——(对于面向 Android 7.0 的应用,Android 框架执行的 StrictMode API 政策禁止在您的应用外部公开 file://URI。传递软件包网域外的 file://URI 可能给接收器留下无法访问的路径。因此,尝试传递 file://URI会触发 FileUriExposedException。分享私有文件内容的推荐方法是使用 FileProvider。)原创 2019-08-28 14:48:19 · 472 阅读 · 0 评论 -
android入门:zxing学习笔记(六)
已经连续写了五篇zxing的学习笔记了,刚开始写的时候,只是想简简单单的记录下自己在学习android过程积累的点滴,却没想到写着写着变成了好像在向某人诉说自己一点浅薄的理解似的。回头来看这些稚嫩的笔记,发现思维逻辑有点混乱,讲述的杂乱无章,没达要点。不求全面,但求透彻。在写这些随笔的过程,又更多的理解了Barcode scanner的设计,弄懂了之前很多的一知半解,尤其是理所当然的潜在错误认知,转载 2016-07-14 17:07:21 · 555 阅读 · 0 评论 -
android入门:zxing学习笔记(五)
Barcode Scanner不只是上面两篇说的这么简单,还有其他处理,如闪光灯,放大处理,最优的预览尺寸等等。这些不影响对代码的理解,知道camera的使用后,开始看看Barcode Scanner是如何高效的进行识别处理的。在android文件夹下,就有一个thread类:DecodeThread,两个handler类:CaptureActivityHandler和DecodeHandler。转载 2016-07-14 17:06:29 · 559 阅读 · 0 评论 -
android入门:zxing学习笔记(四)
Camera取景后显示于屏幕上,是个挺简单的过程,但这会出现各种意料不到的问题,例如之前说的屏幕横竖屏与预览图片之间的方向,图片拉伸,还有在Barcode Scanner中,简单的旋转了图片预览方向后,会出现特征点标记错位,等等。 第三篇简单的完成了相机的取景,还没有将取景的图片拍照存储下来。若想实现拍照的效果,则需要实现回调函数:Camera.PreviewCallback接口。转载 2016-07-14 16:26:40 · 705 阅读 · 0 评论 -
android入门:zxing学习笔记(三)
ViewfinderView自定义了view,实现了一个简洁的扫描界面。这一篇记录我再看代码过程中对于Android Camera 的理解。由于才开始写技术类博客,前两篇有很多不足之处,都是自己随性而写,估计大家很难对我写的有一个清晰的了解。这篇尝试改变下风格,争取好好的表达我的浅薄理解,也让大家能够看懂。 在看Barcode Scanner中关于camera代码前,先对转载 2016-07-14 15:23:05 · 458 阅读 · 0 评论 -
android入门:zxing学习笔记(一)
对于刚开始学习android开发的童鞋们来说,若有一个简单而又全面的android工程能来剖析,那就是再好不过了,zxing就是不错得例子。 zxing的源码可以到google code上下载,整个源码check out 下来,里面有各个平台的源码,ios的,android的。当然我们需要的就是android代码。 将android的工程导入到eclipse中,导入完成转载 2016-07-14 14:44:49 · 535 阅读 · 0 评论 -
Android 获取当前网速质量调整网络请求
在开发中,有时候常常需要根据用户当前的网速来做一些操作,比如图片的加载,当网速非常好的时候,比如连接的是wifi,我们就会下载高分辨率的图片,反之,当用户使用的是2g网时,我们则给他下载低分辨率的小图,从而节省用户流量。而Facebook其实已经给我们提供了这么一个库,详见network-connection-class。使用其实超级简单,先加入依赖compile 'com.f转载 2016-02-25 15:16:14 · 1993 阅读 · 0 评论 -
漫谈IM通信架构
前前后后做的IM和推送系统已经有好几个了,一直都想好好总结下,因此就有了这篇文章。在我刚学编程的那会儿,觉得网络通信是一个很牛逼和门槛很高的一门技术,但是随着开源技术的发展和互联网知识的共享,现在要写出高质量的网络通信程序已经变得容易多了。只要谈通讯肯定绕不开协议,鉴于本人经验下面只谈本人撸过的三种协议:XMPPMQTT私有协议XMPPXMPP(Exte转载 2016-03-18 14:37:06 · 843 阅读 · 0 评论 -
如何做到将apk大小减少6M
我们的apk去年业务需求增长迅速,伴随而来的是apk大小由年初的20M以下,增长到年底的30M。包大小增长的坏处有:过大的下载包会降低新用户的下载兴趣增加下载安装中失败的风险提高各个渠道下载发布的成本(渠道是会根据你的包大小设置收费规则的)因此,减少包大小的工作看上去不痛不痒,其实还挺重要的。接下来,我将分享下我在包大小瘦身方面的努力。技术列表l转载 2016-02-17 09:08:15 · 2337 阅读 · 0 评论 -
TextView长按复制实现方法小结
有这么一个需求,用户在浏览文本信息时希望长按信息就能弹出复制的选项方便保存或者在别的页面使用这些信息.类似的, 就像长按WebView或者EditText的内容就自动弹出复制选项.这里面主要是2个特点:1,用户只能浏览文本信息而不能编辑这些文本信息;2,用户对着文本信息长时间点按可以弹出”复制” 选项实现复制;网上有好多种方法可实现,也比较零散, 此处做个小结,希望转载 2016-02-01 09:45:22 · 482 阅读 · 0 评论 -
处理ScrollView内嵌ListView起始位置不是顶部问题
项目中需要用到 ScrollView 内嵌的TextView、ListView,写完发现数据加载之后 ListView 自动滑动到了底部。1、第一想法就是让 ScrollView 滑动到顶部使用 ScrollView.smoothScrollTo(0, 20);然而测试加载数据时发现数据加载后页面依旧滚动到了 ListView 最后一条2、分析应该是 ListView 抢占原创 2016-01-13 14:29:52 · 447 阅读 · 0 评论 -
Android Zxing 二维码扫码性能优化
最近再一次做到了扫码项目,扫码出现的扫码性能问题再次摆上了案头,经过自己研究并与同行沟通后得出了目前自己能做到的对扫码性能优化的处理。1、精简解码码制目前 github 上 Zxing 支持的码制国内常用的有二维码 QR Code 以及各种条码在这里具体做法就是在支持解码类与解码库把可解码裁剪为只剩下自己项目需要的码制。(重中之重,个人经验,这个对性能提高最有效)原创 2015-12-24 09:06:26 · 12353 阅读 · 3 评论 -
EditText 密码显示隐藏三种方法
//显示密码//1、EditText.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);//2、EditText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());//3、EditText.setInputTyp转载 2016-01-25 14:38:22 · 696 阅读 · 0 评论 -
Android 如何让EditText不自动获取焦点
在项目中,一进入一个页面, EditText默认就会自动获取焦点。那么如何取消这个默认行为呢?解决之道:在EditText的父级控件中找一个,设置成 android:focusable="true" android:focusableInTouchMode="true"这样,就把EditText默认的行为截断了!原创 2015-06-23 14:02:42 · 386 阅读 · 0 评论 -
Android SQLite数据库使用
SQLiteOpenHelper 类 用SQLiteOpenHelper 类中的 getWritableDatabase()和getReadableDatabase()方法可以获得数据库的引用。 为了实现对数据库版本进行管理,SQLiteOpenHelper 类提供了两个重要的方法,分别是 onCreate()和 onUpgrade(),前者用于初次使用软件时生成数据库表,后者转载 2015-06-25 09:07:12 · 463 阅读 · 0 评论 -
Android 隐藏输入法
/** * 隐藏输入法 * @param view */ protected void hideInputSoft(View view) { if (view == null) return; Context context = view.getContext(); view.requestFocus(); // 隐藏正在展示的输入法 InputMethod原创 2015-07-29 15:48:56 · 416 阅读 · 0 评论 -
Android 3.0动画系统详解
3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable animation。 1. View Animation(Tween Animati转载 2015-11-20 09:45:44 · 378 阅读 · 0 评论 -
android获取SDCard中照片并按照时间顺序显示
近期打算做一个GIF应用。具有拍摄GIF、从本地照片制作GIF、查看GIF图片等功能。 做第二个功能时遇到一个问题:File类的listFiles方法获得的File数组默认是按照修改时间从小到大的顺序排序。即最早拍摄的照片显示最前。我要的效果是最近拍摄的照片显示在最前。主要代码如下:[java] view plaincopy转载 2015-10-15 11:11:46 · 656 阅读 · 0 评论 -
android:强大的图片下载和缓存库Picasso
1.Picasso简介Picasso是Square公司出品的一个强大的图片下载和缓存图片库。官方网址是:http://square.github.io/picasso/只需要一句代码就可以将图片下载并设置到ImageView上。[java] view plaincopyPicasso.with(context).load("h转载 2015-10-15 11:07:51 · 529 阅读 · 0 评论 -
美团Android DEX自动拆包及动态加载简介
概述作为一个android开发者,在开发应用时,随着业务规模发展到一定程度,不断地加入新功能、添加新的类库,代码在急剧的膨胀,相应的apk包的大小也急剧增加, 那么终有一天,你会不幸遇到这个错误:生成的apk在android 2.3或之前的机器上无法安装,提示INSTALL_FAILED_DEXOPT方法数量过多,编译时出错,提示: Conversion to Dalvik f转载 2015-11-13 11:23:41 · 414 阅读 · 0 评论 -
Android修改TitleBar标题栏详解
最近项目中把一个activity的theme设成了Dialog弹出框样式,发现标题栏高度和字体都太小,于是查了相关的资料和源码,总结了修改方法。高度是通过修改android:windowTitleSize,字体大小通过style修改。 Android程序默认的Activity标题栏只能显示一段文字,而且不能改变它的布局、颜色、标题栏的高度等。如果想要在标题栏加上个图标、 butto转载 2015-10-26 11:04:57 · 1831 阅读 · 0 评论 -
Android应用开发之(通过ClipboardManager, ClipData进行复制粘贴)
在开发一些系统应用的时候,我们会用到Android的剪贴板功能,比如将文本文件、或者其他格式的内容复制到剪贴板或者从剪贴板获取数据等操作。Android平台中每个常规的应用运行在自己的进程空间中,相对于Win32而言Android上之间的进程间传递主要有IPC、剪切板。当然今天我们说下最简单的ClipboardManager。使用剪切板可以直接实现数据的传输。整个实现比较简单,注意剪切板中的类型判转载 2015-10-08 11:26:29 · 5906 阅读 · 0 评论 -
android:duplicateParentState属性解释
android:duplicateParentState指的是当前控件是否跟随父控件的(点击、焦点等)状态例:假设一Layout有两子View,对Layout进行监听点击事件;子ViewA一个设置duplicateParentState为true,子View设置为false,当点击Layout后,子ViewA的点击态背景变色成功,子ViewB背景态变色无效,因为点击事件被Layout捕获。转载 2015-08-20 13:29:48 · 608 阅读 · 0 评论