- 博客(14)
- 收藏
- 关注

原创 Android自定义View|温故而知新
theme: channing-cyan1.什么是自定义View?1. 定义在Android系统中,看到的应用界面都是View,界面也就是由一个个View组成的,AndroidSdk中为开发者提供了形形色色的View,比如:显示文字的TextView,显示图片的ImageView,显示列表数据的ListView等等.但是在开发想实现一个折线统计图,这时候系统将不会在满足需求,需要开发者去通过自定义view来实现.2. 如何实现自定义 View 就是通过继承 View 或者 View 的子类.
2021-10-28 16:51:56
1343
原创 Kotlin|第一个协程
第一个协程程序本质上,协程是轻量级的线程。 它们在某些 [CoroutineScope] 协程构建器 一起启动。 这里我们在 [GlobalScope]中启动了一个新的协程,这意味着新协程的生命周期只受整个应用程序的生命周期限制var globalScopeFun = GlobalScope.launch( context = Dispatchers.IO) { delay(3000) Log.i("coroutines","GlobalSco
2021-08-27 11:04:08
197
原创 Jetpack系列之Room数据库|让你秒懂熟练掌握Room
Room介绍Room是一个OM(Object Mapping对象映射)数据库,可以方便地在Android应用程序上访问数据库。Room抽象了SQLite,通过提供方便的api来查询数据库,并在编译时验证。并且可以使用SQLite的全部功能,同时拥有Java SQL查询生成器提供的类型安全。Room的构成Database:数据库扩展了RoomDatabase的抽象类。可以通过Room获得它的一个实例。databaseBuilder或Room.inMemoryDatabaseBuilder。
2021-07-29 15:34:07
753
原创 Android进阶JNI开发(二)
前言:上一篇博客我们讲到了Android studio 开发jni的基本配置,这一篇博客我们主要讲java和c++之间通过jni是如何交互的.我们先创建两个方法,一个是java调用c++,一个是c++调用java的方法 java调用的c++方法需要使用"native"进行修饰,表示是一个本地方法,不需要进行实现.我们要c++中创建一个与java一样的方法根据上图的标记的顺序进行讲解:1.include 可以理解成java中的import2."JNIEXPORT" 同j
2020-06-23 15:44:38
260
原创 Android进阶jni开发
一:环境配置 Android 开发环境 和Ndk版本 二: 创建项目 1.创建Android项目,创建本地引用工具类public class JniUtils { static { System.loadLibrary("jnidemo-jni"); } public static native String getStringFromNative(); public static native i...
2020-06-19 16:44:52
323
原创 Android 文件分片/断点上传原理解析
分片上传功能支持将一个文件切割为一系列特定大小的小数据片,分别将这些小数据片分别上传到服务端,全部上传完后再在服务端将这些小数据片合并成为一个资源。
2020-03-25 23:41:21
1306
原创 Android https请求证书处理
前言在Android项目开发过程中,我们目前常用到的网络框架基本都是基于Okhttp,Https协议在APP的开发中也被应用的越来越多,Okhttp默认是支持https请求的,但是支持的Https网站必须是CA机构认证了的,对于自签名的网址,还是不能访问的,访问直接抛出如下异常信息:onFailure: java.security.cert.CertPathValidatorException...
2020-03-25 20:58:41
1699
原创 Android Studio 开发调试小技巧
**无线adb**在开发Android应用时,通常情况下是通过USB数据线连接设备和计算机,但对于一些需要使用USB设备的应用,这种方法就碰到了麻烦,手机的USB接口已经和外接的USB设备连接,无法再连数据线,此时可以通过网络TCPIP的方法来进行。也就是然ADB 通过网络来连接设备,而无需USB数据线使用USB数据线连接设备在命令行输入adb tcpip 5555 ( 5555...
2020-03-25 20:03:19
584
原创 Android中的事件冲突ScrollView嵌套ListView-----带你轻松入门
在垒代码时总会遇到控件嵌套控件的这种问题,同时也会遇到一些冲突,其中最经典的就是ScrollView嵌套ListView,虽然网上也是提供了大量的解决方案,这些方案在给自己解决问题的同时也带来了宝贵的思路.废话不多说先给大家来一张图让大家看一下.这是自己写的一个Demo是有时间冲突的样子趁着看图的时间大家先思考一个问题问:ScrollView嵌套ListView为什么会产生冲突...
2018-09-19 18:02:50
905
原创 Okhttp+Retrofit+Rxjava+Rxlive 一款方便使用的网络框架封装
//和上一次的对比主要更新了文件上传 并且保存了第一次上传文件的方法public class OkHttp3Utils { private static OkHttpClient okHttpClient = null; public OkHttp3Utils() { } //通过单例模式获取实例 public static OkHttpClient getIn
2017-10-25 19:55:10
426
原创 将图片的BitMap类转化为File文件
//在这里抽取了一个方法 可以封装到自己的工具类中...public File getFile(Bitmap bitmap) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 50, baos);
2017-10-15 18:29:56
10773
原创 OkHttp3二次封装和拦截器
Okhttp3依赖包//前两个是Okhttp3依赖compile 'com.squareup.okio:okio:1.5.0' //不写不加载数据compile 'com.squareup.okhttp3:okhttp:3.2.0'//拦截器依赖compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'以下为代码二次封装采用的是单
2017-09-21 19:49:37
819
原创 RecyclerView分割线
RecyclerView因没有自带分割线所以需要我们自定义分割线,在这里提供了一个简单的实现分割线的方法代码如下:public class ItemDecoration extends RecyclerView.ItemDecoration{ private int mydevider; private Paint dividerPaint; public ItemDecor
2017-09-18 13:42:53
494
原创 逐帧动画和补间动画的区别于各自的优缺点
帧动画: 逐帧动画是在时间帧上逐帧绘制帧内容,由于是一帧一帧的画,所以逐帧动画具有非常大的灵活性,几乎可以表现任何想表现的内容。由于逐帧动画的帧序列内容不一样,不仅增加制作负担而且最终输出的文件量也很大,但它的优势也很明显:因为它相似与电影播放模式,很适合于表演很细腻的动画,如3D效果、人物或动物急剧转身等等效果。 (总结) 优点:有非常大的灵活性,表现任何想表现的内容,合于表演很细腻的动画
2017-08-31 09:18:26
14201
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人