Android
文章平均质量分 76
浚源
学习总结之余,望有助于他人
展开
-
Android JNI开发入门
又很久没写博文了,懒癌晚期,没得救了。这次要分享的又是全干货,想往底层方向发展的筒靴避不开药学习JNI开发,今天就从搭建环境到完成第一个demo开始带大家入门(其实我也才刚开始学JNI开发,有不对之处欢迎大家指正)。环境搭建(1)下载NDK、CMake等打开Android studio的设置,然后搜索SDK,选择Android SDK选择上图中勾选的进行下载,然后应用(2)配置环境变量我这边是Mac系统,所以在.bash_profile文件内...原创 2021-09-27 14:50:15 · 169 阅读 · 0 评论 -
ViewBinding使用进阶
ViewBinding基础使用,即在模块得build.gradle配置后自动为布局绑定视图,在《告别findViewById和ButterKnife》中已阐述,那下面的进阶使用可能有些小伙伴还不清楚,那这篇文章我们就扒一扒ViewBinding的进阶使用。 布局中使用include 布局中使用merge Fragment中使用ViewBinding 自定义View使用ViewBinding 布局中使用include新建布局layout_include..原创 2020-07-10 11:55:47 · 4484 阅读 · 2 评论 -
Android viewBinding让你告别findViewById和ButterKnife
很久没有更新博客了,不是因为别的,就是懒。今天要分享的一个新技术,从此告别定义一大串的UI控件变量,再也不用写findViewById,也不需要依赖ButterKnife和写一堆@BindView().听说这一消息,不知道大家有没有觉得很爽,反正我是觉得很香。那么下面就开始介绍一下viewBind。一、使用viewBinding 1.首先在你想要使用viewBin...原创 2020-04-24 16:21:39 · 1365 阅读 · 0 评论 -
Android Handler消息处理机制面试5连问
Handler消息处理机制,相信做Android的同学都知道,我们来看下面一段代码:import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android....原创 2020-03-11 11:52:43 · 288 阅读 · 0 评论 -
Android 一文弄懂如何加载xml格式数据
引言 在大多数情况下,我们请求返回的数据基本是json或者是字符串格式,但是也有响应数据是xml格式的,比如配置信息等,那么这种情况下我们又该如何处理,把返回数据自动转化为我们定义的实体类呢?gradle依赖implementation ('com.squareup.retrofit2:converter-simplexml:2.1.0'){ exclud...原创 2019-10-24 14:48:39 · 673 阅读 · 0 评论 -
Android 网络框架(三)LiveData+Retrofit封装与原理剖析
前言 Retrofit算是目前最流行的网络框架了,而用的比较多的组合方式是Rxjava+Retrofit,因为RxJava很好的实现了异步通信、UI线程和子线程之间的切换,但是RxJava+Retrofit这一组合有一个缺点,那就是容易造成内存泄漏,因为不能感知UI的生命周期,当然通过加入RxLifeCycle也能解决这一问题。我们今天要说的不是RxLifeCycle,主角是Liv...原创 2019-10-21 11:11:00 · 1789 阅读 · 4 评论 -
Android 控件右上角角标的实现方案
很多项目中都会用到控件的角标,以达到提示作用,如未读信息,剩余量等等,那么如何实现呢?这篇文章将三种方式进行实现,大家按需选择。一、setCompoundDrawblestextView = findViewById(R.id.message_tint);Drawable drawable = getDrawable(R.drawable.red_bubble_bg);...原创 2019-10-12 17:18:13 · 6186 阅读 · 2 评论 -
Android 网络框架(二)之Retrofit+RxJava网络框架封装
这篇文章主要阐述在实际开发中如何封装我们自己的网络通信框架,网络框架需提供请求日志、失败重试、异步请求等功能,如果你想了解这些,那看这篇文章就对了。如果你对Retrofit的使用还不了解,那你可以看之前一片文章:android 网络框架(一)之Retrofit使用详解。废话不多说,下面我们进入正题。一、引入SDK//rxjavaapi 'io.reactivex.rxj...原创 2019-08-27 11:30:19 · 505 阅读 · 0 评论 -
android 网络框架(一)之Retrofit使用详解
.一、前言Retrofit 是一个 RESTful 的 HTTP 网络请求框架的封装,底层是OKHttp,可以处理GET、POST、PUT、DELETE等请求,还可以使用Picasso加载图片。二、注解1.网络请求方法@POST、@GET、@PUT、@DELETE全都是http中网络请求方式,@HTTP可以替换@POST、@GET、@PUT、@DELETE注解及更多功...原创 2019-07-28 15:48:22 · 560 阅读 · 0 评论 -
Android 使用Vector XML文件创建矢量图片资源
转载请注明出处:http://blog.csdn.net/klxh2009/article/details/51121034 本文出自【付小华的博客】Vector:矢量的意思我们知道,在安卓开发过程中,经常使用到png格式的图片资源,这种图片需要有不同分辨率来做屏幕适配,当图片数量很大时,被打包的图片资源占据了app的绝大部分容量,使用Vector来创建图片,将大大减少png图片的转载 2017-05-10 14:25:12 · 906 阅读 · 0 评论 -
Android应用的欢迎界面动画实现
一、动画基础知识 1、动画种类: Android动画有四大类,分别是AlphaAnimation、ScaleAnimation、TranslateAnimation和RotateAnimation,功能对照如下:AlphaAnimation渐变透明动画效果ScaleAnimation渐变缩放动画效果TranslateAnim原创 2017-03-21 19:28:08 · 3474 阅读 · 0 评论 -
说一说ListView的那些坑
在写这篇博客之前被这个问题折腾了一两天,怎么都弄不好。一开始也看了几篇ListView显示错乱的文章,在此把写得比较好几篇连接分享至此:http://blog.csdn.net/s003603u/article/details/47261393;http://blog.csdn.net/huanongjingchao/article/details/42918869。然后分享一下我的辛路历程。...原创 2016-12-20 15:43:15 · 1374 阅读 · 0 评论 -
自定义标题栏之ActionBar与“沉浸式”标题栏
标题栏对于用户导航能起到很重要的作用,也能提高用户体验,所以很多情况下,我们应用都会标题栏,但系统默认的标题栏很丑,我们应用开发一般都不会用系统默认的标题栏,都会自定义自己风格的标题栏。标题栏一般有两种形式:一是利用actionbar,一种是直接利用布局来实现(当然利用布局来实现需要用到辅助手段)。一、自定义actionbar实现标题栏<LinearLayout xmlns:androi原创 2016-12-15 15:12:31 · 2238 阅读 · 2 评论 -
Android开发之通话记录
本文主要实现类似iPhone通话记录效果,即相邻通话如果通话号码相同、通话类型(呼入、呼出、未接)相同、间隔时间(某一阈值范围内),则将其归为一条记录,否则,将其分别显示。首先获取通话记录必须添加一下权限: <uses-permission android:name="android.permission.READ_CALL_LOG" /> <uses-...原创 2016-12-05 19:09:18 · 3373 阅读 · 5 评论 -
Android6.0 Telephony Frameworks之数据业务建立流程
数据业务(数据网络,即SIM卡上网)的建立需满足两个条件:1.选择并激活合适的APN;2.PS域已处于Attached状态。默认状态下,手机开机后就会发起PS附着的信令给网络。而所有数据网络的请求(打开关闭数据开关、切换数据卡、修改APN等)都必须经过DcTacker.java处理,其是Telephony框架中负责数据业务的核心。一、数据业务建立之准备知识1. DcTracker...原创 2016-12-01 16:43:00 · 2942 阅读 · 0 评论 -
Android开发之软键盘的弹出与退出
关于软键盘的弹出与退出,本文将分一下几种情况做出相应讲解:首先定义一个软键盘管理器:InputMethodManager inputManager;1.如果想让Activity已开始运行时不弹出软键盘,可在AndroidManifest.xml文件中做如下设置:android:windowSoftInputMode="adjustPan|stateHidden"原创 2016-11-30 19:24:52 · 811 阅读 · 0 评论