[Android]
文章平均质量分 76
Android相关学习资料和教程。
zq_Hero
wx: zqhero_wx
展开
-
Android 文件选择器支持pdf,txt apk等文件格式查询
日常开发中经常性的会遇到选择各式各样的文件,然而系统提供的文件选择很渣,加上国内厂商的多方魔改…完犊子文件选择器彻底成渣男了.日常开发中,大多数的图片选择和各式各样文件选择,都是项目中自己写的(起码我的是这样).所以在这里梳理了一下处理的思路以及简单的代码实现.原创 2023-02-21 12:40:58 · 840 阅读 · 1 评论 -
robolectric 依赖库加载缓慢
robolectric 依赖库下载各种踩坑。。。1.gradlew test 运行单元测试用例报错如下:org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundExceptioncom.tencent.next.MainActivityTest > testActivity FAILED org.apache.tools.ant.BuildException Caused by: org.apache.mav转载 2020-12-01 17:57:29 · 746 阅读 · 0 评论 -
变量 BuildConfig 找不到。飘红
问题: Error:(133, 9) 错误: 找不到符号 符号: 变量 BuildConfig 位置: 类 Metadata 原因: BuildConfig类是在编译时自动生成的,分为debug和release两个版本,路径是: app/build/source/BuildConfig/Build V...转载 2020-12-01 17:24:38 · 6485 阅读 · 0 评论 -
火星坐标-地球坐标的由来 以及转换方式:
在开始这个题目之前,先给大家再次扫扫盲,扫的不是坐标系统的盲,而是我们国家所使用的坐标系统。大家都知道,美国GPS使用的是WGS84的坐标系统,以经纬度的形式来表示地球平面上的某一个位置,这应该是国际共识。但在我国,出于国家安全考虑,国内所有导航电子地图必须使用国家测绘局制定的加密坐标系统,即将一个真实的经纬度坐标加密成一个不正确的经纬度坐标,我们在业内将前者称之为地球坐标,后者称之为火星坐标,...原创 2019-10-24 11:10:51 · 4603 阅读 · 0 评论 -
小米手机调试总出现“INSTALL_CANCELED_BY_USER”
因为最近我的测试机酷派大神手机总是无法usb连接到电脑,所以我今天就用陪我走过漫长岁月的小米2s手机进行调试。开机后,提示我升级系统,那我就升级呗。 升级完成后,我就跟往常一样,就连上手机,在android studio里面run,然后选择设备,然后就等着安...原创 2019-10-24 09:50:15 · 280 阅读 · 0 评论 -
Android Passive MVC 架构
Android Passive MVC 架构 今天我给大家介绍一个 Android 架构,原文请戳这里。前言MVC 架构想来大家都比较熟悉,M 指 Model,V 指 View,C 指 Controller。MVC 架构认为程序可以分为三个层次:View 视图层,最上面的一层,负责与用户进行...转载 2018-07-30 13:18:27 · 549 阅读 · 0 评论 -
Android开源项目合集
1.android最新源码汇总 http://androidblog.cn/index.php/Source/ 1. gank是干货集中营非官方客户端,主要练习RxJava、RxAndroid、Retrofit & MVP https://github.com/xybCoder/gank Gank.IO客户端+各种好玩的API+日常练习代码 https://github...转载 2018-07-25 13:13:29 · 314 阅读 · 0 评论 -
Fragment 中 OnFragmentInteractionListener的作用
在用Android Studio中使用IDE默认创建fragment时,在Activity中加载fragment时会要求实现onFragmentInteraction(Uri uri)方法此方法主要作用是从fragment向activity传递数据在fragment中部分代码如下:@Overridepublic View onCreateView(LayoutInflater inf...转载 2018-07-24 17:41:03 · 6264 阅读 · 0 评论 -
安卓跨进程传递事件 解决方案:
一,问题背景最近在做安卓自动化的时候,发现使用instrument自带的Instrumention.sendPointerSync向其他应用程序发送点击事件的时候,没有效果,而且报出错误:Permission denied,injecting event from pid XXX XXX uid to window XXX owned by uid XXX.简单翻译过来就是:从一个...转载 2018-05-22 17:39:34 · 2532 阅读 · 1 评论 -
点9图片的处理
点9图片的处理:最近学习Androi中,遇到了图片处理的问题,总结一下:1,使用工具:Draw 9-patch. 由于 android中已经集成了该处理软件,我们只需要找到sdk中的tools文件夹,在文件夹的根目录即可找到该bat文件,双击效果如图:2,将需要修改的图片拖进去,做如下处理:3,左边黑色区域原创 2015-11-04 21:56:42 · 861 阅读 · 0 评论 -
Android-性能优化01-布局优化&绘制优化&内存泄露优化
Android性能优化之--布局的优化和绘制优化:Andoid性能优化包括: 1,布局优化, 2,绘制优化, 3,内存泄露优化, 4,响应速度的优化, 5,l原创 2015-12-15 12:34:23 · 911 阅读 · 0 评论 -
Android中内存泄露的原因分析:
Android中内存泄露的原因分析:有垃圾回收机制,为什么还会出现内存泄露:了解GC回收的原理: GC会选择一些它了解还存活的对象作为内存遍历的根节点(GC Roots),比方说thread stack中的变量,JNI中的全局变量,zygote中的对象(class loader加载)等,然后开始对heap进行遍历。到最后,部分没有直接或者间接引用到GC Root原创 2015-12-15 12:56:31 · 3404 阅读 · 0 评论 -
Android中使用 listView 绘制表格
Android中使用listView绘制表格实例:一.效果图:二,创建步骤:1,创建布局:activity_main中的布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.原创 2015-12-19 10:44:14 · 20216 阅读 · 3 评论 -
Android面试中常见问题集锦
Android面试中常会被问到的问题及解答方式:1,PendingIntent 和Intent的区别:PendingIntent就是一个Intent的描述,我们可以把这个描述交给别的程序,别的程序根据这个描述在后面的别的时间做你安排做的事情换种说法Intent字面意思是意图,即我们的目的,我们想要做的事情,在activity中,我们可以立即执行它PendingInten原创 2015-12-23 21:49:52 · 9424 阅读 · 0 评论 -
XMPP即时通信资料:
//-------------------------------------------XMPP:体系架构:Client,Server,Gateway.三个角色。 1,会话管理层,:负责客户端会话认证。在线状态,用户联系表等。 2,数据存储器(XDB):连接数据库系统,保持用户信息。通信日志等。 3,连接器管理器:管理与客户端之间的链接。原创 2015-12-23 21:56:47 · 867 阅读 · 0 评论 -
Android使用DialogFragment,自定义对话框
Android使用DialogFragment,自定义对话框:效果图:当我点击结算时,弹出对话框:步骤一:创建:pay_dialog_fragment.xml:布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_widt原创 2015-12-30 16:17:13 · 3614 阅读 · 1 评论 -
Cursor.moveToNext();和Cursor.moveToFirst();
源码: if(spGoodsCursor.moveToFirst()){ //修改为 moveToNext() 后不报错// //获取特价商品的特殊价格: float spPrice = Float.parseFloat( spGoodsCursor.getString(spGoodsCursor.getColumnIndex("fPrice_SO原创 2016-02-20 13:01:09 · 15460 阅读 · 0 评论 -
带有标签的流布局,,,实现标签的选中,添加和删除功能....
带有标签的 流布局的增删demo:项目中经常遇到这样的例子:界面上很多标签,共用户选择,用户可以自行添加,自行删除。 随手写了一个:效果图:核心源码:自定义ViewGroup:FlowLayout.javapackage com.ac.flowlayout_danxuan;import java.util.Arra原创 2016-02-23 16:59:56 · 3516 阅读 · 0 评论 -
Android使用xml自定义软键盘效果(附源码)
Android使用xml自定义软键盘效果原理: 1,软键盘其实是个控件,使用android.inputmethodserver.KeyboardView类定义。 2,主布局中使用帧布局,当我们需要显示软键盘时设置为可见,不需要时设置为不可见。 3,编写xml文件,定义键盘内容。使用xml文件填充KeyBoardView布局 4,设置EditText的监听事件。 完成键盘开发。上效果图:原创 2016-04-14 12:36:12 · 8763 阅读 · 0 评论 -
Android压缩图片到100K以下并保持不失真的高效方法
在开发Android企业应用时,会经常上传图片到服务器,而我们公司目前维护的一个项目便是如此。该项目是通过私有apn与服务器进行交互的,联通的还好,但移动的速度实在太慢,客户在使用软件的过程中,由于上传的信息中可能包含多张图片,会经常出现上传图片失败的问题,为了解决这个问题,我们决定把照片压缩到100k以下,并且保证图片不失真(目前图片经过压缩后,大约300k左右)。于是我就重新研究了一下Andro转载 2016-08-21 23:23:12 · 1355 阅读 · 0 评论 -
Android实现文件,图片上传,以及服务端接收相关。
前面一篇文章写了实现照相功能的一个例子,其实那个实现效果是个略缩图。要查看全图就要先指定照片的存放路径。以后我会修改那个文章。今天先说下图片,文件等上传的实现。接着拿照片说事,光照完了不行还得往服务器上传。我们做web开发的时候几乎都是通过一个表单来实现上传。并且是post的方式。而且都必须要加个参数enctype = “multipart/form-data”.然后再上传后台用各种框架里的插件之类转载 2016-09-07 20:04:03 · 26005 阅读 · 3 评论 -
自定义属性,实现自定义画板和实现圆形进度条
废话少说看效果: 具体思路笔者不再赘述,自己领悟。下面是实现步骤:第一步:自定义属性集:<?xml version="1.0" encoding="utf-8"?><resources> <!--自定义实现写字板--> <declare-styleable name="CustomPaint"> <attr name="boardBackground" forma原创 2016-09-09 13:13:27 · 518 阅读 · 0 评论 -
AndroidStudio删除 moudle
一个简单的问题,本来不想写这篇博客,怕自己忘了,还是写一下吧。 AndroidStudio 2.1.1版本。 项目中添加了一个Moudle 一个库文件,最后想删除: 删除项目中添加的moudle:一: File->project structure选中自己要删除的moudle,点击左上角:减号符号: 选择yes,ok.二:删除gradle中的依赖:三:项目中还存在库则,直接右键删除:完原创 2016-09-09 13:33:37 · 892 阅读 · 0 评论 -
TabLayout的自定义实现选项卡背景的滑动动画
最近看到App上一个不错的导航效果:一个导航滑动的效果,被选中的背景会有变化,会随着fragment的滑动有个位移动画。感觉挺有意思。两种方式:第一种: 使用TabLayout实现效果,第二种使用自定义TabLayout实现效果。还是自定义的好用。上图: 效果:实现选中卡片的背景滑动效果。分析:第一种使用TabLayout显得比较生硬,但我们想实现的是像下划线这种渐变滑动。 使用TabLayo原创 2016-09-09 18:30:31 · 10145 阅读 · 0 评论 -
Android 沉浸式状态栏以及 透明状态栏 和修改状态栏颜色
最近 被一个没搞过的问题难倒了,因为不知道,所以不会 会了才发现这么简单,一个关于沉浸式状态栏的问题。国内大多数App目前大于等于Api19的 会别出心裁的使用沉浸式状态栏。看了网上介绍,关于沉浸式状态栏大概有几种,透明状态栏,变色状态栏,沉浸式状态栏。变色状态栏大概只是通用说法,无论沉浸式还是透明的 都可以实现状态栏的变色。这里就不再介绍。 1,透明状态栏顾名思义就是透明的状态栏:原创 2016-09-15 20:20:31 · 4603 阅读 · 0 评论 -
Android实现圆形头像-使用自定义控件
Android圆形图片控件效果图如下:代码如下:RoundImageView.java[html] view plain copy print?在CODE上查看代码片派生到我的代码片package com.dxd.roundimageview; import android.content.Context; import android.content.res.TypedA转载 2016-09-18 11:38:06 · 4158 阅读 · 1 评论 -
静态编译与动态编译的区别
静态编译与动态编译的区别 动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。所以其优点一方面是缩小了执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源。缺点一是哪怕是很简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库;二是如果其他计算机上没有安装对应的运行库,则用动态编译的可执行文件就不能运行。 静态编译就是编译器转载 2016-10-04 23:54:09 · 3160 阅读 · 0 评论 -
Volley的cache之硬盘缓存--DiskBasedCache
前言衡量一个框架的优劣,缓存的处理是很重要的指标。这次我将对Volley的硬盘缓存DiskBasedCache从源码的角度进行解析。 下面先对DiskBasedCache的原理做简要介绍,开个头,然后根据简介做源码分析。 缓存原理在说缓存原理之前,要说一下缓存的数据怎么来的。 第一步: 当NetWorkDispatcher的run方法开始执行(NetWorkDispatcher是Thread转载 2016-10-12 00:01:16 · 871 阅读 · 2 评论 -
为什么说Volley适合数据量小,通信频繁的网络操作
前言网络编程对于客户端来说是一块及其重要的地方,使用高效的网络请求框架将为你的系统产生很大的影响。而Volley作为谷歌的一个开源项目,炙手可热。有很多中小型公司的安卓移动客户端的网络程序都是基于volley的。 Volley的优点很多,光可扩展性这一条优点就值得我们称赞。但是我想针对的是在 Google I/O 2013 大会上发布Volley的时候的一句话:a burst or emissio转载 2016-10-12 00:04:01 · 2489 阅读 · 0 评论 -
Android实现图片 高斯模糊,以及图片镜像 翻转。
好久没写博客,发现不止手痒,,原来不学习还是会颓废的…..哎…..速速找了网上比较感兴趣的功能,,看着前人大神门的方法实现,方便自己也方便别人:上图: 代码:MainActivity.classpackage com.hero.zhaoq.bitmapdemo;import android.graphics.Bitmap;import android.graphics.BitmapFacto原创 2016-10-21 00:14:16 · 7545 阅读 · 0 评论 -
PullToRefresh修改上拉下拉加载动画
修改PullTuRefreshListView源码: 实现 动画加载:第一步:源码分析:PullToRefrehListView 默认加载动画是很难看的: 默认是很难看的 但我们想要实现我们的效果怎么办?分析源码:找到PullRefreshListView 分析:我们知道 上拉和下拉加载 动画无非是 pullToRefreshListView 中添加了头和脚, 而头和脚都是原创 2016-11-28 22:48:50 · 2935 阅读 · 2 评论 -
Android热修复
1.什么是热修复 热修复,又称热补丁,一般是用事先定义好的接口,从网络下载代码并更新客户端代码,从而在用户无感知、也无需重装App的情况下,实现动态修复或动态更新。2.为什么需要热修复 对开发人员: 快速作用,方便测试和反馈,节省应用发布时间,缩短开发周期,降低开发成本; 方便数据统计和ABTest,有利于更好地改进App。 对用户: 无感知,无需重新下载安装,用户体验更好。3.怎样实现转载 2016-11-29 11:58:50 · 439 阅读 · 0 评论 -
Android 学习链接
http://svndoc.iusesvn.com/tsvn/原创 2016-12-04 15:27:41 · 894 阅读 · 0 评论 -
PullToRefresh 修改下拉动画 以及 轮播实现点击停止 和PullToRefreListView 的复杂布局
1,先来无事,复习了下 PullToRefresh先上效果图讲解:1,修改下拉上拉动画,上篇链接: http://blog.csdn.net/u013233097/article/details/533859862,实现 轮播点击事件停止:轮播触摸停止原理:1,添加 ViewPager的点击事件。 //1,手指按下时: 获取 当前点击点 坐标 手指触摸时停止滑动 并移除handl原创 2016-12-13 23:56:26 · 1020 阅读 · 0 评论 -
Android获取屏幕宽度的4种方法,
方法一: WindowManager wm = (WindowManager) this .getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay().getHeig原创 2016-12-18 16:56:22 · 727 阅读 · 0 评论 -
使用Picasso加载图片的内存优化实践
0 说明现在Android开源库中有许多图片加载框架,本文以picasso为例,总结下开发过程中的一些优化经验,使用的picasso版本如下compile 'com.squareup.picasso:picasso:2.5.2'1 图片裁剪在列表页尽量使用裁剪后的图片,在查看大图模式下才加载完整的图片。图片裁剪示例Picasso.with( imageView.getContext() ).loa转载 2016-12-21 12:14:46 · 538 阅读 · 0 评论 -
Android Studio问题---Unsupported method: AndroidProject.getPluginGeneration().
Android Studio问题—UnsupportedMethodException Unsupported method: AndroidProject.getPluginGeneration(). The version of Gradle you connect to does not support that method. To转载 2016-12-28 23:34:14 · 4934 阅读 · 0 评论 -
关于ViewPager被嵌套在ScrollView中不显示以及滑动冲突的问题
ScrollView嵌套ViewPager,要不是业务需求这样,估计没人愿意这么干!因为这种方式,会问题多多,简单百度一下这两个关键词“ScrollView ViewPager”,基本都是有冲突求解答的!是的,我也遇到了。这么一嵌套,ViewPager直接不显示了,尝试了如下几种方式,均无果:1、设置ScrollView的android:fillViewPort=”true”2、设置ViewPage原创 2016-12-29 23:28:09 · 2153 阅读 · 0 评论 -
有关onActivityResult提前调用的问题(转)
http://www.cnblogs.com/cottychiu/p/3262328.html一、今天准备在自己的游戏中加入蓝牙功能,于是将Android SDK Sample中的BluetoothChat看了看,发现基本上大部分的代码都可以复用,于是乎乾坤大挪移了一番,总算没有错误了,可是在我的Nexus上一运行,悲剧了,蓝牙明明打开了,可是却不能进入到DeviceListActivity,看了看转载 2017-01-01 23:20:30 · 607 阅读 · 0 评论 -
Android 自定义SeekBar动态改变 硬件音量大小 实现和音量键的同步
1,上图: 2,代码:MainActivity.javapackage com.hero.zhaoq.seekbarchangeddemo;import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content原创 2017-01-02 15:37:35 · 3735 阅读 · 2 评论