
Android学习记录
针对Android学习的大杂烩,做个记录合集
Duckdan
这个作者很懒,什么都没留下…
展开
-
Android学习记录045_PorterDuff
Android学习记录045_PorterDuff原创 2022-07-21 20:58:19 · 882 阅读 · 1 评论 -
Android学习记录045_java获取运行时泛型类的真实泛型
一、泛型类class GenericType<T> { private T data; public void setData(T data) { this.data = data; } public T getData() { return data; }}二、获取泛型类的真实泛型//这种方式定义泛型变量,要想通过操作appleGenericType.getClass()是无法获取到泛型的真实类型的//因原创 2021-10-29 10:25:19 · 1881 阅读 · 0 评论 -
Android学习记录044_监听Android截屏或者录屏
一、源代码package com.study.capturescreenlistenerimport android.annotation.SuppressLintimport android.content.ContentResolverimport android.content.Contextimport android.net.Uriimport android.os.Handlerimport android.os.HandlerThreadimport android.os.原创 2021-10-28 18:29:37 · 5539 阅读 · 2 评论 -
Android学习记录043_java泛型与kotlin泛型
一、java泛型package generically;public class Main { public static void main(String[] args) { GenericType<Fruit> genericTypeFruit = new GenericType<>(); GenericType<Apple> genericTypeApple = new GenericType<>();原创 2021-10-28 10:43:01 · 1605 阅读 · 0 评论 -
Android学习记录042_利用广播实现强制退出登录以及悬浮弹框的使用
一、效果图二、源代码静态广播弹出的弹窗是由悬浮弹窗所实现的package com.study.forcelogoutdemoimport android.content.Intentimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.view.Viewclass MainActivity : BaseActivity() { override fun原创 2021-09-25 12:13:12 · 376 阅读 · 0 评论 -
Android学习记录041_webview播放视频的全屏问题以及状态栏隐藏显示问题
一、效果图 二、说明Demo里面使用X5WebView和原生WebView,均可以正常横竖屏三、源代码package com.study.fullscreendemo.system_webview;import android.app.Activity;import android.content.pm.ActivityInfo;import android.content.res.Configuration;import android.graphics.PixelFo原创 2021-09-16 15:17:58 · 1157 阅读 · 0 评论 -
Android学习记录040_手机抓包
一、抓包软件whistle1.1 安装文档二、注意事项默认只能抓取HTTP的包,要是想要抓取Https的包需要安装证书。2.1 操作步骤1.1 安装成功后,调用w2 start命名 # 出现如下视图1.2 在浏览器中输入http://127.0.0.1:8899 #出现如下视图 ...原创 2021-07-12 19:42:46 · 166 阅读 · 2 评论 -
Android学习记录039_软键盘问题的探究
方案:通过监控软键盘的高度变化,在其顶部添加输入控件从而达到在不影响原有布局的情况下,既能输入内容,又能看到输入控件。一、效果图:二、源代码package com.study.softkeyboard;import androidx.appcompat.app.AppCompatActivity;import android.app.Activity;import android.content.res.Configuration;import android.os.Bundl原创 2021-06-22 10:46:24 · 419 阅读 · 0 评论 -
Android适配Splash页面
一、适配背景图1.1 直接使用图片作为android:windowBackground属性值<resources> <!-- 直接在清单文件的application节点下面android:theme使用--> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. -->原创 2020-12-29 09:31:43 · 412 阅读 · 0 评论 -
简易ButterKnife
一、APT的使用用于APP在编译时期生成代码,要在AndroidStudio项目中创建Java Library工程。1.1 build.gradle源码apply plugin: 'java-library'dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //另外一个Java ...原创 2020-03-16 17:58:24 · 235 阅读 · 0 评论 -
Activity生命周期在四种启动模式下的运行流程
Demo中有MainActivity、Main2Activity、Main3Activity、Main4Activity四个Activity,主要是通过改变Main2Activity的启动模来观察不同模式下,Activity各个生命周期的运行流程一、Standardstandard( 标准模式 ):每次启动一个Activity都会重新创建一个新的实例,不管这个实例是否存在,并且它会进入启动者所...原创 2020-02-20 17:47:01 · 434 阅读 · 0 评论 -
AndroidStudio修改默认的compileSdkVersion、targetSdkVersion以及appcompat-v7版本号
方法一:1、修改compileSdkVersion、targetSdkVersion版本号修改如下路径文件中的内容:AndroidStudio安装目录\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\shared_macros.ftl2、修改appcompat-v7版本号修改如下路径文件中的内...原创 2019-11-29 22:45:17 · 2591 阅读 · 0 评论 -
约束布局的使用(二)
主要介绍app:layout_constraintWidth_max、app:layout_constrainedWidth、app:layout_constraintDimensionRatio和Guideline的使用一、app:layout_constraintWidth_max、app:layout_constrainedWidth、app:layout_constraintDimens...原创 2019-11-09 17:34:19 · 645 阅读 · 0 评论 -
约束布局的使用(一)
一、Barrier的基本使用<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schem...原创 2019-10-30 23:04:31 · 1027 阅读 · 0 评论 -
Android利用Path绘制图形
一、效果图二、源代码2.1 第一张效果图package com.study.yang.drawgraphicaldemo;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;imp...原创 2019-09-18 17:20:41 · 1013 阅读 · 0 评论 -
RecyclerView的条目间隔处理
一、源代码package study.yang.definedivideritemview;import android.graphics.Canvas;import android.graphics.Rect;import android.graphics.drawable.Drawable;import android.support.annotation.NonNull;...原创 2019-06-29 22:52:46 · 504 阅读 · 0 评论 -
Android应用接入招商一网通
一、开发资料Android招商开发接口二、效果图 三、源代码2.1 清单文件的配置 <activity android:name="com.example.android.myyiwangtong.CMBApiEntryActivity" android:exported="true" ...原创 2019-05-31 16:06:43 · 1036 阅读 · 0 评论 -
集成Bugly中的Tinker
一、根据Bugly的官方文档进行配置Tinker应用中集成了Tinker之后就集成了Bugly的异常上报二、效果图被修复前的页面被修复后的页面二、注意事项3.1 tinker-support.gradle中的tinkerId的基准包(被修复前的包)和补丁包一定要不一致3.2 一定要上传app\build\outputs\patch\release\patch_sign...原创 2019-05-10 21:26:31 · 191 阅读 · 0 评论 -
控制PopupWindow的显示位置
一、PopupWindow在控件的下方展示1.1 PopupWindow的宽度为设备的0.5倍PopupWindow显示的代码fun showPopupWindow(view: View) { val displayMetrics = resources.displayMetrics val widthPixels = displayMetrics.width...原创 2019-02-15 17:51:08 · 2683 阅读 · 0 评论 -
Android中给控件添加阴影效果
一、效果图1.1 使用elevation和translationZ实现阴影效果 1.2 使用layer-list实现阴影效果 1.3 使用第三方库实现阴影效果 二、源代码2.1 使用elevation和translationZ实现阴影效果这种方式需要在API 21才可以使用,具体代码实现片段如下: <TextView ...原创 2019-01-29 13:27:40 · 9567 阅读 · 0 评论 -
Android多线程下载文件
学习Kotlin有一段时间了,但是目前在公司用不上这个,所以打算自己平时写博客的时候多用Kotlin来写Demo。今天是使用Kotlin写了一个多线程下载的demo用来锻炼自己使用Kotlin开发的能力,开始撸代码。一、效果图 二、撸代码package com.study.download.morecoroutinedownloaddemoimport android.conten...原创 2019-01-23 17:51:40 · 2171 阅读 · 0 评论 -
Android账号同步系统的建立——AccountManager及其他相关类的运用
一、效果图1.1 Android设备-&amp;amp;amp;gt;设置-&amp;amp;amp;gt;账户与安全 1.2 点击“账户标签DEMO”如果“账户标签DEMO”此时只添加了一个账号的话,点击该条目之后将会直接进入如下界面: 其中“369”就是账户名称1.3 账户标签DEMO中添加了两个账号如果“账户标签DEMO”此时只添加了多个账号的话,点击该条目之后将会直接进入如下界面: 点击相应账号条目之后就原创 2018-12-13 19:04:40 · 4585 阅读 · 1 评论 -
AsyncQueryHandler、CursorAdapter和ContentProvider的使用
一、AsyncQueryHandler的使用该类是谷歌封装的异步查询的Handler,这个类是抽象类但是其并没有抽象方法。具体使用方法如下所示:package com.study.yang.contentproviderclientdemo.handlerimport android.content.AsyncQueryHandlerimport android.content.Cont...原创 2018-12-11 13:06:31 · 257 阅读 · 0 评论 -
Android中App内部切换语言包
最近产品提出了在APP内部切换应用的语言包,潜意识里APP的国际化就是跟随系统语言来修改的。不过在微信里面发现有在APP内部切换语言包的功能,因此专门研究了一下。Android开发环境(1)AndroidStudio 3.1.2 (2)Android设备Honor 8 Lite一、效果图和撸代码 public void changeAppLanguage() { ...原创 2018-11-15 13:43:56 · 3611 阅读 · 1 评论 -
Android中Notification的使用(一)
本篇博客只是对Android通知进行了比较浅显的研究,适合通知栏初学者借鉴。废话不多说开始撸代码。Android开发环境(1)AndroidStudio 3.1.2 (2)Android设备Honor 8 Lite一、撸代码和效果图1.1 Demo功能展示 关于Android8.0以上系统通知栏的使用介绍,详细使用可以查看Android通知栏微技巧,8.0系统中通知栏的适配@...原创 2018-11-10 08:27:59 · 929 阅读 · 0 评论 -
利用Android SDK提供的API添加保存历史记录
利用Android SDK提供的现有API写了一个保存账号历史的功能,在这里记录一下方便以后使用。一、效果图 二、源代码package com.study.yang.histroyrecorddemo;import android.app.AlertDialog;import android.content.ContentValues;import android.conten...原创 2018-10-10 16:23:44 · 288 阅读 · 0 评论 -
Activity和Fragment的生命周期
前一段时间去面试,面试官问我Activity的生命周期,我如实回答了。紧接着面试官又问Fragment的生命周期,然后我也如实回答了,同时提到Fragment在Activity中使用的时候Fragment和Activity的生命周期方法是交替执行的。当时面试官听到我的说法好像很懵的样子,当时我一度以为自己表达错了或者是记错了。因此,我特意去研究了一下Fragment在Activity中使用的时候它...原创 2018-09-19 17:38:36 · 402 阅读 · 0 评论 -
Android动态权限的处理
Android的动态权限校验早已不是什么新鲜的东西了,现在遇到了一个需求就是必须强制用户赋予应用一个权限的需求。如果用户不赋予该权限,要么就一直提醒用户,要么就退出应用。最开始以为这个需求很简单,等到真正开始开发时才发现这里面还有很多细节要考虑。一、效果图展示1.1 启动应用时申请权限,出现如下效果图 1.2 点击“禁止”之后,出现如下效果图 1.3 点击...原创 2018-09-12 18:00:50 · 456 阅读 · 0 评论 -
对Shortcut使用的理解
最近在使用Android版Chrome的时候发现长按应用图标会出现如下图所示的快捷键: 这种新特性被我发现之后,我又找了几个出名的应用尝试了一下,又发现支付宝、UC浏览器这些APP也接入了这一新特性。接着我又去找了度娘,从度娘的搜索结果中我才知道这一新特性在Android7.0的时候就被提出来了,只是在国内的APP中应用的不广泛罢了。经过阅读网上大牛的技术博客以及自己的尝试,我自己...原创 2018-08-30 10:05:43 · 8190 阅读 · 0 评论 -
OptionsMenu和ContextMenu的使用(二)——针对ListView和RecyclerView
一、ListView使用ContextMenu给ListView添加OnCreateContextMenuListener,源代码如下所示:lv.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() { @Override public void ...原创 2018-08-15 14:03:45 · 418 阅读 · 0 评论 -
OptionsMenu和ContextMenu的使用(一)
一、OptionsContextMenu的使用1.1 创建OptionsContextMenu方式一: 请参考AndroidStudio模板工程(七)的关于菜单Menu的使用提示方式二: //重写Activity的onCreateOptionsMenu方法 @Override public boolean onCreateOptionsMenu(Menu...原创 2018-08-13 15:42:29 · 1069 阅读 · 0 评论 -
Android技巧之ViewStub的使用
一、使用include加载布局MainActivity的布局文件如下所示:&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app=&a原创 2018-07-25 18:15:58 · 1231 阅读 · 0 评论 -
Android技巧之Space控件
一、没有做任何处理的Activity此时的清单文件代码如下:&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android" package="原创 2018-07-25 17:45:16 · 5645 阅读 · 0 评论 -
Android自定义进度条和SeekBar进度条背景色
一、自定义进度条进度条对话框的布局代码如下所示:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android...原创 2018-04-08 14:07:02 · 2110 阅读 · 0 评论 -
Android动态更新APP图标
一、简介 现在诸多APP在特殊的日子都会将APP的图标修改为相对应图标,懂开发的人肯定会想我没有更新APP啊,为什么APP的图标换了呢?二、效果图 应用首次安装效果图启动应用后,点击“节日图标”则会出现如下效果图: 应用内部效果图再次回到手机桌面,则会发现APP图标已经改变,效果图如下所示: 修改图标...原创 2018-03-30 09:40:10 · 8168 阅读 · 1 评论 -
Android沉浸式状态栏(二)
距离上一篇Android沉浸式状态栏(一)已经很久了,上一篇文章主要是讲原理以及如何实现的,在实际运用上面不是很方便。本篇文章引入框架和工具类来针对沉浸式状态栏进行处理。布局代码如下所示:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas....原创 2018-02-22 17:05:09 · 181 阅读 · 0 评论 -
AndroidStudio中创建点9图
一、AndroidStudio中创建点9图步骤1.1 创建菜单1.2 创建点9图的可视化界面1.3 视图介绍二、注意事项2.1 关于解决android studio出现Error:Execution failed for task ':app:mergeDebugResources'. 的方法2.2 点9图片展示错误的...原创 2018-02-03 17:44:01 · 1566 阅读 · 1 评论 -
关于ImageView属性scaleType的理解
素材描述大圆图片:200px*100px 小圆图片:100px*80px一、不给ImageView添加scaleType的情况:默认情况下ImageView的scaleType的值是-11.1 ImageView的宽高都大于图片 大圆:ImageView:500px*300px 小圆:ImageView:200px*100px 此时大圆与原始图片的宽原创 2018-01-30 10:40:13 · 693 阅读 · 0 评论 -
AndroidStudio中一些配置的记录
一、关于compileSdkVersion、minSdkVersion、targetSdkVersion 的理解compileSdkVersion:编译应用时使用的SDK的版本号,重点就是“编译”这两个字,它能影响的就是应用编译时的行为,不管它如何改变都不会影响到应用的运行时行为。AndroidStudio有预编译的功能,如果使用低版本的SDK则无法编译新的API,所以为了更好的利用新的API原创 2018-01-24 11:38:11 · 304 阅读 · 0 评论 -
GreenDao3.x版本的基本使用和数据库升级
目前GreenDao在Android数据库开发中较其他开发框架有着更大的优势,本篇文章主要讲述GreenDao3.x版本的基本使用和使用GreenDao进行应用的数据库升级。原创 2017-12-26 16:19:34 · 876 阅读 · 0 评论