![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android API
文章平均质量分 89
Flutter鸿蒙梁典典学院
这个作者很懒,什么都没留下…
展开
-
正则验证工具类
import java.util.regex.Matcher;import java.util.regex.Pattern;/** * * 正则验证工具类 */public class RegexUtil { /** * 手机号码,中间4位星号替换 * * @param phone 手机号 * @return 星号替换的手机号 s...原创 2018-06-19 14:28:51 · 352 阅读 · 0 评论 -
Android耳机HOOK接听键KeyEvent.KEYCODE_HEADSETHOOK
[DESCRIPTION] 举个栗子如我们想按耳机键默认是暂停/播放音乐功能,按照如下的修改方式可以实现短按耳机键暂停/播放FM1种通过onKeyDown @Override public boolean onKeyDown(int keyCode, KeyEvent event) { boolean bRet = true; if (KeyEv转载 2015-06-17 14:33:06 · 6602 阅读 · 0 评论 -
FAQ13878][Audio APP]收音机 APP 添加耳机hook键,以实现播放、暂停的功能
[DESCRIPTION] [New Feature]收音机播放时,按下耳机hook键,收音机暂停;若再次按hook键,收音机又会播放 [SOLUTION] 一、 修改FmRadioService.java1.在文件头部添加: import android.content.ComponentName; import android.m转载 2015-06-17 14:39:20 · 1193 阅读 · 0 评论 -
android:contentDescription
在android控件中有一个属性叫做android:contentDescription 。一般来说,用户很少使用这个属性。但是对于一些视力有障碍的用户,android提供给用户一个很有用的功能,可以帮助使用app。这个属性必须在用户的Accessible 中的相应属性开启后才能使用。1. 首先下载google的应用 TalkBack (an accessibili转载 2015-05-05 15:51:17 · 722 阅读 · 0 评论 -
Android ImageView ScaleType
ScaleType的值分别代表的意义: ImageView是Android中的基础图片显示控件,该控件有个重要的属性是ScaleType,该属性用以表示显示图片的方式,共有8种取值 ScaleType.CENTER::图片大小为原始大小,如果图片大小大于ImageView控件,则截取图片中间部分,若小于,则直接将图片居中显示。 ScaleType.CENTER_CROP:将图片转载 2014-10-21 11:04:56 · 742 阅读 · 0 评论 -
Android android:focusableInTouchMode
通过touch来获得focus。 一个界面上有一个自定义个button,我需要进入这个界面就高亮这个button。但是用遥控选择这个程序进入能正常显示,用鼠标点击进入就没有高亮的效果。最后添加上这个属性,效果出来了。 可见,click事件和touch事件在焦点处理上是不同的。转载 2014-10-21 10:26:59 · 731 阅读 · 0 评论 -
Android5.0 Lollipop(棒棒糖)
Android棒棒糖重点开发特色材料设计业绩焦点通知你在大屏幕上的应用程序以文档为中心的应用程序先进的连接高性能显卡更强大的音频增强的照相和摄像机屏幕捕捉和分享新类型的传感器铬的WebView辅助功能及输入工具构建高效电池的应用程序欢迎到Android 5.0棒棒糖,规模最大,最雄心勃勃的发布为Android呢!此版本是挤满了为用户和数以千计的新原创 2014-10-20 13:56:13 · 23139 阅读 · 0 评论 -
FragmentPagerAdapter
FragmentPagerAdapter是PagerAdapter中的其中一种实现。它将每一个页面表示为一个 Fragment,并且每一个Fragment都将会保存到fragment manager当中。而且,当用户没可能再次回到页面的时候,fragment manager才会将这个Fragment销毁。这种pager十分适用于有一些静态fragment,例如一组tabs,的时候使用。原创 2014-11-05 09:58:02 · 1031 阅读 · 0 评论 -
Android Receiver(听筒模式和扬声器模式,铃音模式)
切换为听筒模式声音由听筒发出 am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);//听筒模式切换为正常模式 am.setMode(AudioManager.MODE_NORMAL); //正常模式判断是否为扬声器 am.isSpeakerphoneOn();权限原创 2014-10-31 09:45:56 · 20717 阅读 · 1 评论 -
AlphabetIndexer字母索引器
ListView中添加一些自定义影像,这种方法我觉得一定是可行的。 但是,android系统给我们提供了一个更简单的方法:使用AlphabetIndexer。 AlphabetIndexer,实现了SectionIndexer接口,是adapter的一个辅助类,辅助实现在快滑时,显示索引字母。 使用字母索引的话,必须保证数据列表是按字母顺序排序,以便AlphabetInde转载 2014-10-29 16:33:54 · 1790 阅读 · 0 评论 -
Android悬浮框
LayoutInflater inflater = LayoutInflater.from(getActivity()); mOverlayView = (TextView) inflater.inflate(R.layout.overlay, null); mOverlayView.setVisibility(View.INVISIBLE); WindowManager.Layout原创 2014-10-29 16:55:33 · 920 阅读 · 0 评论 -
Picasso
picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。picasso使用简单,如下[java] view plaincopyprint?Picasso.with(context).load("http://i.imgur.com/D转载 2015-06-02 15:39:36 · 998 阅读 · 0 评论 -
SeekBar
实现OnSeekBarChangeListener接口,覆写方法方法调用:在拖动条的任何地方按下鼠标时先调用onStartTrackingTouch一次,再调用onProgressChanged一次。以后每拖动一下调用onProgressChanged一次。松开鼠标时调用onStopTrackingTouch一次//当拖动条发生变化时调用该方法public void onP转载 2015-07-29 15:47:13 · 681 阅读 · 0 评论 -
android intent和intent action大全,Broadcast Action大全
android intent和intent action大全1.Intent的用法:(1)用Action跳转1、使用Action跳转,如果有一个程序的AndroidManifest.xml中的某一个 Activity的IntentFilter段中 定义了包含了相同的Action那么这个Intent就与这个目标Action匹配。如果这个IntentFilter转载 2015-08-26 16:32:24 · 855 阅读 · 0 评论 -
Android Parcelable
. Parcelable接口Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing the Parcelable interface must also have a static field called CREATOR, whic转载 2016-05-06 15:02:01 · 397 阅读 · 0 评论 -
Android EventBus
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]前言:EventBus是上周项目中用到的,网上的文章大都一样,或者过时,有用的没几篇,经过琢磨,请教他人,也终于弄清楚点眉目,记录下来分享给大家。相关文章:1、《EventBus使用详解(一)——初步使用EventBus》2、《EventBus使用详解(二)——EventBus使转载 2016-05-13 13:04:57 · 434 阅读 · 0 评论 -
Android的View绘制流程
Android的View绘制是从根节点(Activity是DecorView)开始,他是一个自上而下的过程。View的绘制经历三个过程:Measure、Layout、Draw。基本流程如下图:performTraversals函数,具体的可以参考一下源代码:[java] view plain copy print?转载 2016-05-13 16:56:56 · 604 阅读 · 0 评论 -
View的14个方法
1、onFinishInflate() 当View中所有的子控件均被映射成xml后触发 。2、onMeasure( int , int ) 确定所有子元素的大小 。3、onLayout( boolean , int , int , int , int ) 当View分配所有的子元素的大小和位置时触发 。4、onSizeChanged( int , int , int , int ) 当原创 2016-05-13 16:43:47 · 590 阅读 · 0 评论 -
Android Binder
在Android系统中,每一个应用程序都是由一些Activity和Service组成的,这些Activity和Service有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程间通信机制了。 我们知道,Android系统是基于Linux内核的,而Linux内核继承和兼转载 2016-05-13 15:13:23 · 352 阅读 · 0 评论 -
Android Service与Activity之间通信两种方式
转载请注明地址http://blog.csdn.net/xiaanming/article/details/9750689在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务,所以在我们实际开发中,就会常常遇到Activity与Service之间的通信,我们一般在Activity中启动后台Service,通过Intent来启动,Intent中转载 2016-04-14 16:21:24 · 724 阅读 · 0 评论 -
Android Service两种启动方式
1.Context.startService()方式启动 ①Context.startService()方式的生命周期: 启动时,startService –> onCreate() –> onStart()停止时,stopService –> onDestroy()如果调用者直接退出而没有停止Service,则Service 会一直在后台运行 Context.startService()转载 2016-04-14 16:20:25 · 483 阅读 · 0 评论 -
BroadcastReceiver Demo
package com.example.h2;import android.app.Activity;import android.app.KeyguardManager;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;impor原创 2016-02-22 11:31:59 · 434 阅读 · 0 评论 -
Android onMeasure()
在Android开发中,当Android原生控件不能满足我们的需求的时候,就需要自定义View。View在屏幕上绘制出来先要经过measure(计算)和layout(布局)。可以说重载onMeasure(),onLayout(),onDraw()三个函数构建了自定义View的外观形象。再加上onTouchEvent()等重载视图的行为,可以构建任何我们需要的可感知到的自定义View。什转载 2015-09-17 09:41:30 · 1024 阅读 · 0 评论 -
Android5.0 GMS包
原创 2015-09-10 09:24:47 · 2345 阅读 · 0 评论 -
Uri、UriMatcher、ContentUris
1.Uri通用资源标志符(Universal Resource Identifier, 简称"URI")。Uri代表要操作的数据,Android上可用的每种资源 - 图像、视频片段等都可以用Uri来表示。 URI一般由三部分组成:访问资源的命名机制。存放资源的主机名。资源自身的名称,由路径表示。 Android的Uri由以下三部分组成: "co转载 2014-10-24 16:21:14 · 599 阅读 · 0 评论 -
ListView属性
stackFromBottom属性,这只该属性之后你做好的列表就会显示你列表的最下面,值为true和falseandroid:stackFromBottom="true" 第二是transciptMode属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMo转载 2014-10-22 16:46:33 · 653 阅读 · 0 评论 -
tools:context=".MainActivity的作用
[html] view plaincopyprint?TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true"转载 2014-10-22 14:58:28 · 641 阅读 · 0 评论 -
Android maxLines maxLength属性
android:maxLines="3" 做多显示3行原创 2014-07-02 11:14:59 · 2450 阅读 · 0 评论 -
Fragment API
可以分为下面的几部分:使用支持库创建一个Fragment创建一个动态UI多个Fragment之间的通信 1、使用支持库如果您的应用需要运行在3.0及以上的版本,可以忽略这部分内容。如果您的应用使用在3.0以下、1.6及以上的版本,需要使用支持库来构建。使用支持库的步骤:使用SDK下的SDK Mana转载 2014-06-25 17:35:47 · 634 阅读 · 0 评论 -
Android:theme
android:theme="@android:style/Theme.Dialog" : Activity显示为对话框模式android:theme="@android:style/Theme.NoTitleBar" : 不显示应用程序标题栏android:theme="@android:style/Theme.NoTitleBar.Fullscreen" : 不显示应用程序标题转载 2014-04-28 18:17:42 · 977 阅读 · 0 评论 -
CursorLoader
工作内容集中到Contact模块,这个应用查询数据的地方很多,其使用了CursorLoader这个工具大大简化了代码复杂度。android自3.0提供了Loader机制,当时google的API只是简单的介绍了一下没有给出用法,大家很少有关注。后来因为重度模型下的性能优化,R&D的朋友发现这个东西非常给力,这才开始注意到这个强大的工具。CursorLoader是Loader的子类,可以说是Load转载 2014-04-28 13:23:19 · 927 阅读 · 0 评论 -
Android国际化语言缩写对应
af 公用荷兰语af-ZA 公用荷兰语 - 南非ar 阿拉伯语ar-AE 阿拉伯语 - 阿拉伯联合酋长国ar-BH 阿拉伯语 -巴林ar-DZ 阿拉伯语 -阿尔及利亚ar-EG 阿拉伯语 -埃及ar-IQ 阿拉伯语 -伊拉克ar-JO 阿拉伯语 -约旦ar-KW 阿拉伯语 -科威特ar-LB 阿拉伯语 -黎巴嫩ar-LY 阿拉伯语 -利比亚ar-MA转载 2014-05-12 16:22:49 · 2855 阅读 · 0 评论 -
adb命令
adb是android SDK提供的一个可以连接本机和目标设备的命令行调试工具,在开发中经常使用以提高效率,记录分享一下1、adb start-server 开启adb服务2、adb kill-server 终止adb服务3、adb devices 列出可连接设备,包括真机和虚拟机4、adb install 安装指定的apk到连接的设备上5、adb install -r 安转载 2014-05-12 17:20:57 · 745 阅读 · 0 评论 -
Android横竖屏切换时候的activity的生命周期
1) 新建一个activity,并把各个生命周期打印出来2) 运行activity,得到如下信息:onCreate()àonStart()àonResume()à 3) 按ctrl+F12切换成横屏时 onSaveInstanceState()à onPause()à onStop()转载 2014-03-27 11:08:38 · 807 阅读 · 0 评论 -
onSaveInstanceState() 和 onRestoreInstanceState()
Activity的 onSaveInstanceState() 和 onRestoreInstanceState()并不是生命周期方法,它们不同于 onCreate()、onPause()等生命周期方法,它们并不一定会被触发。当应用遇到意外情况(如:内存不足、用户直接按Home键)由系统销毁一个Activity时,onSaveInstanceState()才会被调用。但是当用户主动去销毁一个Act转载 2014-03-27 11:08:00 · 561 阅读 · 0 评论 -
startService与bindService有什么区别
service的生命周期方法比Activity少一些,只有onCreate, onStart, onDestroy 我们有两种方式启动一个Service,他们对Service生命周期的影响是不一样的。1 通过startService Service会经历 onCreate --> onStart stopService的时候直接onDestroy转载 2014-03-27 11:05:26 · 726 阅读 · 0 评论 -
Android获取屏幕分辨率及DisplayMetrics简介
Android 可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题。手机的分辨率信息是手机的一项重要信息,很好的是,Android 已经提供DisplayMetircs 类可以很方便的获取分辨率。下面简要介绍 DisplayMetics 类:Andorid.util 包下的DisplayMetrics 类提供了一种转载 2014-02-18 15:28:29 · 932 阅读 · 0 评论 -
Support Library
Support Library在本文档中概观修订另请参阅支持库特征支持库设置Android的支持库包是一组代码库,它提供了Android框架API的向后兼容的版本以及功能,这些功能只能通过库API。每一个支持库是向后兼容到一个特定的Android API级别。这种设计意味着你的应用程序可以使用图书馆的功能,但仍然可以与设备运行An原创 2014-07-25 15:21:32 · 1768 阅读 · 0 评论 -
Android Studio 快捷键
Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动转载 2014-07-08 17:44:18 · 563 阅读 · 0 评论 -
Android最佳实践性能(三)提高性能布局(优化布局层次结构)
优化布局层次结构上一课下一课这节课教你检查你的布局修改你的布局使用林特你也应该阅读XML布局布局资源它是一种常见的误解,认为使用基本布局结构导致最高效的布局。但是,您添加到您的应用程序的每个窗口小部件和布局需要初始化,布置和绘制。例如,使用的嵌套实例的LinearLayout可能会导致过深视图层次。此外,嵌套多个实例的原创 2014-08-04 11:06:55 · 964 阅读 · 0 评论