自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 收藏
  • 关注

翻译 Android中图片的三级缓存策略

一、简介 现在的Android应用程序中,不可避免的都会使用到图片,如果每次加载图片的时候都要从网络重新拉取,这样不但很耗费用户的流量,而且图片加载的也会很慢,用户体验很不好。所以一个应用的图片缓存策略是很重要的。通常情况下,Android应用程序中图片的缓存策略采用“内存-本地-网络”三级缓存策略,首先应用程序访问网络拉取图片,分别将加载的图片保存在本地SD卡中和内存中,当程序再一次需要加载图...

2018-07-30 15:19:52 769

翻译 电话权限设置

AndroidMainifest清单文件<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.lh.rxpermission"> <uses-permi

2018-07-23 16:29:28 1013

翻译 Edittext光标位置

// 使光标始终在最后位置 Editable etable = yplease.getText(); Selection.setSelection(etable, etable.length());

2018-07-22 20:23:16 424

翻译 Android短信验证(手机号注册,绑定手机号获取验证码)实例

 今天写一个常见的功能——手机app中注册或绑定手机号的获取验证码的功能。也就是短信验证功能   具体效果就是,你在注册界面填写手机号,点击获取验证码按钮,—然后会收到验证短信,填入验证码后点击注册按钮,如果验证正确就可以跳转到另外一个界面   1.首先大家需要在mob官网注册一个账号,mob是一个免费的短信验证平台   2.在mob.com后台创建应用   3.下载对应的sdk   4...

2018-07-22 19:19:58 4337 1

翻译 Android如何通过手机获取验证码来完成注册功能

注册很多app或者网络账户的时候,经常需要手机获取验证码,来完成注册,那时年少,只是觉得手机获取验证码这件事儿很好玩,并没有关心太多,她是如何实现的,以及她背后的故事到底是什么样子的,现在小编接手的这个项目里面,就需要通过手机号进行注册,并且手机号发送相应的验证码,来完成注册,那么在一些应用app里面到底是如何实现点击按钮获取验证码,来完成注册这整个流程的呢?今天小编就以注册为例,和小伙伴们分享一...

2018-07-16 10:10:00 617

转载 Android5.0之NavigationView的使用

https://blog.csdn.net/u012702547/article/details/51253222导航菜单的制作方式多种多样,网上也有各种炫酷效果的具体实现方式,那么今天我主要是想来说说Google在Android5.0之后推出的NavigationView的具体使用方式。 NavigationView在很多App上都已经可以看到其效果图,国内的比如知乎(侧拉菜单滑出来的那一...

2018-07-16 10:00:11 157

翻译 Android开发之Bitmap二次采样

Bitmap二次采样,听着好像是一个高大上的事,其实也就那么回事,今天我们就来看看Bitmap的二次采样问题。 1.为什么要二次采样 OK,那么首先我要 解决的一个问题就是为什么我们要二次采样? 不知道大家在开发App的过程中有没有遇到过类似于图片墙这样的功能?在做图片墙的时候你有没有遇到过OOM异常呢?遇到了又是怎么解决的?再比如我现在有一张100M大的图片,我想把这张图片用一个Image...

2018-07-16 09:43:28 133

翻译 Android 图片的三级缓存 及 图片压缩

为什么需要图片缓存android默认给每个应用只分配16M的内存,所以如果加载过多的图片,为了防止内存溢出,应该将图片缓存起来。图片的三级缓存分别是: 内存缓存 本地缓存 网络缓存其中,内存缓存应优先加载,它速度最快;本地缓存次优先加载,它速度也快;网络缓存不应该优先加载,它走网络,速度慢且耗流量。(总的来说由快到慢)三级缓存的具体实现 网络缓存...

2018-07-16 09:35:21 180

翻译 android控制TextView字数长短,超出之后显示省略号,记录下,省的下次再找

android:ellipsize="end"android:maxEms="12"//限制输入多少android:singleLine="true"

2018-07-16 09:28:26 515

翻译 Android之有效防止按钮多次重复点击的方法(必看篇)

为了防止测试妹子或者用户频繁点击某个按钮,导致程序在短时间内进行多次数据提交or数据处理,那到时候就比较坑了~ 那么如何有效避免这种情况的发生呢? 我的想法是,判断用户点击按钮间隔时间,如果间隔时间太短,则认为是无效操作,否则进行相关业务处理 首先将这块提取为工具类(方便接下来的调用),现在就起名为:ButtonUtilspublic class ButtonUtils { p...

2018-07-08 21:26:27 3013

翻译 版本更新

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="htt

2018-07-08 21:24:11 306

翻译 内存缓存

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="@color/sli_setting_bg" android:layout_width="mat

2018-07-05 21:06:30 126

翻译 Android 屏幕适配:最全面的解决方案

Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合:Google的官方权威适配文档 郭霖: Android官方提供的支持不同屏幕大小的全部方法 Stormzhang:Android 屏幕适配 鸿洋:Android 屏幕适配方案 凯子: Android屏幕适配全攻略(最权威的官方适配指导) 自身的思考&实践 给你带来一种全新、全面而逻辑清晰的An...

2018-07-04 20:42:40 176

翻译 Android 中几种优雅的退出APP方式介绍

最近由于项目的修改,项目由MainActivity按返回键一次退出修改为MainActivity中连续按两次返回键退出,顺便优化一下推出这里的代码。因此还是在网上搜索了一番,总结比较之后得出了有以下集中方式,优缺点都会提出来,有需要的老铁按需选择。 目录 常见的有5中方式:容器式 便捷式 广播式 进程式 SingleTask式实现方法1.容器式 容器式可能是我们最常见的方...

2018-07-04 20:13:48 139

翻译 妈妈再也不用担心你不会使用线程池了(ThreadUtils)

为什么要用线程池使用线程池管理线程有如下优点:降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度:当任务到达时,任务可以不需要等到线程创建就能立即执行。 提高线程的可管理性:线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。 线程池介绍ThreadPoolExecutorJav...

2018-07-04 20:05:59 1183

翻译 okhttp 缓存实践

以下内容基于 okhttp:3.10.0 版本在开发中,由于不同业务场景解,我们需要将接口返回的数据缓存到本地,以实现复用。例如,接口数据每间隔一定时间才会更新,在时间间隔内就没必要重复的向服务器请求数据,直接使用缓存即可;当 app 无法访问网络时,也可以使用缓存的接口数据,避免缺省页等等。所以使用缓存也是好处多多:节省流量、提高响应速度、增强用户体验…… okhttp 的缓存功能使用起来...

2018-07-04 20:01:18 136

翻译 一篇文章搞懂Android 自定义viewgroup的难点

本文的目的 目的在于教会大家到底如何自定义viewgroup,自定义布局和自定义测量到底如何写。很多网上随便搜搜的概念和流程图 这里不再过多描述了,建议大家看本文之前,先看看基本的自定义viewgroup流程,心中有个大概即可。本文注重于实践viewgroup 的测量布局流程基本梳理 稍微回顾下,基本的viewgroup绘制和布局流程中的重点:1.view 在onMeasure()方法...

2018-07-04 19:56:10 147

翻译 自定义日历

前言可能很多人都会说,你还自己撸一个日历控件,GitHub有那么多好的开源项目,比如:material-calendarview(https://github.com/prolificinteractive/material-calendarview)4K多的star,而且人家的扩展性也很强,我干嘛要自己撸。我就是个不喜欢用别人的,想着别人能做出来的,自己干嘛不能做出来,再说要是后面的需求越改...

2018-07-04 19:45:28 335

翻译 自定义view显示点赞效果

我们可以将这个点赞效果可以分为两个部分:点击部分我们可以通过attrs自定义的属性,拿到图片的Drawable,通过调用drawable.draw(canvas)方法直接画出来。上方显示的动画部分 第二部分最开始我想到的是直接在上方画一个TextView,然后设置属性动画 达到我们的效果,后来思考这种效果最好不增加自身控件的大小,假如在上方直接添加TextView那么必然...

2018-07-04 19:40:59 214

翻译 实现加号的延伸

布局 这里没有引用自定义view 自己引用一下<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" andr...

2018-06-23 09:13:45 352

翻译 Android——断点续传(下载)

DownloadUtilspublic class DownloadUtils { private static final String TAG = "DownloadUtils"; private static volatile DownloadUtils instance; private File file; private String fileP...

2018-06-16 11:29:55 1746

翻译 多线程断点续传

这里下载的斗鱼<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heigh...

2018-06-16 11:22:56 267

翻译 Android自定义View之绘制虚线

布局<R.color.dash_line.DashLineView android:id="@+id/dashLineView" android:layout_width="334dp" android:layout_height="1dp" android:layout_marginLe...

2018-06-15 18:56:32 457

翻译 Android EditText密码显示隐藏和全部属性的介绍

布局文件: <span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/a

2018-06-15 18:49:26 2576

翻译 监听多个edittext内容 改变按钮颜色

WorksSizeCheckUtil//发布作品时候填写尺寸的监听器 static IEditTextChangeListener mChangeListener; public static void setChangeListener(IEditTextChangeListener changeListener) { mChangeListener =...

2018-06-15 18:46:58 455

翻译 android退出activity提示再按一次返回键

@Override public boolean onKeyDown(int keyCode, KeyEvent event)//主要是对这个函数的复写 { // TODO Auto-generated method stub if((keyCode == KeyEvent.KEYCODE_BACK)&&(event.getAction() ==...

2018-06-15 18:43:55 391

翻译 Xbanner轮播

布局<com.stx.xhb.xbanner.XBanner android:id="@+id/xBanner" android:layout_width="match_parent" android:layout_height="@dimen/s145dp" app:AutoPlayTime="2000" ...

2018-06-15 18:41:32 275

翻译 Android主题切换之探究白天和夜间模式

![这里写图片描述](https://img-blog.csdn.net/20180615171606278?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2w2NjY2XzY2NjY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)白天主题<resources>...

2018-06-15 17:16:37 370

翻译 android——本地相机上传头像

添加依赖:compile 'com.facebook.fresco:fresco:0.12.0'compile 'org.greenrobot:eventbus:3.1.1'compile 'io.reactivex.rxjava2:rxjava:2.1.7'compile 'io.reactivex.rxjava2:rxandroid:2.0.1'compile 'com.sq...

2018-06-15 17:08:35 133

翻译 BottomTabBar

<com.hjm.bottomtabbar.BottomTabBar xmlns:hjm="http://schemas.android.com/apk/res-auto" android:id="@+id/bottom_tab_bar" android:layout_width="match_parent" android:l...

2018-06-07 08:13:27 936

原创 百分比适配基础

百分比布局库中提供了两种种布局可以设置百分比: PercentRelativeLayout、PercentFrameLayout, PercentLinearlayout(不常用) 首先记得在build.gradle添加: compile ‘com.android.support:percent:22.2.0app:layout_heightPercent app:layout...

2018-06-06 20:21:43 349

原创 静态广播与动态广播

1.在AndroidManifest.xml的标签里加入<!--//注册--> <receiver android:name=".Receiver"> <intent-filter> <act

2018-06-06 10:59:53 1286

翻译 横竖屏解决办法

Activity横竖屏切换的时候会重新onCreate,如果不想重装载,需要以下设置: 在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入 android:screenOrientation=”landscape” 属性,然后不管怎么切换都只是一样的屏幕。 参数说明: landscape = 横向 portrait = 纵向避免在转屏时重启Act...

2018-06-05 19:34:26 177

原创 自定义仿网易云音乐播放界面

清单文件添加 <service android:name="com.rookie.shiyue20180528.model.MusicService" android:enabled="true" android:exported="false" />style.xml...

2018-05-31 20:29:42 524

翻译 GreenDao添加历史记录

package com.example.imitatejingdong.view;import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.database.sqlite.SQLiteDatabase; i...

2018-05-29 16:59:16 224

原创 高德地图 带定位

//首先去高德注册一个自己key值http://lbs.amap.com/2.进入控制台,创建新应用,点击添加新的key ①找到安装Java的路径比如我的是 ②打开运行先转到你的keytool文件夹路径下,然后回车。再运行它(输入keytool.exe 快捷键是Tab建和Linux一样),然后在后边输入命令 -list -keystore 输上后后边跟的就是你的debu...

2018-05-23 21:12:30 593

翻译 greenDao数据库进行增删改查

//首先需要添加依赖buildscript { repositories { mavenCentral() } dependencies { classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1' } } apply p...

2018-05-22 08:39:29 3469

翻译 Android 使用MD5密码加密

在工程目录下先创建一个MD5类可以直接复制以下代码 //此处导入你的包名import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;public class MD5Utils {public static String md5Password(String password)...

2018-05-03 09:29:01 279

翻译 添加拦截器和请求头

添加日志拦截器 OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder(); //DEBUG模式下 添加日志拦截器 if(BuildConfig.DEBUG){ HttpLoggingInterceptor interceptor = new HttpL...

2018-04-28 16:49:45 2171

翻译 在editText内禁止打回车

在Layout文件中,对EditText的设置如下:加上属性:android:imeOptions=""这个属性的可输入的值如图所示;举几个例子分别代表的含义:actionSearch: 搜索actionSend:  发送actionNext:   下一项同样,也可在activity代码中设置imeOptions://在主界面进行监听事件editText.setImeOptions(EditorI...

2018-04-27 16:46:55 492

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除