
Android
文章平均质量分 91
果然是酱
安卓爱好
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Flutter问题记录
1.Cannot run with sound null safety, because the following dependencies在运行的main.dart配置中添加:Additional run args:--no-sound-null-safety2.DioError [DioErrorType.other]: Bad state: Insecure HTTP is not allowed by platformAndroidManifest.xml增加 android:usesCl原创 2022-03-30 09:43:30 · 3674 阅读 · 0 评论 -
ViewPager+Fragment 界面显示才发送请求
ViewPager+Fragment的模式再常见不过了,以国民应用微信为例,假设微信也是ViewPager+Fragment的实现方式,那表现形式上就是一个ViewPager管理了四个Fragment,左右滑动来回切换。但是ViewPager有一个奇葩的特性叫:预加载,比如打开微信,首先看到的是第一个Tab(微信),但事实上第二个Tab(通讯录)已经加载好了。当选择第二个Tab(通讯录),第三个T转载 2017-03-20 18:52:10 · 1450 阅读 · 0 评论 -
Fragment销毁时replace和add两个方法的区别
这个首先从一个bug说起,如图: 我们都知道fragment切换有两种方式:1. replace方式transaction.replace(R.id.content, IndexFragment);2. add-hide-show方式transaction.add(R.id.content, IndexFragment); transaction.hide转载 2017-02-28 10:23:22 · 326 阅读 · 0 评论 -
Android线上Bug热修复分析
针对app线上修复技术,目前有好几种解决方案,开源界往往一个方案会有好几种实现。重复的实现会有造轮子之嫌,但分析解决方案在技术上的探索和衍变,这轮子还是值得去推动的关于Hot Fix技术Hot Fix技术,简单来说就是针对线上已发布app出现了bug,在不推送新版本的情况下通过发布修复补丁进行修复。通常是刚上线的app,需要快速线上修复bug,类似的技术就叫做热转载 2016-12-20 08:59:15 · 615 阅读 · 0 评论 -
Android界面性能调优手册
界面是 Android 应用中直接影响用户体验最关键的部分。如果代码实现得不好,界面容易发生卡顿且导致应用占用大量内存。我司这类做 ROM 的公司更不一样,预装的应用一定要非常流畅,这样给客户或用户的第一感觉就是快。又卡又慢的应用体验,会影响客户或用户对产品的信心和评价,所以不可忽视。目录一. Android渲染知识转载 2016-12-10 09:35:43 · 477 阅读 · 0 评论 -
2015-2016最火的Android开源项目
2015-2016最火的Android开源项目本文整理与集结了近期github上使用最广泛最火热与最流行的开源项目,想要充电与提升的小伙伴们可以前来一关哦~ 本文只提供了简单介绍与项目网址,具体请点进去自行参谋哦,费心整理,希望对大家有用github开源项目地址:https://github.com/Trinea/android-open-project转载 2016-11-25 15:28:02 · 1121 阅读 · 0 评论 -
Android视频录制从不入门到入门系列教程(四)————Camera Parameter
Camera提供了一个叫做setParameters的方法帮助开发者设置相机的相关参数。通过Camera的getParameters方法可以获取到当前为相机设置的相关参数。下面简单介绍下,视频录制会用到的几个参数的用法。一、设置PreviewSize,即视频预览大小,也即输出到SurfaceView的视频图片的分辨率大小。需要注意的是,PreviewSize只有那么转载 2016-11-25 14:56:26 · 1391 阅读 · 0 评论 -
AndroidStudio利用android-support-multidex解决65536问题64k问题
AndroidStudio利用android-support-multidex解决65536问题64k问题版权声明:转载请注明本文转自严振杰的博客: http://blog.csdn.net/yanzhenjie100364k的各种异常当你的应用程序和库引用达到一定规模,你遇到构建错误显示你的应用已经达到了一个Android应用程序构建体系结构的限制。早期版本的转载 2016-11-07 09:35:59 · 399 阅读 · 0 评论 -
Android 安全加密:对称加密
Android 安全加密:对称加密来源:GoogleDev链接:blog.csdn.net/axi295309066/article/details/52491077对称加密、非对称加密、消息摘要、数字签名等知识都是为了理解数字证书工作原理而作为一个预备知识。数字证书是密码学里的终极武器,是人类几千年历史总结的智慧的结晶,只有在明白了数字证书工作原理转载 2016-09-23 17:40:44 · 606 阅读 · 0 评论 -
自定义View实现圆形水波进度条(下)
来源:伯乐在线专栏作者 - Code4Android链接:http://android.jobbole.com/84776/接上文通过效果图,我们看到实现此效果就是不断的更新进度值,然后重绘,,那么我们只需开启一个线程实现更新进度值,为了更好的控制我们再加点击事件,当单机时开始增大进度,双击时暂停进度,并弹出Snackbar,其中有一个重置按钮,转载 2016-09-28 14:06:17 · 2599 阅读 · 0 评论 -
自定义View实现圆形水波进度条(上)
来源:伯乐在线专栏作者 - Code4Android链接:http://android.jobbole.com/84776/每次听到某大牛谈论自定义View,顿时敬佩之心,如滔滔江水连绵不绝,心想我什么时候能有如此境界,好了,心动不如行动,于是我开始了自定义View之路,虽然过程有坎坷,但是结果我还是挺满意的。我知道大牛还遥不可及,但是我已使出洪荒之力。此篇博客记录转载 2016-09-28 09:25:09 · 1264 阅读 · 0 评论 -
【异常】解决Android7.x找不到libsqlite.so 问题
解决Android7.x找不到libsqlite.so 问题TargetSdkVersion 为24时,找不到libsqlite.so,导致App直接崩溃。原因:一般某些聊天的SDK都依赖于libsqlite.so(环信、融云),不过由于这个包从来没有变化,使用的是系统默认提供的(/system/lib/)。在Android 6.x及以下的平台可以运行。 And转载 2017-03-16 09:44:12 · 436 阅读 · 0 评论 -
android Listview,gridview局部刷新,部分刷新
众所周知Listview和Gridview的刷新界面的方式是调用adapter.notifyDataSetChanged()进行界面刷新。但是此方法有其弊端,他是将界面中的数据全部刷新一遍,不论数据有没有变化。如果listview加载了很多的数据(如:100条)在进行刷新时就会造成很大的系统开销如何像qq空间个人动态那样点赞只刷新一条呢:主要原理:对listview转载 2017-03-31 10:41:51 · 3725 阅读 · 0 评论 -
Android 中SpannableStringBuilder控制局部文本颜色和点击事件
直接上代码package com.lhl.qsmm.maskguidetest;import android.os.Bundle;import android.support.v4.content.ContextCompat;import android.support.v7.app.AppCompatActivity;import android.text.Spannabl原创 2017-04-01 13:55:24 · 6583 阅读 · 0 评论 -
AS中遇到No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
在我们迁移项目时候会遇到No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android问题在AS中找到项目的Project Structure ,如果没有NDK,会有一个下载的按钮,直接下载,然后修改gradle的版本为3.1.0以上,比如3.2.0,但这个之后也会遇到其他...原创 2019-02-25 16:34:36 · 325 阅读 · 0 评论 -
android 输入法弹出时不能挡住按钮把布局顶上去
最近在做注册登录界面,刷刷刷的做完了,也已经上线了。突然有一天产品拿着手机跑到我这里说,这个注册界面用户体验太差了,每次输入完一行信息后,都要把输入法收回去,然后再输入下一行,甚至把注册的按钮给挡住了原创 2017-12-02 14:20:29 · 9554 阅读 · 3 评论 -
记录平时Android开发中的一些不容易记忆的bug解决方法
这里记录着我在开发中学习中遇到的一些问题,和如何去解决这些问题的方法。1、ListView、GridView和ScrollView嵌套使用导致界面不是显示在顶部,而是往下滑动了一段距离。解决:ListView.setFocusable(false)或GridView.setFocusable(false)有多少个ListView、GridView就写多少个setFocusable(fal...原创 2017-06-15 09:41:23 · 604 阅读 · 0 评论 -
Android View动画(视图动画)
安卓中的动画有:视图动画(也叫补间动画,tween动画)、Drawable动画(也叫Frame动画、帧动画)和Property动画(属性动画)。视图动画在一个视图容器内执行一系列简单变换(位移、缩小放大、旋转、透明度),使用这个动画时,控件的点击的区域还是在原来的位置上,并不会因为视图移动而点击区域发生改变。原创 2017-08-14 11:50:25 · 496 阅读 · 0 评论 -
Android中Fragment的懒加载
在大部分安卓APP开发中都会用到ViewPager和Fragment的结合使用,而ViewPager又会出现预加载的情况,比如说打开app时第一个fragment和第二个fragment已经加载好了,当滑动到第二个fragment的时候第三个fragment已经加载好了,我们大多时候都希望当滑动到哪一页就加载哪一页,这样性能比较好也比较省流量,因此需要一个方法来解决这个问题。BaseFragm原创 2017-07-06 13:17:58 · 473 阅读 · 0 评论 -
Android中使用系统api申请开启权限
在安卓6.0后对于危险的权限不仅需要程序员去AndroidManifest.xml中申明权限,而且也要代码去动态申请权限。package org.zkl.zhangkelu.activity.easypermissions;import android.Manifest;import android.app.Activity;import android.content.Dia原创 2017-06-21 16:14:25 · 2808 阅读 · 0 评论 -
android 四种启动模式详解
synchronized(同步)是java中在多处理器中实现线程安全最基本的手段,在java语言规范(第三版)中提到锁的同步机制,指在java中,线程之间通信的机制最基本的就是同步化,此方法是使用监视器实现的,每个对象与一个监视器关联,一个线程可以加锁和解锁此监视器,而且同一时间段只有一个线程持有监视器上的锁,其他线程就会被阻塞,直到他们可以在该监视器上获取锁其实一个对象都可以看做一个锁,原创 2017-06-20 14:01:49 · 512 阅读 · 0 评论 -
Android 获取View高度的几种方法
package com.zkl.test;import android.os.Build;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.view.ViewTr原创 2017-04-05 17:13:27 · 1553 阅读 · 0 评论 -
Android WebView:性能优化不得不说的事
原文链接:http://motalks.cn/2016/09/11/Android-WebView-JavaScript-3/版权归作者所有!Mo说:大家通过前两篇文章想必都能顺利的 get 到 WebView 与 JavaScript 交互的技能了。现在 App 嵌入 H5 页面已经是稀松平常的事情了,开发者要面对 WebView 也越来越多的爆发出来,比如页面加载慢,内存泄露,转载 2016-09-21 14:48:19 · 20254 阅读 · 0 评论 -
Android VectorDrawable与SVG
VectorDrawableAndroid L开始提供了新的API VectorDrawable 可以使用SVG类型的资源,也就是矢量图。在xml文件中的标签是,下面是一个例子vector xmlns:android="http://schemas.android.com/apk/res/android" -- intrinsic size of the drawable -转载 2016-08-11 17:50:49 · 579 阅读 · 0 评论 -
Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
本文转自:http://blog.csdn.net/lmj623565791/article/details/38377229 ,本文出自【张鸿洋的博客】很多人面试肯定都被问到过,请问Android中的Looper , Handler , Message有什么关系?本篇博客目的首先为大家从源码角度介绍3者关系,然后给出一个容易记忆的结论。1、 概述Handler 、 Loope转载 2015-07-27 10:49:52 · 315 阅读 · 0 评论 -
Android 快速开发系列 打造万能的ListView GridView 适配器
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38902805 ,本文出自【张鸿洋的博客】1、概述相信做Android开发的写得最多的就是ListView,GridView的适配器吧,记得以前开发一同事开发项目,一个项目下来基本就一直在写ListView的Adapter都快吐了~~~对于Adapter一般都继承B转载 2015-07-27 10:31:38 · 492 阅读 · 0 评论 -
Android 超高仿微信图片选择器 图片该这么加载
本文转自:http://blog.csdn.net/lmj623565791/article/details/39943731,本文出自:【张鸿洋的博客】1、概述关于手机图片加载器,在当今像素随随便便破千万的时代,一张图片占据的内存都相当可观,作为高大尚程序猿的我们,有必要掌握图片的压缩,缓存等处理,以到达纵使你有万张照片,纵使你的像素再高,我们也能正确的显示所有的图片。当然了,单转载 2015-07-27 13:54:25 · 475 阅读 · 0 评论 -
安卓接口回调原理
在使用接口回调的时候发现了一个经常犯的错误,就是回调函数里面的实现有可能是用多线程或者是异步任务去做的,这就会导致我们期望函数回调完毕去返回一个主函数的结果,实际发现是行不通的,因为如果回调是多线程的话你是无法和主函数同步的,也就是返回的数据是错误的,这是非常隐秘的一个错误。那有什么好的方法去实现数据的线性传递呢?先介绍下回调机制原理。 回调函数 回调函数就是一个通转载 2015-03-23 09:25:02 · 1162 阅读 · 0 评论 -
android 自定义SeekBar的使用
style="?android:attr/progressBarStyleHorizontal" 水平样式 android:layout_width="200dp" android:layout_height="wrap_content" android:maxHeight="7dp" 设置原创 2015-03-06 17:12:29 · 821 阅读 · 0 评论 -
android PopupWindow的使用
private LayoutInflater inflater;inflater = (LayoutInflater) this .getSystemService(LAYOUT_INFLATER_SERVICE); mContent = inflater.inflate(R.layout.task_category_menu_popupwindow, null);popu原创 2015-03-04 13:58:12 · 513 阅读 · 0 评论 -
把格式化日期转换成毫秒值
// 先把字符串转成Date类型 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); // 此处会抛异常 Date date = null; try { date = sdf.parse("2015-05-05 22:05"); } catch (ParseException e) { e原创 2015-03-04 11:21:24 · 4144 阅读 · 0 评论 -
安卓app再次点击退出应用
在一个主activity中实现activity中的方法/** 点击后退键的次数 */protected int mFinishCount = 0;@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {//误按回退键mFinishCount = 0;return super.dispatchTouchE转载 2014-12-02 16:58:19 · 1746 阅读 · 1 评论 -
android sdk 更新方法,修改hosts文件
目前由于某种原因,sdk无法更新或下载。原创 2014-11-05 11:36:00 · 1659 阅读 · 0 评论 -
安卓代码中创建快捷方式
在安卓代码中,创建应用的快捷方式原创 2014-12-03 14:52:24 · 835 阅读 · 0 评论 -
Android Handler 异步消息处理机制的妙用 创建强大的图片加载类
本文转自:http://blog.csdn.net/lmj623565791/article/details/38476887 ,本文出自【张鸿洋的博客】最近创建了一个群,方便大家交流,群号:55032675上一篇博客介绍了Android异步消息处理机制,如果你还不了解,可以看:Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系转载 2015-07-27 11:20:55 · 409 阅读 · 0 评论 -
Android SwipeRefreshLayout 官方下拉刷新控件介绍
转自:http://blog.csdn.net/lmj623565791/article/details/24521483下面App基本都有下拉刷新的功能,以前基本都使用XListView或者自己写一个下拉刷新,近期Google提供了一个官方的下拉刷新控件SwipeRefreshLayout,我感觉还不错啊,见惯了传统的下拉刷新,这个反而给人耳目一新的感觉(貌似知乎的APP已经使用这种下拉转载 2015-09-14 09:47:20 · 391 阅读 · 0 评论 -
Android ImageView的setImageLevel和level-list使用简介
在Android开发中,有时候需要对一个ImageView设置很多不同图片以表示某种应用状态,比如,典型的是手机的信号强度从强到弱有多种状态图;wifi有解锁和未解锁状态,解锁和未解锁状态的图标也是很多种。如果每次都一一的通过ImageView设置图片的src来达到这一目的,实在是太过于繁琐,且维护和管理起来不便。因此,引入ImageView的setImageLevel和level-list实现这转载 2016-08-11 09:44:52 · 570 阅读 · 0 评论 -
android 沉浸式状态栏不会和虚拟重叠
一个工具类SystemBarTintManager.java/* * Copyright (C) 2013 readyState Software Ltd * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compli原创 2016-06-20 10:08:16 · 2314 阅读 · 0 评论 -
ScheduledExecutorService定时周期执行指定的任务
一:简单说明ScheduleExecutorService接口中有四个重要的方法,其中scheduleAtFixedRate和scheduleWithFixedDelay在实现定时程序时比较方便。下面是该接口的原型定义java.util.concurrent.ScheduleExecutorService extends ExecutorService extends转载 2016-04-26 11:38:27 · 495 阅读 · 0 评论 -
调用.so 文件时报错has text relocations
调用.so 文件时报错has text relocations调用.so文件时报如下错误: libcooee.so: has text relocations 说明编译.so文件时使用了较低版本sdk 而project 中的配置 targetSdkVersion22 大于so编译时使用的sdkversion,所以只需要把功能中 的targetSdkVersion降低即可转载 2016-03-24 17:04:06 · 1013 阅读 · 0 评论