android
oneblue123
这个作者很懒,什么都没留下…
展开
-
android 自定义view——常用的标题栏
android经常离不开常用的标题栏,分别左侧按钮 ,中间的标题栏,右侧的按钮组成 或者是 分别左侧文本 ,中间的标题栏,右侧的文本组成。在开发的实际过程中会右很多这种样式相同的页面,如果每一次都写,就会特别麻烦。如果通过自定义一个组合控件来设置就可以简化布局时的代码量 代码入下:import android.content.Context;import android.util原创 2016-12-11 19:01:09 · 297 阅读 · 0 评论 -
Android fragment懒加载之初探
在Android的开发过程中,会遇到使用使用fragment来切换页面,特别是使用viewpager和fragment来切换页面的时候,由于viewpager的预加载的机制,当显示twofragment时,同时会预加载onefragment和threefragment。如何每个页面中都有大量的耗时操作,比如加载大量的网络图片,会消耗很多内存资源。 基于这个原因,可以通过设置如果当原创 2016-12-05 14:44:12 · 325 阅读 · 1 评论 -
android 6.0运行时权限应用之图库图片选取
public class MainActivity extends AppCompatActivity { public static final int REQUEST_CODE=200; public static final int REQUEST_CODE_PICK_IMAGE=300; private Button btn; private ImageVi原创 2016-11-26 22:47:48 · 4159 阅读 · 0 评论 -
android 6.0运行时的权限
public class MainActivity extends AppCompatActivity { public static final int REQUEST_CODE=200; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(saved原创 2016-11-26 22:13:51 · 251 阅读 · 2 评论 -
Android内存泄漏01----LeakCanary初步
在android开发的过程,特别容易遇到内存泄漏的现象,当内存泄漏到达一定的程度就会造成内存溢出,也就是常说的oom。那么检测内存泄漏就会显得尤为重要,此处以现在比较火的-LeakCanary为例,来检测app中的内存泄漏。 使用的案例是 “单例模式”中容易出现的内存泄漏。具体分析,见代码: 出现内存泄露之前代码:1.LeakCanary的使用:(1)在as中添加依赖:d原创 2016-11-20 20:56:31 · 301 阅读 · 3 评论 -
Android 使用个迭代器解析json
在Android开发过程中解析json,用到的方式有系统自带的json解析方法,也有gson fastjson。我经常使用的是gson的,通过gsonformat自动生成实体类,但是遇到有些json数据是无法解析的。比如: 发现有的key值是时间,此时遇到这种方式,我采用的是迭代器方式来辅助解析 由于key值可能是动原创 2016-12-22 13:15:00 · 1337 阅读 · 0 评论 -
自定义view2--getMeasuredWidth和getWidth方法区分
从源代码的角度发现: 1.对于-getMeasuredWidth打开源码发现 *** Like {@link#getMeasuredWidthAndState()}, but only returns the* raw width component (that is the result is masked by* {@link#MEASURED_SIZE_原创 2016-12-18 13:37:21 · 464 阅读 · 1 评论 -
Android scrollView如何实现监听
打开scrollView的源代码发现scrollView,并没有和其他控件类型的setxxListener的监听。但是可以发现一个回调方法/** * This is called in response to an internal scroll in this view (i.e., the * view scrolled its own contents). This is typ原创 2016-12-26 16:26:02 · 4062 阅读 · 2 评论 -
RXJava快速入门
(一)RxJava 到底是什么: 它就是一个实现异步操作的库as依赖:compile 'io.reactivex:rxjava:1.0.14'compile 'io.reactivex:rxandroid:1.0.1'(1)通过from创建被观察者private void createObserveableByfrom() {//通过from创建被观察者 /**原创 2017-01-04 14:20:06 · 257 阅读 · 2 评论 -
RxJava进阶01
RxJava进阶01:详情http://note.youdao.com/noteshare?id=881d8dc4e2ae517bfe17a88086c6969d原创 2017-01-05 14:30:02 · 223 阅读 · 0 评论 -
Android Listview滑动时不加载数据,停下来时加载数据,让App更优
转载:http://blog.csdn.NET/yy1300326388/article/details/45153813数据源配置(Adapter)[java] view plain copy package com.zhengsonglan.listview_loading.adapter; import android.content.Conte转载 2017-02-08 17:14:50 · 264 阅读 · 0 评论 -
ListView 单条item刷新
listView列表刷新某一条数据时采用notifyDataSetChanged()代价有点高,最好能局部刷新。局部刷新的重点是,找到要更新的那项的View,然后再根据业务逻辑更新数据即可。大概就是3步:1.找到要更新的那条数据的item 对于的view因为listView条目的复用,所以当前点击的位置对应的条目为position-FirstVisiblePositio原创 2017-02-10 14:01:42 · 4060 阅读 · 0 评论 -
RecyclerView自定义ItemDecoration
从ItemDecoration的源码:public static abstract class ItemDecoration { /** * Draw any appropriate decorations into the Canvas supplied to the RecyclerView. * Any content drawn by this meth原创 2017-02-10 16:40:16 · 841 阅读 · 0 评论 -
Service(一)
Service(一) 在Service的生命周期里,常用的有: 可以发现 service的启动方式有两种:startService和bindService 一、 以只使用startService()启动服务为例: 当第一次调用startService:日志如下:再次调用st原创 2017-06-06 13:12:38 · 314 阅读 · 5 评论 -
Service(二)
Service(二)service中开启子线程执行耗时操作:原创 2017-06-06 13:42:51 · 234 阅读 · 0 评论 -
DiffUtils实现partial bindData
DiffUtils实现partial bindDatasupport-v7:24.2.0中出来的一个兼容工具,它用来比较两个数据集,寻找出旧数据集-》新数据集的最小变化量。这个工具对于列表中需要局部内容发生变化是时,只需要计算出发生变化的部分,只刷新变化部分的内容,即可极大的提高刷新页面数据的效率问题。不必通过notifyDataSetChanged方法进行整个界面的刷新DiffUti原创 2017-06-09 14:49:13 · 420 阅读 · 1 评论 -
Retrofit使用时获取原始的json
通过retrofit一般的操作步骤通过设置gson转换器将json自动转化为javaBean,但是有些情况下,由于后台返回的数据不方便使用gson解析,这个时候就需要获取原始的json字符串,然后利用其他的方法解析json,那么如何获取原始的json呢?1.定义网络请求接口callT 为ResponseBody2.实例化retrofit,配置好请求地址和原创 2017-06-14 11:43:26 · 7530 阅读 · 2 评论 -
retrofit的基本使用(1)
http://note.youdao.com/noteshare?id=359fd240734cb6647b8dfece595cc206&sub=A9FA31937B0A44738157F801F5999907原创 2017-08-26 23:15:22 · 191 阅读 · 0 评论 -
native与h5交互
native与h5交互(一)我们自己写一个H5页面 放在assets目录下注意 : 如果html文件存于assets:则加前缀:file:///android_asset/如果在Sdcard直接使用file:///sdcard/ or file:/sdcard也可以 还有其他的交互方式,稍后的文章将会介绍~~~原创 2017-09-21 17:37:00 · 374 阅读 · 3 评论 -
直播开发
android 直播开发原创 2018-02-26 12:38:41 · 346 阅读 · 0 评论 -
android px 与dp换算
public class PixelUtils { public static int dip2px(Context context,int dip){ float density = context.getResources().getDisplayMetrics().density; return (int) (dip*density+0.5f); ...原创 2018-02-26 16:14:02 · 405 阅读 · 0 评论 -
android主流技能
android主流技能1.svn .git的使用 Git Flow(*)2.单元测试(*)3.cordova 或rn开发3.android 系统已经设备之间的差异(*)4.熟练使用as adb5.android 视频和图像处理(*)6.手机屏幕视频(*)7.图片处理(*)8.android系统管理。进程管理,内存管理9.熟悉常用的设计模式10.andr...原创 2018-02-27 11:14:40 · 185 阅读 · 1 评论 -
android studio 单元测试
单元测试的好处,可以对某一块功能独立测试。以java中的一个加法函数的工具类为例:1. 添加依赖:2.查看as项目目录发现如下两个文件夹(与测试有关的)2.待测试的java工具类:package com.gbf.ijkplayerdemo;/** * 加法工具类 * @author smile */public class AddUtils { public double a...原创 2018-02-27 13:24:14 · 227 阅读 · 2 评论 -
android 动态权限 rxpermissions
rxpermissions+rxjava2.01.添加依赖:compile 'io.reactivex.rxjava2:rxandroid:2.0.1'compile 'io.reactivex.rxjava2:rxjava:2.0.5'compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.3@aar'2.清单文件添加权限:<!...原创 2018-02-27 16:26:27 · 334 阅读 · 0 评论 -
android 8.0动态权限问题
Android O的运行时权限策略变化4.1在 Android O 之前,如果应用在运行时请求权限并且被授予该权限,系统会错误地将属于同一权限组并且在清单中注册的其他权限也一起授予应用。4.2对于针对Android O的应用,此行为已被纠正。系统只会授予应用明确请求的权限。然而一旦用户为应用授予某个权限,则所有后续对该权限组中权限的请求都将被自动批准,但是若没有请求相应的权限而进行操作的话就会出现...原创 2018-02-27 18:06:20 · 6168 阅读 · 0 评论 -
android DSBridge混合开发交互利器
腾讯X5内核支持:https://github.com/wendux/DSBridge-Android/tree/x5-3.0Android studio配置如下:添加 JitPack repository 到gradle脚本中allprojects { repositories { ... maven { url 'https://jitpack.io' } }}2.dep...原创 2018-02-28 12:56:06 · 2693 阅读 · 2 评论 -
android Apk瘦身
参考:http://blog.csdn.net/u012124438/article/details/54958757(一)先分析项目中各部分占多大,apk变大主要是由哪一部分组成的在Android Studio工具栏里,打开build–>Analyze APK, 选择要分析的APK包显然可以看到占用空间的主要是代码、图片、资源和lib和assert文件,主要方向精简代码、压缩图片、去除无用...原创 2018-02-28 13:50:26 · 224 阅读 · 0 评论 -
Android APK Signature v2,v1
最近as升级到3.0版本(之前是2.0),在打包时候发现多了一个签名方式开始的时候没有想太多,直接只是勾选了v2,生成的apk 在5.1手机上安装失败查询资料发现:android studio2.3的正式版之后,启用了V2的签名方式问题解析(v1和v2)Android 7.0中引入了APK Signature Scheme v2,v1呢是jar Signature来自JDKV1:应该是通过ZIP条...原创 2018-02-28 15:15:07 · 935 阅读 · 0 评论 -
android屏幕适配
(一)对哪些设备适配?主流设备:现在市面上占比最多的六种分辨率:480*800、320*480、480*854、540*960、720*1280、1080*1920。在日常适配中只要做好对这几个设备的适配,就能很好的适配其他机型另外也需注意对安卓平板、安卓电视等大尺寸、超大尺寸设备的适配。(二)适配的方案:(1)要确保布局的灵活性并适应各种尺寸的屏幕,应使用 “wrap_content” 、“ma...原创 2018-03-01 09:25:51 · 253 阅读 · 0 评论 -
android 美团多渠道打包方案
问:为啥要多渠道打包,只打一个包,然后分别发布到不同的平台上,不也挺好吗?答:不同渠道打包主要用来做统计分析,特别是游戏应用,特别注意哪个渠道推广的最有效。基于上面的场景,我们发现主要有两个问题:打包的本质是将渠道标识传递给后台这一步已经有第三方平台帮我们做了,实现的思路应该也也差不多,我们集成友盟的渠道统计分析即可。没有必要写一套自己的渠道统计分析。(友盟渠道统计接入)怎样快速打包为什么打包会花...原创 2018-03-01 09:27:08 · 534 阅读 · 0 评论 -
在Android Studio 中使用Git详解
参考:http://mp.weixin.qq.com/s/k1lJaNFard-GdFqpJcxfnw一、android studio 配置gitsetting–>Version Control–>Git–>Path to Git executable中选择git.exe的位置,这个Stutio一般会默认配置好,如下:之后点击旁边的Test按钮,如果出现如下的成功提示,说明Git...原创 2018-03-01 11:44:09 · 451 阅读 · 0 评论 -
Android7.0 适配
Android7.0 适配原创 2018-03-01 18:04:23 · 146 阅读 · 0 评论 -
进程保活及其应用
进程保活及其应用原创 2018-02-24 14:46:28 · 515 阅读 · 0 评论 -
android 插件化
android 插件化原创 2018-02-24 14:47:45 · 176 阅读 · 0 评论 -
android 热更新
android 热更新原创 2018-02-24 14:48:29 · 325 阅读 · 0 评论 -
RxJava2
https://juejin.im/entry/59f815216fb9a04517047e04compile 'io.reactivex.rxjava2:rxandroid:2.0.1'compile 'io.reactivex.rxjava2:rxjava:2.0.1'基本用法:create //1.创建被观察者 create() 是 RxJava 最基本的创造事件序列的方法 ...原创 2018-03-05 22:50:57 · 111 阅读 · 0 评论 -
android 环信采坑
android 环信采坑1.图片查看大图的时候crash解决方法:<!-- 查看大图崩溃 之所有会崩溃是因为没有在清单文件(AndroidManifest.xml)中配置查看图片的Activity --><activity android:name="com.hyphenate.easeui.ui.EaseShowBigImageActivity" androi...原创 2018-03-26 09:18:48 · 667 阅读 · 1 评论 -
android 列表头部悬停第三方
https://github.com/Gavin-ZYX/StickyDecoration转载 2018-04-09 11:28:51 · 450 阅读 · 0 评论 -
RxJava2 操作符 map与 flatMap
(一) map就是变换需要操作的数据内容或者结构的意思使用场景:当原始数据不能满足我们的需求,但我们却需要依赖这一原始数据去获取满足我们需求的数据时,那么就用它原理图如下:举个栗子:结果:(二) flatmap1.解决for循环嵌套private static class Student{ private int id; private String name; priva...原创 2018-04-02 09:30:10 · 4441 阅读 · 0 评论 -
优秀Android博客大全,整理了国内外大神博客/Github地址,是学习Android进阶的首选[转] 2016年06月16日 22:43:03
转]国内外优秀Android博客大全,覆盖了国内外大神博客地址,Github地址,是学习Android进阶的首选国内:昵称Github博客介绍邓凡平 http://blog.csdn.net/innost阿拉神农魏祝林 http://blog.csdn.net/android_tutor Trineahttps://github.com/trineahttp://www.trinea.cn/性能优...转载 2018-04-09 16:55:42 · 391 阅读 · 0 评论