自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 插值器的种类有哪些|怎么自定义插值器

1、插值器(Interpolator)决定值的变化模式2、默认种类有AccelerateDecelerateInterpolator :在动画开始与结束的地方速率改变比较慢,在中间的时候加速AccelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始速率变化加快LinearInterpolator:以常量速率改变AnticipateInterpolator:开始...

2019-11-01 21:41:42 313

原创 XRecyclerView博客

在项目的builde下添加以下依赖:dependencies {classpath ‘com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0’classpath ‘com.github.dcendents:android-maven-gradle-plugin:1.4.1’}使用:xRecyclerView.setPullRefreshEn...

2019-10-28 21:01:56 134

原创 图片的处理

图片的处理主要用两种方式。我们的应用中有两处用到了图片,一个是 ListView 中展示的图片缩略图,这种情况的特点是数量大,但是单个图片内存小,只有几 kb,另外一种是大图片, 就是用户通过手机拍摄的图片,然后通过 http 的 post 提交的方式提交到服务器上。然后在客户端将这个大图片也展示出来。对于第一种情形,我们是通过三种技术手段来解决问题的,一是图片的缓存策略, 二是 ListView...

2019-10-25 21:08:21 204

原创 JAVA中强引用、软引用、虚引用

强引用:在我们平时编程中,用的最多的其实就是强引用,比如User user = new User(),则这个user就是一个强引用,如果一个对象具有强引用,那Java虚拟机宁愿抛出out of memory也不会对这个对象进行回收。软引用:如果一个对象只具有软引用,如果java虚拟机内存空间足够,垃圾回收器就不会回收它,但当内存空间不足时,就会回收这些对象的内存。只要垃圾回收器没有回收它,该...

2019-10-21 21:07:57 150

原创 Android选项卡TabHost功能和用法

选项卡TabHost介绍TabHost可以方便地在窗口上放置多个标签页,每个标签页相当于获得了一个与外部容器大小相同的组件摆放区域TabHost是一个简单的容器,提供如下两种方法来创建选项卡newTabSpec(String tag):创建选项卡addTab(TabHost.TabSpec tabSpec):添加选项卡使用TabHost有三种方法方法1,继承TabActivity主布...

2019-10-17 21:07:33 223

原创 安卓Textview

Android TextView 相关2018.03.19 06:09:07字数 1691阅读 681概述Android 自定义View过程中,绘制文字主要有如下手段:通过Canvas的drawText的相关Api:public void drawText(@NonNull char[] text, int index, int count, float x, float y,@N...

2019-10-16 20:54:32 235

原创 安装Cygwin

安装Cygwin在windows下安装 ffmpeg 的最好方式就是使用Cygwin。 Cygwin是什么呢?简单的说,就是在 Windows上装了一个Linux模拟器。然后你可以在这个模拟器上按照Linux的方式操作 Windows系统。因此,Windows安装了Cygwin之后,你就把它当Linux用就可以了。既然在Windows上装Cygwin之后,可以像Linux一样操作,那当然编译ff...

2019-10-10 20:51:56 295

原创 作业DAY8

**Android开发中何时使用多进程?使用多进程的好处是什么? **要想知道如何使用多进程,先要知道Android里的多进程概念。一般情况下,一个应用程序就是一个进程,这个进程名称就是应用程序包名。我们知道进程是系统分配资源和调度的基本单位,所以每个进程都有自己独立的资源和内存空间,别的进程是不能任意访问其他进程的内存和资源的。那如何让自己的应用拥有多个进程?很简单,我们的四大组件在And...

2019-09-29 19:45:23 150

原创 作业DAY7

**Android中touch事件的传递机制是怎样的? **1.Touch事件传递的相关API有dispatchTouchEvent、onTouchEvent、onInterceptTouchEvent2.Touch事件相关的类有View、ViewGroup、Activity3.Touch事件会被封装成MotionEvent对象,该对象封装了手势按下、移动、松开等动作4.Touch事件通常...

2019-09-29 19:44:40 224

原创 作业DAY6

**Android中进程间通信有哪些实现方式? **Intent,Binder(AIDL),Messenger,BroadcastReceiver**介绍下实现一个自定义view的基本流程 **1、自定义View的属性 编写attr.xml文件2、在layout布局文件中引用,同时引用命名空间3、在View的构造方法中获得我们自定义的属性 ,在自定义控件中进行读取(构造方法拿到attr....

2019-09-29 19:43:54 122

原创 作业DAY5

**请介绍下AsyncTask的内部实现,适用的场景是? **AsyncTask内部也是Handler机制来完成的,只不过Android提供了执行框架来提供线程池来执行相应地任务,因为线程池的大小问题,所以AsyncTask只应该用来执行耗时时间较短的任务,比如HTTP请求,大规模的下载和数据库的更改不适用于AsyncTask,因为会导致线程池堵塞,没有线程来执行其他的任务,导致的情形是会发生A...

2019-09-29 19:42:52 175

原创 作业DAY4

**谈谈你对Android中Context的理解? **Context:包含上下文信息(外部值) 的一个参数. Android 中的 Context 分三种,Application Context ,Activity Context ,Service Context.它描述的是一个应用程序环境的信息,通过它我们可以获取应用程序的资源和类,也包括一些应用级别操作,例如:启动一个Activity,...

2019-09-29 19:41:57 132

原创 作业DAY3

**设备横竖屏切换的时候,接下来会发生什么? **1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次2、设置Activity的android:configChanges=”orientation”时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次3、设置Activity的android:con...

2019-09-29 19:41:13 159

原创 作业DAY2

**如何缩减APK包大小? **代码保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs,移除使用不到的libs。使用proguard混淆代码,它会对不用的代码做优化,并且混淆后也能够减少安装包的大小。native code的部分,大多数情况下只需要支持armabi与x86的架构即可。如果非必须,可以考虑拿掉x86的部分。资源使用Lint工具查找没有使用到的资源。去除不使用的图...

2019-09-29 19:40:26 141

原创 作业DAY1

1.要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的?①Item布局,层级越少越好,使用hierarchyview工具查看优化。②复用convertView③使用ViewHolder 减少find view by id④item中有图片时,异步加载 Picasso⑤快速滑动时,不加载图片⑥item中有图片时,应对图片进行适当压缩 Picasso⑦实现数据的分页加载...

2019-09-29 19:34:13 125

原创 Android Studio中使用SVN

安装1.svn下载:https://tortoisesvn.net/downloads.html2.svn安装: 需注意,需安装 command line功能。3.svn安卓过后,需要重新启动电脑,右键才会显示svn菜单。AndroidStudio 上SVN的使用1.打开Android Studio–>File–>Setting–>Version Control–&gt...

2019-09-27 19:36:26 335

原创 Android(Git)

Git使用教程之本地仓库的基本操作一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统。Git可以方便的在本地进行版本管理。Git每次会提取整个代码仓库的完整镜像,相当于对整个代码仓库都进行了一次备份。分支管理git branch -agit checkout v1.0.3创建版本库git clone 克隆远程版本库git init 初始化本地版本库本地仓库与远...

2019-08-06 22:17:05 330

原创 Android Butterknife

ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。是大神JakeWharton的力作,目前使用很广。最重要的一点,使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class。项目集成起来...

2019-08-02 20:16:25 134

原创 安卓中Rxjava

RxJava异步*RxJava 在 GitHub 主页上的自我介绍是 “a library for composing asynchronous and event-based programs using observable sequences for the Java VM”(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)。这就是 RxJava ,概括得非常精...

2019-07-19 21:23:53 283

原创 MVP、MVC

MVP:MVP 1.代码简洁 2.降低耦合,方便维护.MVP优点分为Model、Presenter、View。缺点是Contract:MVP在实现代码简洁的同时,额外增加了大量的接口、类,不方便进行管理,于是Contract就登场了。public class DataModel { List<String> data = new ArrayList<>()...

2019-07-18 21:28:51 124

原创 Kotlin基础

8个基本数据类型var age: Int = 12var price: Double = 45.0var distance: Float = 1fvar flag: Boolean = truevar chhh: Char = '1'var log: Long = 1000var byt: Byte = 10var shortl: Short = 45字符串数组 INT数组...

2019-07-05 21:42:00 176

原创 安卓studio高德地图步骤

显示地图第一步:先配置 AndroidManifest.xml 文件> XML <meta-data android:name="com.amap.api.v2.apikey" > android:value="您的Key"/>第二步:在AndroidManifest.xml中配置权限:XML //地图包、搜索包需要的基础权限```xml ...

2019-05-17 21:21:53 549

空空如也

空空如也

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

TA关注的人

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