![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android基础
Android基础
HandKnock
读书-手敲-思考-总结-细节-深入-查漏补缺
展开
-
音视频
音视频https://blog.csdn.net/weixin_44339238/article/details/106141820原创 2021-01-17 22:13:27 · 59 阅读 · 0 评论 -
bug汇总
bug汇总原创 2021-01-15 17:57:31 · 334 阅读 · 0 评论 -
安卓各版本变化
安卓各版本变化,兼容适配Android 5.0Material DesignART虚拟机Android 6.0应用权限管理官方指纹支持Doze电量管理运行时权限机制->需要动态申请权限Android 7.0多窗口模式支持Java 8语言平台需要使用FileProvider访问照片安装apk需要兼容Android 8.0通知,渠道->适配画中画自动填充后台限制自适应桌面图标->适配隐式广播限制开启后台Service限制Android原创 2021-01-15 17:25:16 · 200 阅读 · 0 评论 -
dialog设置level在最顶层
//代码 AlertDialog alertDialog;// 创建构建器 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);// 设置参数 builder.setTitle("提示") .setNeutralButton("忽略", new DialogInterface.OnClickListener() {// 中那个按钮原创 2020-11-23 23:22:36 · 4767 阅读 · 0 评论 -
Activity
Activity——onCreate->onStart->onResume->onPause->onStop->onDestroyActivity的生命周期以及启动模式启动模式分为四种Standard 标准模式,每次启动都会生成新的实例SingleTop 栈顶复用 在栈顶存在该实例便复用,否则新建- onNewIntenthttps://blog.csdn.net/my_csdnboke/article/details/84787281http原创 2020-10-28 15:28:12 · 67 阅读 · 0 评论 -
LifecycleCallbacks
Application通过ActivityLifecycleCallbacks使用接口提供了一套回调方法,用于让开发者对Activity的生命周期事件进行集中处理。 ActivityLifecycleCallbacks接口回调可以简化监测Activity的生命周期事件,在一个类中作统一处理。 ActivityLifecycleCallbacks使用要求API 14+ (Android 4.0+)。1、可以在回调中把整个应用打开的Activity保存在集合中、销毁的Activity重集合中删除2、判断当前原创 2020-11-02 13:47:29 · 269 阅读 · 0 评论 -
MultiDexApplication
一、1、如果App引用的库太多,方法数超过65536后无法编译。这是因为单个dex里面不能有超过65536个方法。2、 因为android会把每一个类的方法id检索起来,存在一个链表结构里面。但是这个链表的长度是用一个short类型来保存的, short占两个字节(保存-2的15次方到2的15次方-1,即-32768~32767),最大保存的数量就是65536。3、新版本的Android系统中修复了这个问题, 但是我们仍然需要对低版本的Android系统做兼容。Android 5.0(API lev原创 2020-11-02 13:47:08 · 2645 阅读 · 0 评论 -
禁止输入框复制粘贴菜单
/** * 禁止输入框复制粘贴菜单 */ public void disableCopyAndPaste(final EditText editText) { try { if (editText == null) { return ; } editText.setOnLongClickListener(new View.OnLongClickList...原创 2020-11-02 13:46:35 · 266 阅读 · 0 评论 -
七巧板-阿里动态界面开发框架Tangram
阿里 Android 动态界面开发框架 Tangram,是时候了解一波了https://blog.csdn.net/Coo123_/article/details/90297385Android动态界面开发框架Tangram使用完整教程https://blog.csdn.net/u013541140/article/details/89517186Android动态界面开发框架VirtualView使用完整教程https://blog.csdn.net/u013541140/article/det原创 2020-11-02 13:46:18 · 1358 阅读 · 1 评论 -
制作矢量图SVG注意点
一、制作常用的矢量图SVG1、阿里矢量图标库有很多我们常用的图标。提供给我们下载使用,同时支持SVG。二、SVG图的使用1、Android中的兼容性在Android5.0(API21)及更高版本,已经支持SVG;Android4.4(API20)及更低版本不支持2、在AndroidStudio中,res文件夹右键,new-Vertor Asset;选择Loca file(SVG,PSD),Path 选择你保持的SVG本地路径,next-finish。定义矢量图的XML文件添加到项目的res/dr原创 2020-11-02 13:45:54 · 302 阅读 · 0 评论 -
添加日历提醒code
package com.pingan.calendar;import android.content.ContentUris;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.graphics.Color;import android.net.Uri;import android.provider.CalendarC原创 2020-10-30 14:24:11 · 444 阅读 · 0 评论 -
TabLayout+ViewPager+Fragment
TabLayoutTablayout继承自HorizontalScrollView,用作页面切换指示器,因使用简便功能强大而广泛使用在App中。TabLayout中如何让当前标签永远位于屏幕中间?TabLayout如何设置指示器的宽度包裹内容?https://www.jianshu.com/p/fde38f367019tabMode有两种属性:fixed和 scrollable;fixed:指的是固定tab;scrollable指的是tab可滑动。tabGravity有两种属性:center和f原创 2020-10-28 15:29:14 · 1625 阅读 · 0 评论 -
background
在xml文件里可以直接设置:<shape><solid android:color="#F6F7F8"/><corners android:radius="15dp"/>/><padding/></shape>android:background="#ffffff"RGB表http://blog.csdn.net/yanzi1225627/article/details/8581270在java代码里设置:Linea原创 2020-10-28 15:26:06 · 74 阅读 · 0 评论 -
bitmap
设计稿、切图tinypng压缩一张bitmap所占内存计算代码获取:bitmap.getByteCount手动计算densitydpi屏幕像素密度一般计算公式为,由屏幕长宽的分辨率,根据勾股定律求出对角线的像素数,再除以屏幕的尺寸densityDpidrawable—160hdpi—2402x—xhdpi—320dpi—高清屏—720p3x—xxhdpi—480dpi—超清—1080pformatARGB-8888 foamat=4byteRGB_565 foamat=2b原创 2020-10-28 15:25:17 · 232 阅读 · 0 评论 -
BroadcastReceiver+ContentProvide
初始化时间ContentProvider初始化(onCreate)是在Application生命周期方法attachBaseContext之后、onCreate之前总结一下,我们的应用和ContentProvider初始化过程大致为:ActivityThread.attath()->AMS.attachApplication()->sendMessage(CONTENT_PROVIDER_PUBLISH_TIMEOUT_MSG)->ActivityThread.handleBi原创 2020-10-28 15:23:00 · 184 阅读 · 0 评论 -
Context-Intent
ContextContext是维持Android程序中各组件能够正常工作的一个核心功能类ontext在加载资源、启动Activity、获取系统服务、创建View等操作都要参与ntext提供了关于应用环境全局信息的接口个activity和service以及application的context都是一个新的contextImpl对象ext数量等于activity个数+service个数+1/application在应用之间,应用内部组件之间的交互和数据传递根据intent的描述,找到对应的组件原创 2020-10-28 15:21:39 · 181 阅读 · 0 评论 -
Listview-Recyclerview
@Override public View getView(int position, View convertView, ViewGroup parent) { View view = null; ViewHolder viewHolder = null; //先创建一个内部类,用来放定义控件,然后在if语句中判断converview是否为空,第一次应该是空的,然后绑定id if (convertView == null) {...原创 2020-10-28 15:20:29 · 148 阅读 · 0 评论 -
scrollview
Scroller类的使用https://blog.csdn.net/qq_15949077/article/details/46940507Scroller原理Scroller执行流程里面的三个核心方法mScroller.startScroll();mScroller.computeScrollOffset();view.computeScroll();1、在mScroller.startScroll()中为滑动做了一些初始化准备,比如:起始坐标,滑动的距离和方向以及持续时间(有默认值),动原创 2020-10-28 15:18:53 · 97 阅读 · 0 评论 -
service
启动service的两种方法?有什么区别?startService()onCreate()------->onStartCommand()调用者开启了服务,即会与服务失去联系,两者没有关联。即使访问者退出了,服务仍在运行。如需解除服务必须显式的调用stopService方法。bindService()onCreate()----->onBind() onUnbind()------>onDestroy()调用者与服务绑定在一起的。当调用者退出的时候,服务也随之退出。用于需要与原创 2020-10-28 15:13:15 · 69 阅读 · 0 评论 -
动画
是什么view的属性平滑的过度属性动画补间动画与属性动画的区别https://juejin.im/post/5b0e852b6fb9a00a0b150ca8https://juejin.im/post/5d04610be51d45775a700309#heading-3https://juejin.im/post/5d09990bf265da1bd260ef52补间动画Animation animation = AnimationUtils.loadAnimation(mContext, R原创 2020-10-27 23:40:34 · 79 阅读 · 0 评论 -
屏幕适配
像素(px):像素就是手机屏幕的最小构成单元,px = 1像素点 一般情况下UI设计师的设计图会以px作为统一的计量单位。分辨率:手机在横向、纵向上的像素点数总和 一般描述成 宽*高 ,即横向像素点个数 * 纵向像素点个数(如1080 x 1920),单位:px。屏幕尺寸:手机对角线的物理尺寸。单位 英寸(inch),一英寸大约2.54cm 常见的尺寸有4.7寸、5寸、5.5寸、6寸。屏幕像素密度(dpi):每英寸的像素点数,例如每英寸内有160个像素点,则其像素密度为160dpi,单位:dpi(do原创 2020-10-27 23:38:18 · 506 阅读 · 0 评论 -
自定义view
继承View就是自己画想要的图形重写onmeasure、onDraw渐变的文字的实现继承ViewGroup组合view重写onMeasure、onLayoutflowLayout\viewPagermeasureChildren(widthMeasureSpec, heightMeasureSpec);1、onMeasure:计算子view宽高的和,然后和父view的限制,得到最终的viewGroup的宽高,setMeasureDimension2、onLayout:将子View逐个摆放原创 2020-10-27 23:36:12 · 281 阅读 · 0 评论 -
文件存储
MMKV组件https://www.jianshu.com/p/92bcb77f8ecaSharedPreferences改成MMKVhttps://blog.csdn.net/gpf1320253667/article/details/91352887https://blog.csdn.net/WHB20081815/article/details/107793962https://blog.csdn.net/androidstarjack/article/details/103143119原创 2020-10-27 23:35:13 · 89 阅读 · 0 评论 -
题目-Android基础
EasyPermissionMQTThttps://blog.csdn.net/weixin_40129263/article/details/80983858吊打面试官:Android中高级面试题 – 终局之战https://www.cnblogs.com/Android-Alvin/p/12759426.htmlmonkey命令测试adb shell monkey -v 500sharedPreference优化,提前加载到内存currenthashmap,使用apply桌面应用图标不见原创 2020-10-27 23:33:55 · 1210 阅读 · 1 评论