自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 收藏
  • 关注

原创 要在activity中申明自定义的字段

2019-05-12 15:24:41 349

转载 指纹识别

指纹识别 我们可以在手机中保存多个指纹,当我们解锁的时候任意一个录入的手指都能够打开手机。但是,如果是支付宝就不可以了。 支付宝涉及到钱财,安全级别就很高了。当我们打开支付宝的指纹功能,他会提示我们录入指纹,这时候会跟我们的指纹库对比,如果有,则录入成功,保存该指纹的信息。 当我们用另外一个手指测试,其实“` @Override public void onAuthenticationSu

2017-08-11 11:36:49 623

翻译 遮罩层--主题

遮罩层,其实是根据传入的view,在activity根目录中添加一个布局,其中传入的view为一个全透明。 主题,通过getfactry(),获得各个view的属性,然后改变

2017-08-03 10:41:51 433

转载 防止内存泄漏--android-weak-handler

这里写链接内容 这里写链接内容

2017-08-01 18:10:37 560

原创 日志打印

在做开发的时候总会为了查看参数是否正确而进行log的打印。 推荐使用GitHub地址, 使用的方法:在项目的gradle添加buildscript { repositories { jcenter() mavenCentral()//这里 } dependencies { classpath 'com.android.to

2017-08-01 17:44:31 316

转载 xml,Excel文件的读取

https://yq.aliyun.com/articles/51591

2017-06-16 16:39:40 464

转载 让TextView的drawableLeft与文本一起居中

https://yq.aliyun.com/articles/51591

2017-06-14 19:03:08 592

转载 xml,Excel文件的读取

*/ public HotArea readDoc(InputStream inputStream) { Document doc = null; HotArea root = new HotArea(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

2017-06-14 16:30:46 838

转载 view布局生成图片

参考的连接这里写链接内容ll.setDrawingCacheEnabled(true); ll.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); ll.layo

2017-06-12 11:01:45 352

原创 不规则图片的点击事件

有时候老板给你一张图片,然后说图片的某个图形有点击事件,那么怎么做呢?根据点击事件的透明度android不规则图形点击处理,通过点击区域的图像判断选中,透明部分则向下传递点击事件 这个是代码的地址知道图形在图片的具体位置,然后根据点击事件判断位于哪个区域这个是地图

2017-06-05 18:27:33 673

原创 关于计时器的一些问题

由于公司业务的需要,需要每隔一分钟上传一次定位的信息。刚开始想的很简单,开启一个服务,然后每隔一分钟上传一次。但是在进行的时候就出现问题了。首先是服务的保活,不能因为内存紧张等被杀死,于是采用了前台服务,基本可以搞定。(公司的是定制的华为手机,其他的手机没有测试); 然后就是每隔一分钟进行定位上传,那么问题来了。 既然是一分钟,我们当然会使用计时器timer这个我测了一下,非常的不准确,间隔有点

2017-05-18 15:16:57 641

原创 百度地图

listviev gridview中嵌套 百度地图,当滑动的时候会出现黑边以及闪烁,根据官方的建议,使用 TextureMapView。但是i问题又来了,当activity被遮挡,然后返回,TextureMapView就会黑屏。 解决办法是: ` @Override protected void onPause() { super.onPause();

2017-05-02 18:24:58 255

原创 头像认证

最近闲着没事看到有些app需要上传的图片必须是本人的。当你上传的时候需要通过视频进行认证。于是有了一个不成熟的想法:图片的认证。通过打开摄像头,然后在扫描我们头像的时候进行拍摄,然后跟我们上传你的照片进行比较。看是否为一个人。这个图片的验证我用了讯飞语音的图片认证:// 使用FaceRequest(Context context)构造一个FaceRequest对象 FaceRequest fac

2017-04-17 14:47:13 1529

原创 android 腾讯云直播

闲着无聊看一下腾讯云直播的demo,然后在他的基础上进行修改。LoginActivity判断是否有缓存数据,如果有直接登录,没有的话初始化控件,然后注册登录 再此activity中需要初始化sdkHomeActivity登录成功跳转到主界面。 主界面是tabhost,分别跳转到FragmentList,PublishLiveActivity FragmentLiveList为直播fragmen

2017-03-06 19:17:42 1477

转载 Android 视频压缩

这里写代码片网上差值视频压缩,大多说都是说使用FFmpeg。于是就找例子,找来找去发现他们所用的代码都是一样的: 例如这个:这里写链接内容 看完代码,依然一脸懵逼,里面的参数不知道什么意思,根据代码可以知道,最主要的一段话是:"-y -i /mnt/sdcard/kaishi.mp4 -strict -2 -vcodec libx264 -preset ultrafast -crf 24 -ac

2017-02-27 17:31:57 4032

转载 mqtt

进入公司,用的是ibm的mqtt实现了推送,用起来效果还可以,那么我们就看一下Android如何链接mqtt服务器。标题private void init() { try { //host为主机名,test为clientid即连接MQTT的客户端ID,一般以客户端唯一标识符表示,MemoryPersistence设置clientid的保存形式,默认为以内存保存

2017-02-27 15:07:28 505

翻译 AccessibilityService

AccessibilityService过年的时候大家都用红包插件来抢红包,当时我就很装逼的说这个东西我会做,其实我还是不会的,只是以前看过一片文章,知道他的原理。 链接地址钉钉来到新公司,于是开始使用钉钉打卡,于是我有了一个测试机。于是我就想,我能不能模拟点击进行签到。于是我就开始做: 我的想法是开启一个服务,当在设定的时间打开钉钉: Intent LaunchIntent = getPac

2017-02-20 17:18:24 461

原创 android 传感器

加速度传感器借用别人的图片,以及理解: 加速度传感器分为 x,y,z; 我们可以借助三轴上的值来确定设备的状态(请参考上面的坐标图),比如: 1、当x轴的值接近重力加速度时,说明设备的左边朝下。 2、当x轴的值接近负的g值时,说明设备的右边朝下。 3、当y轴的值接近g值时,说明设备的下边超下(与上图一样)。 4、当y轴的值接近负的g值时,说明设备的上边朝下(倒置)。 5、

2017-02-16 16:57:48 536

原创 前台服务

根据网上的只是,Service包活的方法有很多,什么双进程守护,双服务守护,ondestory中重启进程。但是呢,个人感觉还是前台进程靠谱。用法前台进程跟普通的方法很相似,只是在onstartcomment方法里调用创建通知的方法: public int onStartCommand(Intent intent, int flags, int startId) { Notificat

2017-02-14 15:56:22 493

原创 Android面试复习

面试背诵1 http加密传输 我们都知道,一般 的软件都存在登录模块,当我们用http进行登录的时候,如果不进行处理,则会被别人抓取大数据,怎么办呢,数据加密。 文章链接 数据加密一般分为对称加密和非对称加密。 对称加密的加密和解密秘钥相同,优点是算法简单,加密速度快,例如aes。 非对称加密,分为公钥和秘钥,例如des。 现在的问题在于,如果使用aes加密,就必须把aes的秘钥传输

2016-11-01 16:45:59 986

原创 android launcher开发(9)Launcher的窗口周期

应用程序activity的创建Launcher作为一个activity,如果要界面的显示,必须依附在窗口之上,也就是说,在anctivity创建之前,窗口必须进行创建。 当启动一个activiy的时候,activity管理服务通过activity线程类的perfromLaunchActivity方法创建应用程序运行的必要条件,例如上下文,窗口应用程序窗口的创建 final void attach(

2016-09-12 11:35:35 481

原创 android launcher开发(8)按键的处理

一般情况下,当按键按下的时候,会调用onkeydown方法,除了home键@Override public boolean onKeyDown(int keyCode, KeyEvent event) {// 返回字符编码 final int uniChar = event.getUnicodeChar();// 让基类处理按下事件

2016-09-09 15:38:05 2061

原创 android launcher开发(7) 启动应用

我们都知道,Launcher中最经常做的的操作就是启动应用程序。那么Launcher是怎么启动的呢? public boolean startActivitySafely(View v, Intent intent, Object tag) { boolean success = false;// 是否是安全模式 根据intent判断是否为系统应用

2016-09-09 13:58:47 2363

原创 android launcher开发(6) Launcher暂停,停止,销毁

当一个新的Activity被重新启动,上一个activity会进入onpause()状态。那么默认onpause中实现了什么呢? if (DEBUG_LIFECYCLE) Slog.v(TAG, "onPause " + this); getApplication().dispatchActivityPaused(this); 通知注册在应用程序的activity生

2016-09-08 17:37:23 1861

原创 android launcher开发(5) Launcher的显示

当activity在oncreate()中进行了初始化,随之开始进入onresume()方法。这就意味着,该activity处于前台,并且拥有用户的焦点。

2016-09-08 15:47:31 1415

原创 android launcher开发(4) Home键与launcher

Home键现在我有一个红米手机,点击home键,退出当前的应用程序,如果我长按,那么他会显示最近使用的应用。点击home键回到launcher界面,那么是不是说launcher监听到了home的点击事件。 答案是否定的,home的点击事件无法被应用程序所捕获,launcher也不例外。Home点击事件处理总从3.0之后,安卓实现了导航栏,SystemUi,他包含三个按钮,后退,home,最近访问按

2016-09-08 11:51:55 6363

原创 android launcher开发(3)初始化界面

初始化运行环境 LauncherAppState.setApplicationContext(getApplicationContext()); LauncherAppState app = LauncherAppState.getInstance(); 在oncreate中会调用这个方法,LauncherAppState 保存着初始化的信息,并且Launcher实现了Laun

2016-09-07 17:33:53 4315

原创 android launcher开发(2)状态的保存与恢复

Launcher除了进行桌面应用程序的展示意外,还提供管理应用程序的功能。作为一个程序,launcher长期位于后台,因此他也可能遭遇到app的危机,当内存不足的时候遭受到系统的回收。那么问题来了,我们如何进行launcher状态的保存与恢复。activity的状态保存我们都知道,activiy是在onsaveInstanceState()中进行状态的保存。onSaveInstanceState(B

2016-09-07 14:54:12 1756

翻译 android launcher开发(1)

从这里可以下载源码 launcher,启动器,是我们安卓系统运行的第一个程序。我们可以通过学习源码,对launcher进行了解,从而定制我们的桌面程序。清单文件通过源码我们可以看出,launcher中声明 了一些 自定义的权限。 <activity android:name="com.android.launcher3.Launcher" andr

2016-09-07 13:45:03 2768

翻译 进程保活

参考地址 在我们的手机中,除了qq微信支付宝等大牌软件,我们的app都会担心着进程被系统杀死的问题,那么我们如何保证呢。进程的级别1 前台进程 也就是我们当前所操作的 2 可见进程 没有任何前台组件,但仍然会影响聘雇所见内容的进程 3 服务进程 后台运行 的 执行一些耗时操作 4 后台进程 对用户的体验没有任何的影响 5 空进程 我们要想减少进程被杀死的概率,那

2016-09-06 11:29:45 305

转载 百分比布局

参考地址 屏幕的适配是我们android开发最经常做的事情之一,我们一直指望着能够一套布局适配所有。 于是在android5.0之后,提供了android-support-percent-lib,这样我们可以尽情的使用。 使用的时候,我们嗯需要设置的有 layout_marginPercent、layout_marginLeftPercent、 layout_marginTopPer

2016-09-06 10:41:50 258

转载 app内存不足

apk代码混淆与资源混淆众所周知,默认情况下,系统会给app提供一个进程。进程是分配资源和调配的基本单位,拥有独立的内存空间和资源。我们经常的操作是多线程操作。 随着时间的推移,语音,视频,直播的流行,app的大小越来越大,需要的内存空间越来越大。系统默认分配的内存已经不能满足需求,多数时候我们可以在android:minSdkVersion=”11”及以上的应用中,给AndroidManifes

2016-09-01 13:56:42 418

转载 视频类引导动画

这里是作者的文章这两年,app做的越来越炫,尤其是引导页,从最基本的viewpager到如今的动画,有的甚至就像视频的引导页。 说实话刚开始这种效果,我也认为是三个动画构成,不停的感叹别人家的程序猿的动画水平。 知道看到这个,原来他是一个视频播放器,vidioview通过seekto播放不同时段的视频。而上层呢,就是我们传统的viewpager,通过手势我们改变滑块,然后改变vedioview的

2016-08-30 18:01:15 382

转载 插件化

small 热补丁修复技术 热补丁修复技术的比较 andfix热补丁修复技术 andfix代码 根据网上的例子我们大多都可以写出一个demo,那么另外一个任务就是制作.patch文件。阿里巴巴为我们提供一个文件,可以按照这个例子。 首先进入window的命令提示符,cd 进入apkpatch的解压目录。 然后调用 apkpatch.bat -f new.apk -t old.apk

2016-08-29 16:52:30 326

转载 android视频技术

原文章地址 就、像前几年的每个app都会有聊天功能一样,现在的app都会有一个直播功能。对于直播技术,网上并没有什么太多的资料。很大一部分,都是对视频进行播放,也就是我们常说的视频播放器,其中最重要的问题就是视频的编码和解码。现在的直播技术是在原来的基础上多了一个视频录制。视频编码android中视频的编码有两种方式,它们有利两个核心类,一个是MediaCodec,另外也给是MediaRecord

2016-08-26 11:37:54 946

转载 网络加载框架Retrofit2

传送门安卓的更新换代,各种新框架,各种新的控件,当我安卓5.0的新特性还没熟悉的时候什么安卓6.0就出来了。就像网络框架,不说我们经常是原生态的http请求,还有前两年Volley框架,到如今的okhttp,retrofit。感觉现在谁网络请求不用个okhttp就有一种跟不上时代潮流。retrofit是什么retrofit框架的底层是基于okhttp,但是呢,它对http进行的封装、如何使用retr

2016-08-25 16:06:43 260

转载 Realm

在安卓中有很多的数据库框架,greendao,ormlite。 和SQLite相比,Realm速度更快并且它有很多先进的特性,例如对JSON的支持,流畅的API,数据变化通知(观察者),加密支持… 想要创建一个Realm, 你可以在任意一个Activity中调用静态方法Realm.getInstance。Realm myRealm = Realm.getInstance(context); 需

2016-08-25 15:01:02 254

转载 可以展开的textview

源码地址 使用说明: 把TextViewExpandableAnimation.java以及一些资源文件比如attrs.xml拷贝到你的项目。<com.freecats.demo.view.TextViewExpandableAnimation xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id

2016-08-24 16:40:11 294

转载 dragger---依赖注入式框架

本人比较懒,为了加深自己的印象,一般都是看着别人的博客,然后自己打上去,也算是抄袭吧。传送门依赖是什么我的理解是,a和b,如果b要进行下一步操作,必须从a那里获得数据,那么b就是依赖a。 private Module2 module2; public Module1(){ module2 = new Module2(); } public void doSometh

2016-08-19 13:54:04 890

转载 rxjava初学笔记

**大神的博客闲来无聊,发现网上很多在讨论rxjava。rxjava是什么呢,说实话到现在我还是不知道。暂时我的理解是,他是一个以观察者模式的库,这样降低的代码的耦合性,简化的代码的逻辑,看到它的第一个感觉就是eventbus。 既然是采用观察者模式,那么rajava含有观察者,被观察者,订阅。被观察者,通过onnext方法把事件传递给观察者。** 同是,跟寻常观察者模式不同的是,rxjava含

2016-08-18 14:46:58 325

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除