![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android-Java
文章平均质量分 82
用于记录Android的学习及一些积累
摇耳朵的小布丁i
这个作者很懒,什么都没留下…
展开
-
Android-时区时间戳转换及遇到的坑
Calendar原创 2022-07-13 14:39:17 · 2135 阅读 · 1 评论 -
Android-build.gradle动态版本号
build.gradle动态修改versionName原创 2022-06-14 16:20:41 · 916 阅读 · 0 评论 -
Android Studio常见问题 -- AndroidManifest.xml 覆盖问题
一.报错信息二.原因清单文件可以不加app:name,如果要添加使用替换,在清单文件合并时就不会冲突三.解决方案在app的清单文件中就可以解决了原创 2020-04-17 11:12:24 · 638 阅读 · 0 评论 -
PullToRefreshListView长按删除
PullToRefreshListView可以实现上拉刷新和下拉加载在使用PullToRefreshListView,我发现其 没有设置Item长按监听事件那么需要在Library下的PullToRefreshAdapterViewBase中添加public void setOnItemLongClickListener(AdapterView.OnItemLongClickListene...原创 2020-03-22 19:28:22 · 142 阅读 · 0 评论 -
自定义View——点击飘动红心
自定义View1.效果展示2.实现1)思路2)代码1.效果展示2.实现1)思路通过自定义View 加动画 实现动画:属性动画(位移+缩放+透明度+旋转)+随机数:(属性动画参数+颜色选取)2)代码package com.example.myviewtest;import android.animation.Animator;import android.animation.AnimatorListenerAdapter;import android.animation.Ani原创 2020-06-08 16:01:34 · 252 阅读 · 0 评论 -
flycoTablayout和SurfaceView
文章目录一.flycoTablayout1.使用方式2.简单使用二.SurfaceView1.简介2.简单使用一.flycoTablayout1.使用方式使用前要先导入依赖implementation 'com.flyco.tablayout:FlycoTabLayout_Lib:2.0.2@aar'//flycotablayout布局文件中引用<com.flyco.tablay...原创 2020-03-31 19:51:12 · 142 阅读 · 0 评论 -
BRVAH多布局
BRVAH多布局一.简介二.使用1.简单使用1)实体类2)适配器4)Activity5)布局文件6)效果展示2.案例一1)思路2)封装实体类3)联系人列表的适配器4)右侧导航列表的适配器5)Activity6)布局文件7)效果展示3.案例二1)实体类2)总的适配器3)横向列表的适配器4)Activity5)布局文件6)一.简介利用BRVAH制作多布局列表官方的使用指南https://ww...原创 2020-03-27 17:22:42 · 1226 阅读 · 1 评论 -
RecyclerView
RecyclerView一.简介二.使用一.简介二.使用利用RecyclerView做类似于快手app那种展示方式首先要导入RecyclerView的依赖implementation 'com.android.support:recyclerview-v7:28.0.0'//recyclerview在布局中直接引用即可<?xml version="1.0" encoding="...原创 2020-03-25 12:00:32 · 105 阅读 · 0 评论 -
本地应用Action
本地应用Action一.权限二.电话三.录像四.浏览器五.从图库选择图片六.截屏七.相机拍照一.权限<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.CALL_PHONE" /><uses...原创 2020-03-31 19:38:38 · 166 阅读 · 0 评论 -
okhttp
okhttp框架一.okhttp介绍二.okhttp使用1.依赖2.okhttp做get请求json3.okhttp做网络下载MP44.okhttp做post请求参数为form格式(1).注册一.okhttp介绍okhttp是一个第三方类库,用于android中请求网络。这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和LeakCa...原创 2020-03-19 17:56:46 · 151 阅读 · 0 评论 -
okhttp封装工具类
okhttp封装工具类一.封装okhttp工具二.封装方法1.get请求2.form_post请求3.json_post请求4.get_网络下载5.Interceptor拦截器三.MVC模式四.小案例一.封装okhttp工具将okhttp的相同代码进行封装,简化代码,便捷使用public class MyokHttpUtils { private OkHttpClient clien...原创 2020-03-20 13:00:52 · 1269 阅读 · 1 评论 -
BRVAH万能适配器
BRVAH一.简介二.使用一.简介BRVAH是一个强大的RecyclerAdapter框架(什么是RecyclerView?),它能节约开发者大量的开发时间,集成了大部分列表常用需求解决方案。二.使用在使用时,首先要项目的build.gradle导入allprojects { repositories { google() jcenter() ...原创 2020-03-26 18:10:44 · 375 阅读 · 0 评论 -
蓝牙
蓝牙一.简介二.使用1.开启蓝牙2.关闭蓝牙3.获取已配对的设备列表4.获取附近的设备一.简介二.使用在使用蓝牙时,要先获取四个权限<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permission android:name="android.permissi...原创 2020-03-25 20:49:15 · 107 阅读 · 0 评论 -
OkGo
OkGo一.OkGo简介二.OkGo使用1.get请求2.get请求文件3.post_form请求4.post_josn请求5.post上传文件一.OkGo简介二.OkGo使用1.get请求在调用Get时,添加泛型,通过泛型获取返回数据的类型private void doGet() { OkGo.<String>get(url_get) .ex...原创 2020-03-23 11:22:26 · 260 阅读 · 0 评论 -
SharedPreferences存储+SD卡存储
SharedPreferences存储+SD卡存储一.SharedPreferences存储1.SharedPreferences简介2.写(存)数据3.读(取)数据4.小案例二.内部文件存储一.SharedPreferences存储1.SharedPreferences简介SharedPreferences简称Sp(后面都会称Sp),是一种轻量级的数据存储方式,采用Key/value的方...原创 2020-02-28 19:34:52 · 171 阅读 · 0 评论 -
ViewPager的介绍和使用
ViewPager一.ViewPager简介二.ViewPager使用三.翻页监听一.ViewPager简介ViewPger就是将多个View引用到Adapter中,在左右滑动时,切换不同的View视图我们日常app中经常用到的滑动换页,大部分就是用它做的ViewPager 直接继承了 ViewGroup,所以它是一个容器类,可以在其中添加其他的 view 类。ViewPager ...原创 2020-02-26 19:27:58 · 3502 阅读 · 0 评论 -
BroadCastReceiver 安卓广播接收者
BroadCastReceiver一.广播接收者介绍二.分类1.无序广播(标准广播)三.BroadCastReceiver使用四.系统广播一.广播接收者介绍Android四大组件之一,没有可视化界面,用于不同组件和多线程之间的通信。广播三要素:(1)广播发送者 : 发送广播(2)广播接收者(调频): 用于接收广播(3)要处理的事情 :处理广播的相关信息, Intent有图对象广播的...原创 2020-03-04 18:34:05 · 208 阅读 · 0 评论 -
Service生命周期和启动方式
Service一.Service介绍二.Service特点三.如何创建Service四.Service的启动方式1.启动方式一 (startService)2.启动方式二 (bindService)3.特点五.两种启动方式切换六.前台服务Foreground Service1.原理2.代码一.Service介绍1.Service,服务,是四大组件之一, 和Activity 非常相似, 一般...原创 2020-03-05 19:34:54 · 391 阅读 · 0 评论 -
Fragment基础知识
Fragment一.Fragment说明二.创建Fragment三.加载布局文件1.静态加载2.动态加载一.Fragment说明Fragment俗称碎片,Activity界面中的一部分,可理解为模块化的ActivityFragment不能独立存在,必须嵌入到Activity中Fragment具有自己的生命周期,接收它自己的事件,并可以在Activity运行时被添加或删除Fragment...原创 2020-02-24 18:33:16 · 195 阅读 · 0 评论 -
Sqltie数据库
Sqltie数据库一.Sqltie数据库介绍二.Sql语句1.分类2.表的操作3.数据操作一.Sqltie数据库介绍1.Android 系统中集成的轻量级的数据库2.特点:轻量级 只用一个动态的库, 是以单个文件的形式进行存取跨平台 支持多个操作系统零配置 无需安装, 直接使用嵌入式 内嵌到手机中3.在程序的内部可以通过数据库的名称访问, 其他应用不能访问4.路径: data...原创 2020-03-01 15:28:37 · 571 阅读 · 0 评论 -
Menu菜单和PopupWindow窗口
菜单和窗口一.菜单1.Menu菜单2.上下文菜单ContextMenu3.弹出菜单二.PopupWindow窗口一.菜单1.Menu菜单Menu菜单就是大部分界面中的右上角三个竖排小圆点点击后所展示的内容 这个需要在res下创建一个menu文件夹右键res选择new 然后选择第三个 创建资源文件夹选择menu创建然后直接new Menu资源文件在xml文件里填写要添加的it...原创 2020-02-21 18:13:42 · 393 阅读 · 0 评论 -
Activity中实现音乐播放器
音乐播放器一.思路二.代码三.分解1.获取数据2.进度条+播放音乐3.播放模式的选择一.思路1.获取数据,通过内容解析者获取到SD卡中的音乐数据,封装成对象,添加到ListView中2.使用mediaPlayer播放音乐3.添加seekbar,可以拖动改变播放音乐的进度4.给界面中的“上一首”,“下一首”,“暂停/播放”,设置相应的逻辑二.代码首先是主布局<?xml vers...原创 2020-03-09 18:08:03 · 748 阅读 · 0 评论 -
TabLayout
TabLayout一.TabLayout介绍2.TabLayout的使用一.TabLayout介绍Tablayout继承自HorizontalScrollView,用作页面切换指示器,因使用简便功能强大而广泛使用在App中。TabLayout可以做我们经常见到的那些头部的,导航栏,点击导航栏的每一项可以切换不同的视图2.TabLayout的使用我们通过Fragment+ViewPag...原创 2020-02-27 19:25:22 · 136 阅读 · 0 评论 -
对话框
在此记录每天的学习1.普通对话框在布局里,仅仅写了一个按钮用来触发对话框<Button android:text="普通对话框" android:id="@+id/but" android:layout_width="wrap_content" android:layout_height="wrap_content" />以下是Activity里...原创 2020-02-20 17:04:54 · 466 阅读 · 0 评论 -
ContentProvider 系统URI
ContentProvider 系统URI一.通过内容解析者 获取系统内容1.获取手机联系人信息2.获取手机短信信息3.获取手机音频信息4.获取手机图片信息5.获取手机视频信息二.小案例1.ContentObserver简介2.实现思路3.代码一.通过内容解析者 获取系统内容1.获取手机联系人信息在清单文件中添加读取联系人的权限<uses-permission android:nam...原创 2020-03-03 18:45:11 · 217 阅读 · 0 评论 -
ContentProvider内容提供者的使用
ContentProvider一.内容提供者简介二.思路三.实际用法1.内容提供方ContentProvider2. 内容解析者contentResolver四.自定义权限1.什么是权限2.如何添加一.内容提供者简介给其他的应用程序,可以提供一个访问sqlite的文件的机会.因为涉及到数据的安全,才有了提供者和解析者.只有提供者提供了数据,解析者才可以拿到1.ContentProvi...原创 2020-03-02 17:56:02 · 237 阅读 · 1 评论 -
Fragment高级进阶
Fragment高级进阶一.Fragment回退栈二.Fragment传值1.Activity给Fragment传值2.Fragment给Activity传值3.Fragment给Fragment传值三.Fragment多层嵌套一.Fragment回退栈通过代码,将fragment加入到栈中,按返回键时会将fragment弹栈public class Main2Activity extend...原创 2020-02-25 19:09:14 · 188 阅读 · 0 评论 -
Service进程间通信
AIDL一.AIDL简介二.AIDL使用三.具体实现步骤1.服务端2.客户端3.效果展示三.特别注意一.AIDL简介AIDL,全称是Android Interface Define Language,即安卓接口定义语言,可以实现安卓设备中进程之间的通信(Inter Process Communication, IPC)。安卓中的服务分为2类:本地服务 和 远程服务二.AIDL使用假设...原创 2020-03-06 18:25:23 · 205 阅读 · 0 评论 -
双击退出和Notitfcation 通知
双击退出和Notitfcation 通知一.双击退出二.Notitfcation通知一.双击退出双击退出就是通过onKeyDown方法判断返回键是否在一定时间内被按压了两次private long exitTime = 0;@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (System.cu...原创 2020-02-22 19:08:05 · 172 阅读 · 0 评论