
安卓
文章平均质量分 62
ChampionDragon
本人从事安卓开发
展开
-
自定义View属性defStyleAttr与defStyleRes详解
defStyleAttr:这个是当前Theme中的一个attribute,是指向style的一个引用,当在layout xml中和style中都没有为View指定属性时,会从Theme中这个attribute指向的Style中查找相应的属性值,这就是defStyle的意思,如果没有指定属性值,就用这个值,所以是默认值,但这个attribute要在Theme中指定,且是指向一个Style的引用,如果这个参数传入0表示不向Theme中搜索默认值。应用属性的时候也需要注意属性的namespace。...原创 2022-08-15 17:12:48 · 913 阅读 · 0 评论 -
ContentObserver
一.介绍ContentObserver 目的是观察(捕捉)特定 Uri 引起的数据库的变化, 继而做一些相应的处理。它类似于数据库技术中的触发器(Trigger),当 ContentObserver 所观察的 Uri 发生变化时,便会 触 发 它 。触 发 器 分 为 表 触 发 器 、 行 触 发 器 , 相 应 地 ContentObserver 也 分 为 “ 表“ContentObserver、“行”ContentObserver,当然这是与它所监听的 Uri MIME Type 有关的。.原创 2021-07-26 15:39:31 · 2034 阅读 · 0 评论 -
获取dimens里的长度
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) getLayoutParams();获取dimens数据的两种方式如:int marginLand = mContext.getResources().getDimensionPixelSize(R.dimen.help_margin_land);(int) mContext.getResources().getDimension(R.dimen..原创 2021-06-30 09:41:05 · 266 阅读 · 0 评论 -
安卓适配AutoSize详解
GItHub的官方地址:https://gitee.com/lcb1992/AndroidAutoSize一.项目导入 implementation 'me.jessyan:autosize:1.2.1'1.1manifest里面进行设置<manifest> <application> <meta-data android:name="design_width_in_dp"原创 2020-09-10 16:59:48 · 7988 阅读 · 0 评论 -
安卓系统自带Dialog
一.ProgressDialog1.1方法解释setMessage 设置弹框的信息 setTitle 设置弹框的标题 setIcon 设置弹框图标setIndeterminate 当设置setIndeterminate(true)参数为真时,进度条采用不明确显示进度的‘模糊模式’,即滚轮的进度不是实际文件下载的进度(false)参数为假时,进度条不采用‘模糊模式’,而采用明确显示进度的‘明确模式’。setCancelable(false) dialog弹出后会点.原创 2020-06-01 08:49:13 · 538 阅读 · 0 评论 -
安卓so包、aar、依赖项目的使用
一.添加aar1.1什么是aarAAR是Google为Android Studio专门推出的一种库文件格式,Eclipse没办法像使用jar那样直接使用AAR文件,但是我们可以使用AAR里面的文件快速创建一个Eclipse Library项目,然后在我们的项目中引用即可。1.2aar和jar包的区别*.jar:只包含了class文件与清单文件,不包含资源文件,如图片、布局等所有res中的文件。*.aar:包含所有资源,class以及res资源等全部文件。如果你只需要一个简单的类库,那么原创 2020-05-13 15:21:32 · 3915 阅读 · 3 评论 -
安卓特殊字符串设置
一.空格  这个就代表着空格,一个 相当于英文的一个字母的占位,四个 相当于一个汉字的占位。String.xml如下:<string name="test">    test</string>后面的分号别忘记<...原创 2020-05-02 09:19:00 · 1778 阅读 · 0 评论 -
安卓屏幕密度(Density)和分辨率的关系
density值表示每英寸有多少个显示点,与分辨率是两个不同的概念。下面以480dip*800dip的WVGA(density=240dpi)为例,详细列出不同density下屏幕分辨率信息:density=120时 屏幕实际分辨率为240px*400px (两个点对应一个像素)density=160时 屏幕实际分辨率为320px*533px (三个点对应两个像素)density=...原创 2018-08-23 10:03:33 · 20382 阅读 · 0 评论 -
Android flag详解
一.Flag标志位在阅读源码的时候经常发现有一些标志属性使用一些位操作来判断是否具有该标志,增加标志或者去除标志。如:为什么要使用16进制呢?为何不使用十进制0,1,2...?原因是因为这样就可以方便的用位运算来表示共同具有某些属性或者直接判断是否具有某个属性。上面这句话我们稍微来分析一下。拿文件的权限来分析一下,我们知道文件有三个权限:读,写,执行。分别用4 , 2 , 1来...原创 2019-11-01 10:43:38 · 5130 阅读 · 0 评论 -
安卓读取通讯录数据和打电话
所需要的权限申请<!-- 打电话权限 --><uses-permission android:name="android.permission.CALL_PHONE" /><!-- 读取通讯录的权限 --><uses-permission android:name="android.permission.WRITE_CONTACTS" />...原创 2018-03-16 11:41:45 · 1339 阅读 · 2 评论 -
安卓启动Launch mode
/*清空栈里面所有Activity*/ Intent intentmain = new Intent(UserActivity.this, LoginActivity.class). setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); ...原创 2018-09-17 15:39:42 · 484 阅读 · 0 评论 -
安卓混淆
一.名称解释和介绍代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。Android SDK 自带了混淆工具Proguard。它位于SDK根目录\tools\proguard下面。如果开启了混淆,Proguard默认情况下会对所有代码,包括第三方包都进行混淆,可是有些代码或者第三方包是不能混淆的,这就需要我们手动...原创 2019-10-11 10:01:48 · 1051 阅读 · 1 评论 -
getString(int resId,object arg1,object arg2,...)
getString(int resId,object arg1,object arg2,...)<stringname="lastUpdateTime">字符串:%s</string>getString(R.string.lastUpdateTime,“你要添加的字符串”)%占位符%d 对应整数 %s对应字符串%c字符%f浮点http://blog.cs...原创 2019-09-02 09:08:53 · 406 阅读 · 0 评论 -
安卓startActivityForResult和setResult
1.跳转的时候不是采用startActivity(intent)这个方法,而是startActivityForResult(intent, requestCode)Intent intent=new Intent();intent.setClass(A.this, B.class);Bundle bundle=new Bundle();String str1="aaaaaa";...原创 2018-01-08 10:59:35 · 661 阅读 · 0 评论 -
handler机制的原理
一.什么是handlerandroid提供了Handler和Looper来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。 2)Handler: 你可以构造Handler对象来与Looper沟...原创 2017-12-09 09:31:51 · 321 阅读 · 0 评论 -
Handler和Message
当应用程序启动时,会开启一个主线程(也就是UI线程),由她来管理UI,监听用户点击,来响应用户并分发事件等。所以一般在主线程中不要执行比较耗时的操作,如联网下载数据等,否则出现ANR错误。所以就将这些操作放在子线程中,但是由于AndroidUI线程是不安全的,所以只能在主线程中更新UI。Handler就是用来 子线程和创建Handler的线程进行通信的。Handler实例实现的两种...原创 2017-12-19 09:07:04 · 1113 阅读 · 0 评论 -
Handler的弱引用
mInterHandler是一个私有静态内部类继承自Handler,内部持有MainActivity的弱引用,这样做的目的是避免内存泄露WeakReference<MainActivity>中的MainActivty是你所在的类。private InterHandler mInterHandler = new InterHandler(this); private stati...原创 2018-10-10 10:32:43 · 1786 阅读 · 0 评论 -
安卓的回调机制和RelativeLayout覆盖问题
RelativeLayout覆盖问题http://blog.youkuaiyun.com/jiangwei0910410003/article/details/16985739RelativeLayout中添加组件额顺序要和显示的顺序一样,但布局与布局可以不遵守。但如果是控件之间的覆盖,B控件想显示在A控件上,A控件就先写,B控件后写。安卓的回调机制1.publicinte...原创 2018-07-24 11:32:30 · 1084 阅读 · 0 评论 -
安卓四种动画Animation详解
我们都知道在安卓的app中会实现一些很酷炫的效果,如:拍照时的弹框,游戏基础的一些动画.................... 其实安卓系统基本基于四个类进行二次开发:AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转换位置移动动画效果 Rotate...原创 2017-10-16 10:23:29 · 1019 阅读 · 0 评论 -
Animation动画操作
参考网站http://www.cnblogs.com/sunzn/archive/2013/01/27/2878385.htmlhttp://blog.youkuaiyun.com/chenzheng_java/article/details/6273954http://blog.youkuaiyun.com/huangbiao86/article/details/6683665http://blog.c...原创 2018-07-14 09:00:51 · 572 阅读 · 0 评论 -
SoundPool详解
SoundPool工具类public class SoundPoolUtil { private static SoundPool soundpool; private static SoundPoolUtil instance; private static Context context; public static SoundPoolUtil getI...原创 2018-10-07 11:06:57 · 2447 阅读 · 0 评论 -
安卓坐标系
android中的坐标系叫做视图坐标系,它描述的是子视图在父视图中的位置实现左右动画:动画的启始位置虽然是在控件的左下角,但是相对位置却不是我们平时想的那样,在实现左右动画的时候其相对位置应该为(位置2为起始位置)实现上下动画在实现上下动画的时候其相对位置应该为(位置2为起始位置)PS:通过这张图我们就能了解为啥做从下往上的弹框动画时是从10...原创 2017-12-05 08:50:35 · 724 阅读 · 0 评论 -
Camera手动对焦和设置对焦框
1.手动对焦1.1思路:我想在用户点击屏幕某个点时,以这个点做一个对焦区域,重新设定对焦区域后,会触发相机对焦,画面有明显的亮度变化。触发图像亮度变化,实际上这已经不是对焦的范畴了,而是测光。从效果上看,系统相机响应手动对焦的同时根据焦点重新测光。1.2相关方法// getMaxNumFocusAreas:获取支持的对焦区域的个数// setFo...原创 2019-04-28 09:25:57 · 3280 阅读 · 1 评论 -
安卓Camera基础
1. Camera简介虽然前文说道Android在5.0之后就推出了Camera2 API,但是各个厂家的基本未适配,导致目前市场上大部分机型使用的仍然是Camera1 API。PS:Android 9.0 Google强制要求各个平台厂商(高通/MTK/华为等)支持Camera2,不再兼容Camera1。Camera API是Android非常古老的API,Google在5.0推出Cam...原创 2019-04-25 16:48:27 · 1336 阅读 · 0 评论 -
安卓Enviroment类的详解
安卓的enviroment类一般是的到安卓系统的一些目录路径的信息。1: getDataDirectory() 获取到Android中的data数据目录(sd卡中的data文件夹)/data2:getDownloadCacheDirectory() 获取到下载的缓存目录 /cache3:getExternalStorageDirectory() 获取到外部存储的目录一般指...原创 2017-11-08 08:44:20 · 1971 阅读 · 5 评论 -
安卓设置双击的监听器
public class OnDoubleClickListener implements View.OnTouchListener { private int count = 0;//点击次数 private long firstClick = 0;//第一次点击时间 private long secondClick = 0;//第二次点击时间 /** ...原创 2018-08-29 16:14:19 · 711 阅读 · 0 评论