自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android性能优化

布局优化参考资料:Android 性能优化最佳实践那些 Android 程序员必会的视图优化策略你的 APP 为何启动那么慢?

2019-04-18 16:33:37 326

原创 Android Architecture Components

Android Architecture Components是谷歌在Google I/O 2017发布的一套帮助开发者解决安卓架构设计的方案。里面包含两大块内容:生命周期相关的Lifecycle-aware Components数据库解决方案RoomLifeCycleLifeCycle可以让开发者构建能够感知其他组件(主要指Activity、Fragment)生命周期的类。LifeC...

2019-04-08 13:50:53 177

原创 Android开发之注解

注解基础注解的作用:降低项目的耦合度。自动完成一些规律性的代码。自动生成java代码,减轻开发者的工作。元注解元注解描述@Retention注解保留的生命周期。可选的RetentionPolicy参数包括:SOURCE:只在源码中有效,编译时抛弃 CLASS:编译class文件时生效RUNTIME:运行时生效@Target注解对象的作用范围。可选的El...

2019-03-29 15:20:06 209

原创 Android开发之Glide4

在项目中配置Glide4要想在项目中使用Glide4,需要先将这个库引入到我们的项目中,依赖方式如下: implementation 'com.github.bumptech.glide:glide:4.4.0'另外,Glide中需要使用网络权限,因此需要在清单文件中声明网络权限才行。Glide4的使用配置完成后,我们就可以使用Glide中的任意功能了。加载图片Glide4加载图片...

2019-03-22 09:01:31 768

原创 Android开发之RxJava 2.x

RxJava是什么RxJava是一个实现异步操作的库,它可以通过链式调用使代码逻辑变得清晰简洁。它的github地址为:https://github.com/ReactiveX/RxJavahttps://github.com/ReactiveX/RxAndroid在项目中可以通过以下方式引入依赖:compile 'io.reactivex.rxjava2:rxjava:2.2.0'...

2019-03-20 21:24:24 255

原创 Android开发之Retrofit/OkHttp使用

Okhttp的使用

2019-03-12 15:09:07 246

原创 Android资源Resources

Android xml资源文件中@、@android:type、@*、?、@+含义和区别@代表引用资源引用自定义资源(android:text="@string/hello")引用系统资源(android:textColor="@android:color/opaque_red")@*代表引用系统非public资源系统资源定义分为public和非public。public声明在:&...

2019-03-04 17:13:20 249

原创 Android异步线程池

线程是操作系统调度的最小单元,同时线程又是一种受限的资源,即线程不可能无限制的产生,并且线程的创建和销毁都会有相应的开销。线程不可能做到绝对的并行,除非线程数量小于等于CPU的核心数,一般来说这是不可能的。通过线程池可以避免因为频繁创建和销毁线程所带来的系统开销。Thread/Runnable/Callable一般实现线程的方式有两种,继承Thread或实现Runnable。我们调用Threa...

2019-03-02 10:03:30 832

原创 Android消息机制之Handler

Handler的使用

2019-02-22 16:54:48 156

原创 Android SQLite

在日常项目开发中,我们不可避免的会使用到数据库。Android中自带SQLite数据库是我们在开发中必须知道和了解的,那么如何更好的使用SQLite数据库就是我们需要学习的内容了。首先,需要创建一个类集成SQLiteOpenHelper,并重写onCreate()与onUpdate()方法。public class DBHelper extends SQLiteOpenHelper { ...

2019-02-14 17:06:51 114

原创 Java文件流与Java序列化相关知识

流的分类按照流向分为输入流与输出流。按照传输单位分为字符流与字节流。按照功能分为节点流(低级流)和过滤流(高级流)。下图为Java文件流按照传输单位的分类图:其中BufferedInputStream是带缓冲区的输入流,默认缓冲区大小为8M,可以提高文件读取的性能;BufferedOutputStream是带缓冲区的输出流,能够提高文件的写入效率。BufferedInputStre...

2019-02-12 16:42:42 768

原创 Android开发之图片加载

图片文件在不同文件夹下的差异将同一张图片放在不同分辨率的文件夹下会有什么差异呢?首先我们要先来了解一下手机屏幕密度的概念。手机屏幕密度可通过如下代码获取: float xdpi = getResources().getDisplayMetrics().xdpi; float ydpi = getResources().getDisplayMetrics().ydpi;其...

2019-02-01 11:13:47 517

原创 Android开发之网络

HttpHttp报文http报文分为请求报文和响应报文,格式大同小异。主要分为三部分:起始行,首部和主题。请求报文格式:<method><request-url><version><headers><entity-

2019-01-24 14:21:44 145

原创 Android手势

手势检测(GestureDetector)使用创建GestureDetector实例。在onTouchEvent方法中,确保调用GestureDetector实例的onTouchEvent方法,回调中定义的方法将在事件发生时执行。如果监听onContextClick,则必须在View的onGenericMotionEvent方法中调用GestureDetector的onGenericMo...

2019-01-03 15:18:04 133

原创 Android动画

View动画View动画的对象是View,它支持四种动画:TranslateAnimation、ScaleAnimation、AlphaAnimation、RotateAnimation。使用方式如下所示:<?xml version="1.0" encoding="utf-8&amp

2019-01-02 16:54:24 122

原创 Android自定义View

自定义View的原因当Android系统内置的View无法实现我们的需求,我们需要针对我们的业务需求定制我们想要的View。自定义View的分类继承View这种方法主要用于实现一些不规则的效果,采用这种方法需要自己支持wrap_content,并且padding也需要自己处理。这种方法通常需要重写两个方法:onMeasure()、onDraw()。onMeasure()方法onMeas...

2018-12-11 17:20:24 166

原创 Android常用布局介绍

线性布局LinearLayout是一种非常常用的布局,它所包含的控件会在线性方向上依次排列。线性布局控件的排列方向分为水平和竖直两个方向,通过android:orientation属性指定,当属性值为horizontal时,控件水平排列,当属性值为vertical时,控件竖直排列。LinearLayout内的控件具有一个非常重要的属性android:layout_weight权重属性,通过这个权...

2018-12-07 16:17:14 223

原创 Android四大组件

ActivityActivity作为四大组件中使用最频繁的组件,我们在使用的过程中应该要知道它的生命周期和启动模式。生命周期典型情况下的生命周期Activity生命周期如下图所示(图片摘自《Android开发艺术探索》):onCreate():onCreate()作为Activity七大生命周期里的第一个生命周期表示Activity的创建,在这个生命周期中,一般进行一些数据和对象初始...

2018-12-07 11:06:23 223

空空如也

空空如也

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

TA关注的人

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