- 博客(98)
- 资源 (2)
- 收藏
- 关注

原创 Android Architecture Component之LiveData
前言 看本片文章之前建议先看Android Architecture Component之Lifecycle-Aware Components源码分析,会用到里面的一些知识。本人水平有限,写的不好请谅解。一、liveData是什么?1.介绍 * LiveData是一个数据持有者类,他持有一个允许被观察的值,不同于普通的被观察者,liveData遵从应用程序的生命周期,被注册的观察者都要遵循其
2017-11-14 16:30:46
3130

原创 Android Architecture Component之ViewModel源码分析
前言为了更好了解ViewModel,建议看下几篇文章 Android Architecture Component之Lifecycle-Aware Components源码分析 Android Architecture Component之LiveData源码分析 知识准备重要知识介绍(后面用到) /** * Control whether
2017-11-14 16:28:33
1434

原创 Dagger2在MVP中的应用(Dagger2+Retorfit+MVP)
Dagger2在MVP中的应用需要基础Dagger2MVP建议把基础学会再看下面文章好理解点。为什么MVP中要用Dagger2?我们首先看一下传统的mvp有什么缺点?presenter在Activity的耦合我们知道在传统的MVP中Preseter是在Activity中初始化的,也就是显式的new了一个对象,那么这里面在这个Activity中就有了耦合在里面。为什么会有耦合呢?场景1: 假如
2016-11-30 11:07:55
1287

原创 View注解框架简单学习(绑定对象,绑定事件)
View注入框架简单学习(绑定对象,绑定事件)前言现在有许多针对View的注解框架,例如Xutils的ViewUtis,解决了令我们厌烦的findViewById对象的初始化,以及绑定OnClick事件的问题,提高了开发效率,那么怎么实现的呢?我们来简单学习一下,自己写个框架,此种方法是运行时的注解,而Buttknife是编译时期的注解.绑定View对象自定义针对View的注解对注解不熟悉的同学可以
2016-11-21 13:38:41
1275

原创 Dagger2详解(原理)
Dagger2Daggger2是啥 Dagger is a fully static, compile-time dependency injection framework for both Java and Android. It is an adaptation of an earlier versioncreated by Square and now maintained by Goo
2016-11-14 10:53:55
3702

原创 Volley离线缓存篇
Volley离线缓存篇序言前几天项目有个需求,app离线状态下读取缓存数据,当然这个很简单,无论是存json还是对象,都可以自己写个文件或者数据库存取,但是既然用到volley框架,那么整个存取过程应该在volley中存取,我们知道volley本身自带缓存,但是在离线状态下volley请求走的是error,那么它也就不会从文件中读取数据,怎么做才能让volley在离线状态下读取它存的缓存呢?原理分析
2016-09-29 15:58:45
939

原创 MVP
什么是MVPmvc 模型(Model):负责处理数据的加载或者存储,比如从网络或本地数据库获取数据等 视图(View):负责界面数据的展示,与用户进行交互,主要是xml文件; 控制器(Controller):控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样
2016-08-23 21:58:25
1357

原创 带泛型的parcelable序列化
Serializablepackage com.delta.news.model.entity;import java.io.Serializable;import android.os.Bundle;import android.os.Parcel;import android.os.Parcelable;public class CheckBoxData<T extends Serializ
2016-08-17 10:18:13
2234

原创 android框架
相信大家对MVC,MVP和MVVM都不陌生,作为三个最耳熟能详的Android框架,它们的应用可以是非常广泛的,但是对于一些新手来说,可能对于区分它们三个都有困难,更别说在实际的项目中应用了,有些时候想用MVP的,代码写着写着就变成了MVC,久而久之就对它们三个的选择产生了恐惧感,如果你也是这样的人群,那么这篇文章可能会对你有很大的帮助,希望大家看完都会有收获吧!文章重点:(1)了
2016-05-07 14:31:00
535
原创 react ssr
SSR介绍Server Slide Rendering 服务端渲染什么是服务端渲染服务端渲染(Server-Side Render),是指将单页应用(SPA)在服务器端渲染为 HTML 片段,发送到浏览器,然后为其绑定状态与事件,成为完全可交互页面的过程。与客户端渲染的区别为什么使用服务器端渲染(SSR)?更好的搜索引擎优化(Search-Engine-Optimization,SEO)大部分网站都希望自己能够出现在搜索引擎的搜索页前列,这个前提就是网页内容要能够被搜索引擎的爬虫正确
2020-10-26 17:17:01
537
原创 Android Architecture Component之Lifecycle-Aware Components
前言系列文章 Android Architecture Component之Lifecycle-Aware Components源码分析 Android Architecture Component之LiveData源码分析 Android Architecture Component之ViewModel源码分析 android.arch.lifecycle 包提供了类和接口
2017-11-24 09:21:35
1181
原创 基于CountDownView的时间控件扩展
基于CountDownView的时间控件扩展前言首先,新年的一年里祝大家,心想事成,鸡年大吉。去年的时候,我们做时间控件的时候一直遗留一个问题那就是正计时控件一直没有好的解决方案,我们很想把CountDownView既支持正计时又能支持倒计时。基于这个想法,便有了今天这篇文章,原理不在介绍,其实很简单,主要是我们知道怎么用,此控件的优点有: * 实现了正计时倒计时的统一 * 优化了Adapte
2017-02-08 13:39:19
1240
原创 Java反射详解
Java反射详解转载说明出处:反射简介 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。Java反射机制是Java语言被视为“准动态”语言的关键性质。Java反射机制的核心就是允许在运行时通过Java Reflection APIs来取得已知名
2016-11-25 09:28:35
793
原创 WebView Js交互之混合交互
需求现在有这样的一个需求,给了你一个html页面,用webview加载获取html页面的内容。分析一下,我们获取页面内容只能同过js,但是不知道html页面中有什么js,怎么做呢?解决方法我们知道webview可以调用js.那么我们可以动态注入一个js给html页面,然后在js调用android 中的方法,从而达到获取内容的目的。注入jsdetail_content.setWebViewClie
2016-10-10 11:35:26
434
转载 Android 编码规范
Android 编码规范 作者:李旺成 时间:2016年4月3日 原文地址http://www.jianshu.com/p/0a984f999592# 1. 前言 这份文档参考了 Google Java 编程风格规范和 Google 官方 Android 编码风格规范。该文档仅供参考,只要形成一个统一的风格,见量知其意就可。1.1 术语说明 在本文档中,除非另有说明:术语 class 可
2016-08-24 22:30:25
713
转载 android 开发中遇到错误及解决办法总结
android 开发中遇到错误及解决办法总结 新手总结的开发中所遇到错误及解决办法,如有不对,欢迎指正,如有更好的解决办法,也请不吝赐教。一、dialog.show()引起的android.view.WindowManagerBadTokenException错误错误日志android.view.WindowManagerBadTokenException错误 错误日志 android.v
2016-08-22 12:28:44
3512
原创 IndexOutOfBoundsException: Inconsistency detected. Invalid item position
RecyclerView Bug:IndexOutOfBoundsException: Inconsistency detected. Invalid item positioncause 使用 RecyclerView 加官方下拉刷新的时候,如果绑定的 List 对象在更新数据之前进行了 clear,而这时用户紧接着迅速上滑 RV,就会造成崩溃,而且异常不会报到你的代码上,属于RV内部错误。初
2016-08-19 10:11:47
473
原创 WebView加载闪屏问题
Android WebView加载过程闪屏问题 解决方法:在WebView中加入一下配置if(myWebView_bg_isBlack){ myWebView.setBackgroundColor(Color.parseColor(“#00000000”)); myWebView.setBackgroundResource(R.drawable.bg_night); }else{ myWeb
2016-08-16 09:05:03
6962
原创 按钮防止多次提交
package com.delta.news.util;import android.util.Log;public class SingleClick { private static long lastTime; public static boolean isSingle(long defalutTime) { long currentTime = System.c
2016-08-04 14:27:23
499
原创 android自带分享,浏览器分享
android自带分享分享方法图片文字分享/** * 分享功能 * * @param context * 上下文 * @param activityTitle * Activity的名字 * @param msgTitle * 消息标题
2016-08-03 17:47:51
1279
转载 四种常见的 POST 提交数据方式
四种常见的 POST 提交数据方式文章目录 application/x-www-form-urlencoded multipart/form-data application/json text/xml HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提
2016-08-01 14:30:57
3510
原创 volley乱码
volley乱码volley解析volly 总体设计 -Request类型及类图 Dispatch Thread CacheDispatcher.java /frameworks/volley/src/com/android/volley/CacheDispatcher.java -run()函数流程图 NetworkDispatcher.java -/frameworks/vo
2016-07-29 13:26:51
647
原创 My Key
Generate 快速创建构造 get/set gson格式化json等所在的名字F1Basic 普通的代码提示`Impletment Methods 导入重写接口方法shift+IShow Intention Actions 显示多种意图,类似于Eclipse Ctrl+1ctrl +1Parameter Info 显示方法的参数信息ctrl+pStart New Line Before
2016-07-29 08:43:29
300
转载 ActionBar为Null
前言在使用 ActionBar的时候,有时候会爆出空指针异常,这是因为应用没有获取到 ActionBar 导致的,而导致应用没有获取到 ActionBar 的原因比较多,所以我们下面就来总结一下 ActionBar 获取不到的错误原因。解决办法检查你的应用是否设置了没有 ActionBar 的主题Theme,或者直接设置了 NoActionBar或NoTitleBar 属性,主要要检查这几点:检查
2016-06-26 22:25:08
500
原创 屏幕适配二 Values 适配
这个方法有个问题啊,拿我手机来举个例子吧,我手机4.7寸,像素·1280*720,dpi:320,不带虚拟按键(所以虚拟按键先不考虑,考虑平板的虚拟按键的话,误差会更大),当value文件夹只留下value-1280*720的时候,会报错,说找不到文件资源,其实实际匹配的value资源是value-1196*720,我查看了源码,系统栏的高度25dp(这也正好解释了为什么系统栏或者actionbar
2016-06-26 22:04:27
322
转载 屏幕适配一:基本概念及原理
dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算一、基本概念dip : Density independent pixels ,设备无关像素。dp :就是dippx : 像素dpi :dots per inch , 直接来说就是一英寸多少个像素点。常见取值 120,160,240。我一般称作像素密度
2016-06-26 14:12:29
424
原创 WebView问题总汇
我们在native与网页相结合开发的过程中,难免会遇到关于WebView一些共通的问题。就我目前开发过程中遇到的问题以及最后得到的优化方案都将在这里列举出来。有些是老生常谈,有些则是个人摸索得出解决方法。下面就是整理得到的些干货。1.加快HTML网页装载完成的速度默认情况html代码下载到WebView后,webkit开始解析网页各个节点,发现有外部样式文件或者外部脚本文件时,会异步发起网络请求下载
2016-06-22 22:41:33
363
原创 android:scaleType
为适应不同屏幕的手机,ImageView图片的显示比例,可以使用android:scaleType属性来处理,处理方式的有以下几种:1、在xml配置中使用: android:scaleType="centerCrop"2、在代码中使用:imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);ScaleType的值分别代表的意义:ImageVi
2016-06-11 08:23:36
794
转载 android studio 快捷键英文名
【Android】android studio快捷键设置解说 |浏览:380|更新:2016-01-29 09:41 【Android】android studio快捷键设置解说1【Android】android studio快捷键设置解说2【Android】android studio快捷键设置解说3【Android】android studio快捷键设置解说4【Android】android
2016-06-08 13:28:05
5778
原创 Android studio 快捷键使用
Generate 快速创建构造 get/set gson格式化json等所在的名字所在位置:Main menu--CodeBasic 普通的代码提示所在位置:Main menu--Code--CompletionOverride Methods 重写父类方法,在Generate中也可找到对应功能所在位置:Main menu--CodeImpletment Methods 导入重写接口方法所在位置 同
2016-06-08 09:52:22
507
原创 webView向android 传值
最近做webview,遇到2种需求,一种是在自己服务器上的HTML中获取数据,另一种是通过自己服务器上的HTML中的超链接跳到另一个站点的HTML中,并获取数据。于是,总结了2种通过webview获取网页上的数据的方式:第一种:简单点的,直接通过js调Java,在调用方法的过程中将数据通过方法的参数传递给Android端,(前提:服务端有对应的faxun对象,而且调用的方法是showImages(S
2016-05-28 22:17:26
1794
原创 WebView设置自适应屏幕大小
第一种: settings.setUseWideViewPort(true); settings.setLoadWithOverviewMode(true); 第二种: WebSetting settings = webView.getSettings(); settings.setLayoutAlgorithm(LayoutAlgori
2016-05-28 11:36:51
10458
转载 POI检索
转载请注明出处:http://blog.youkuaiyun.com/crazy1235/article/details/44002459POI检索 POI~~~ Point of Interest,翻译过来就是“兴趣点”。我们在使用地图的时候,搜索周边的ktv,饭店,或者宾馆的时候,输入关键字,然后地图展示给我们很多个点,这些点就是我需要的信息。这就是所谓的兴趣点,也就是一个普通的查询
2016-05-22 12:23:28
1291
转载 百度地图定位最新
转载请注明出处:http://blog.youkuaiyun.com/crazy1235/article/details/43898451 前两篇关于百度地图的blog写的是,一些基本图层的展示 和 覆盖物的添加+地理编码和反地理编码。 接下来,这篇blog主要说一些关于地图控制方面的内容和定位功能。 百度地图提供的关于地图的操作主要有:单击、双击、长按、缩放、旋转、
2016-05-21 19:38:58
1465
转载 Android中Canvas绘图之Shader使用图文详解
概述我们在用Android中的Canvas绘制各种图形时,可以通过Paint.setShader(shader)方法为画笔Paint设置shader,这样就可以绘制出多彩的图形。那么Shader是什么呢?做过GPU绘图的同学应该都知道这个词汇,Shader就是着色器的意思。我们可以这样理解,Canvas中的各种drawXXX方法定义了图形的形状,画笔中的Shader则定义了图形的着色、外观
2016-05-18 20:55:06
505
原创 BitmapShader
圆角图片在Android开发中比较常用,现在我们来介绍在Android如何实现圆形、圆角和椭圆自定义图片View,这时主要是使用BitmapShader图形渲染。一、概述Android实现圆角矩形,圆形或者椭圆等图形,一般主要是个自定义View加上使用Xfermode实现的。实现圆角图片的方法其实不少,常见的就是利用Xfermode,Shader。本文直接继承ImageVi
2016-05-18 20:45:26
495
转载 Image-Loader
这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用,随便反编译几个火的项目,都可以见到它的身影。 可是有的人并不知道如何去使用这库如何进行配置,网上查到的信息对于刚接触的人来说可能太少了,下面我就把我使用过程中所知道的写了下来,希望可以帮助自己和别人更深入了解这个库的使用和配置。 GITHUB上的下载路径为:https://gi
2016-05-18 20:17:41
315
原创 Android Stuido 签名与获取
这个感觉挺重要的,尤其是签名的获取,因为写到百度地图的使用了,所以感觉这个应该写在前面,还有就是微信也需要签名首先说一下Android studio如何进行打包:博主测试新建了一个packaging的工程还是先看一下目录结构,因为打包的时候和Eclipse不一样,可以自选的,最好不要用默认的目录结构好,下面来看看如何进行打包签名文件所
2016-05-17 16:52:47
463
原创 Android Studio 使用技巧
常用技巧 1. 书签(Bookmarks)描述:这是一个很有用的功能,让你可以在某处做个标记(书签),方便后面再跳转到此处。调用:Menu → Navigate → Bookmarks快捷键:添加/移除书签:F3(OS X) 、F11(Windows/Linux);添加/移除书签(带标记):Alt + F3(OS X)、Ctrl + F11(Windows/Linu
2016-05-15 20:17:11
1978
原创 Android 线程创建与销毁
在Android开发中经常会使用到线程,一想到线程,很多同学就立即使用new Thread(){…}.start()这样的方式。这样如果在一个Activity中多次调用上面的代码,那么将创建多个匿名线程,程序运行的越久可能会越来越慢。因此,需要一个Handler来启动一个线程,以及删除一个线程,保证线程不会重复的创建。 1、创建Handler的一般方式 一般会使用Handler handle
2016-05-12 20:08:22
871
校园导航系统(用C写的 )
2011-04-25
黄淮学院ACM竞赛试题
2010-11-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人