Welcome 微信登录

首页 / 移动开发 / Android

Android夜间模式最佳实践

Android夜间模式最佳实践

由于Android的设置中并没有夜间模式的选项,对于喜欢睡前玩手机的用户,只能简单的调节手机屏幕亮度来改善体验。目前越来越多的应用开始把夜间模式加到自家应用中,没准不久google也会把这项功能添加到Android系统中吧。业内关于夜间模式的实现,有两种主流方案,各有其利弊,我较为推崇第三种方案:1、通过切换theme来实现夜间模式。2、通过资源id映射的方式来实现夜间模式。3、通过修改uiMode来切换夜间模式。值得一提的是,上面提到的几种方案,都是资源...
Android模糊处理简单实现毛玻璃效果

Android模糊处理简单实现毛玻璃效果

自从iOS系统引入了Blur效果,也就是所谓的毛玻璃、模糊化效果、磨砂效果,各大系统就开始竞相模仿,这是怎样的一个效果呢,我们先来看一下,如下面的图片:实现效果大家都知道了,如何在Android中实现呢,说白了就是对图片进行模糊化处理,小编先给大家讲一下Android高级模糊技术的原理,如下:首先我创建了一个空的bitmap,把背景的一部分复制进去,之后我会对这个bitmap进行模糊处理并设置为TextView的背景。通过这个bitmap保存Canvas的...
Android的HTTP类库Volley入门学习教程

Android的HTTP类库Volley入门学习教程

1. 什么是Volley我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。不过HttpURLConnection和HttpClient的用法还是稍微有些复杂的,如果不进行适当封装的话,很容易就会写出不...
从源码分析Android的Volley库的工作流程

从源码分析Android的Volley库的工作流程

Volley现在已经被官方放到AOSP里面,已经逐步成为Android官方推荐的网络框架。类抽象对Http协议的抽象Requeset顾名思义,对请求的封装,实现了Comparable接口,因为在Volley中是可以指定请求的优先级的,实现Comparable是为了在Request任务队列中进行排序,优先级高的Request会被优先调度执行。NetworkResponseHttp响应的封装,其中包括返回的状态码 头部 数据等。Response给调用者返回的结...
Android app开发中Retrofit框架的初步上手使用

Android app开发中Retrofit框架的初步上手使用

Retrofit 2.0先来说一下Retrofit 2.0版本中一些引人注意的地方。在Retrofit 2.0中,最大的改动莫过于减小库的体积,首先,Retrofit 2.0去掉了对所有的HTTP客户端的兼容,而钟情于OkHttpClient一个,极大地减少了各种适配代码,原因一会儿说;其次,拆库,比如将对RxJava的支持设置为可选(需要额外引入库);再比如将各个序列化反序列化转换器支持设置为可选(需要额外引入库)。于2.0抛弃HttpClient和Ht...
Android线程的优先级设置方法技巧

Android线程的优先级设置方法技巧

对于Android平台上的线程优先级设置来说可以处理很多并发线程的阻塞问题,比如很多无关紧要的线程会占用大量的CPU时间,虽然通过了MultiThread来解决慢速I/O但是合理分配优先级对于并发编程来说十分重要。Android在线程方面主要使用的是Java本身的Thread类,我们可以在Thread或Runnable接口中的run方法首句加入Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGRO...
简略分析Android的Retrofit应用开发框架源码

简略分析Android的Retrofit应用开发框架源码

面对一个项目,对于Android应用开发框架的选择,我想过三种方案:1.使用Loader + HttpClient + GreenDao + Gson + Fragment,优点是可定制性强,由于使用Google家自己的Loader和LoaderManager,代码健壮性强。缺点是整套代码学习成本较高,使用过程中样板代码较多,(比如每一个Request都需要产生一个新类)2.Volley,作为Google在IO大会上得瑟过的一个网络库,其实不算什么新东西(...
举例讲解Android应用开发中OTTO框架的基本使用

举例讲解Android应用开发中OTTO框架的基本使用

OTTO是一个EventBus类型的事件传输总线,它可以提供“存储转发”的功能,让你APP中各个组件的交流更加便利,让你的程序分层更加清晰。使用场景OTTO基于Observer设计模式。它有发布者,订阅者这两个主要对象。OTTO的最佳实践就是通过反射牺牲了微小的性能,同时极大的提高了程序的耦合度,更加利于MVP分工开发与维护。业务层开发者在处理资源(比如Db, REST等)后并发布消息,展示层开发者(比如Activity/Fragment)就可以处理消息,...
Android程序开发之防止密码输入错误 密码明文显示功能

Android程序开发之防止密码输入错误 密码明文显示功能

在使用App的时候,首次登录都需要用户输入密码的,有些朋友为了安全起见密码设置的比较长,导致很多次密码都输入错误,严重影响了用户体验效果。这一点移动开发者做好了准备工作,因为手机的私密性比较强,在输入密码的时候,可以显示输入,增强准确性,提升用户体验度。这当然要付出代价的,需要额外的代码编写功能。下面通过本文给大家介绍如何编写密码明文显示的功能,仅供参考。本文源码的GitHub下载地址要点(1) 重写EditText, 添加提示密码显示和隐藏的图片. (2...
解析Java的迭代器中的fast-fail错误检测机制

解析Java的迭代器中的fast-fail错误检测机制

fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛出ConcurrentModificationException异常,产生fail-fast事件。fail-fast 机制是java集合(Collection)中的一种错误机制。当...
Android编程实现应用自动更新、下载、安装的方法

Android编程实现应用自动更新、下载、安装的方法

本文实例讲述了Android编程实现应用自动更新、下载、安装的方法。分享给大家供大家参考,具体如下:我们看到很多Android应用都具有自动更新功能,用户一键就可以完成软件的升级更新。得益于Android系统的软件包管理和安装机制,这一功能实现起来相当简单,下面我们就来实践一下。1. 准备知识在AndroidManifest.xml里定义了每个Android apk的版本标识:<manifest xmlns:android="http://schem...
Android操作SQLite数据库(增、删、改、查、分页等)及ListView显示数据的方法详解

Android操作SQLite数据库(增、删、改、查、分页等)及ListView显示数据的方法详解

本文实例讲述了Android操作SQLite数据库(增、删、改、查、分页等)及ListView显示数据的方法。分享给大家供大家参考,具体如下:由于刚接触android开发,故此想把学到的基础知识记录一下,以备查询,故此写的比较啰嗦:步骤如下:一、介绍:此文主要是介绍怎么使用android自带的数据库SQLite,以及把后台的数据用ListView控件显示二、新建一个android工程——DBSQLiteOperate工程目录:三、清单列表AndroidMa...
Android TextView字体颜色设置方法小结

Android TextView字体颜色设置方法小结

本文实例总结了Android TextView字体颜色设置方法。分享给大家供大家参考,具体如下:对于setTextView(int a)这里的a是传进去颜色的值。例如,红色0xff0000是指0xff0000如何直接传入R.color.red是没有办法设置颜色的,只有通过文章中的第三种方法先拿到资源的颜色值再传进去。tv.setTextColor(this.getResources().getColor(R.color.red));关键字: android...
<< 461 462 463 464 465 466 467 468 469 470 >>