Android
文章平均质量分 90
林深
创造并改变
https://github.com/OboBear
展开
-
Android重写View
许多时候需要重写View,对view的重写可以实现很多我们需要的效果原创 2014-11-20 18:04:38 · 892 阅读 · 0 评论 -
【Android】Android自定义带board的圆角控件
介绍圆角控件常用于头像,按钮,图标等,用途十分广泛,而且常常配合board使用。在IOS中,UIVIew的CALayer层已经提供了圆角和board的方法,所以圆角控件的制作非常简单,只需要类似以下简单代码即可实现: view.layer.cornerRadius = 20; view.layer.borderColor = [UIColor yellowColo原创 2016-05-12 00:51:52 · 5954 阅读 · 0 评论 -
【Android】socket局域网通信
我有一段时间特别想实现一个短距离的手机交互软件,比如多人联机小游戏app或者是多人文件共享app等,思来想去,得出了两个方案,一个是使用手机自带的蓝牙设备,通过蓝牙技术实现两个手机的数据交换,而另一个就是使用socket了。蓝牙技术对于android的小伙伴来说并不陌生,传文件什么的常用到,而且网上资料也十分丰富,所以这里不详细说明。而socket则是网络通信的大神级工具,无论c语言也好java语原创 2015-09-16 09:09:49 · 3157 阅读 · 0 评论 -
Android插件化原理解析——Hook机制之动态代理
转发必注明出处:Hook机制之动态代理使用代理机制进行API Hook进而达到方法增强是框架的常用手段,比如J2EE框架Spring通过动态代理优雅地实现了AOP编程,极大地提升了Web开发效率;同样,插件框架也广泛使用了代理机制来增强系统API从而达到插件化的目的。本文将带你了解基于动态代理的Hook机制。阅读本文之前,可以先clone一份 understand-plugin-frame转载 2016-05-03 23:09:55 · 1460 阅读 · 0 评论 -
【Android】Android动态代理为SurfaceHolder添加Hook
本博客将会介绍动态代理在Android应用中的对第三方SurfaceView进行镜像翻转中的应用。代理模式的作用是为其它对象提供一种代理以控制对这个对象的访问。比如用户调用了一个“吃饭”的方法,如果不依靠代理,用户可能自己拿碗饭吃就行,而如果通过代理的话,可能连碗都不需要用户自己拿,用户只需要张开嘴,代理来喂就行了,需要注意的是,这里代理除了负责拿碗和喂饭外还可以做其他的任何事情,比如说帮你把饭吹凉一些,或者担心你的体重而偷偷帮你倒掉了一半的饭,又或者是往饭里加点什么奇奇怪怪的东西,谁知道呢,这就是代理干的原创 2016-05-22 23:46:42 · 7096 阅读 · 4 评论 -
【Android】android镜像翻转
Android镜像翻转指的是将屏幕进行水平的翻转,达到所有内容显示都会反向的效果,就像是在镜子中看到的界面一样。这种应用的使用场景相对比较受限,主要用在一些需要使用Android手机界面进行镜面投影的地方,比如说车载手机hud导航之类的。在没办法对硬件进行直接翻转的适合,只能从代码进行着手。下面将会提供两种解决方案,能够解决一部分镜像翻转的情况。原创 2015-12-04 10:25:07 · 34204 阅读 · 5 评论 -
【Android】在Recent列表中隐藏App
recent列表,指的是:在Android中长按Home键所显示的最近使用的程序缩略图。一般App运行之后,都会在这个列表中留下纪录,且许多用户习惯通过这个列表直接杀掉App。不过最近发现自己在用的一款闹钟App在启动后,按back或者home键后,都不会在recent列表中留下任何纪录,所以非常好奇它的实现原理。于是反编译了它的Apk,发现在AndroidManifest中给Acti原创 2016-07-31 19:28:45 · 2360 阅读 · 0 评论 -
【Android】发包过程中踩过的坑
Android发包有许多坑的地方,下面对之前遇到过的问题进行总结,以期望将来不再出现这些令人不快的问题。1. 代码混淆代码混淆问题已经在发包流程中多次出现,其主要的原因是:靠反射执行的方法在代码混淆后会找不到反射的类导致该部分功能失效,甚至导致Crash。这一问题在广告以及第三方SDK的使用中多次出现,尤其是在SDK升级或者接入新的SDK的时候特别要注意这个问题,另外在自己使用原创 2017-08-22 11:15:26 · 1491 阅读 · 0 评论 -
【Android】自定义Binder与进程间通信
多进程需求在我们开发中常有遇见,因而学习多进程的通信机制是非常有必要的。我们知道,AIDL、Messenger等常用的进程间通信框架都是对Binder的封装,所以,学习Binder的使用对后续理解Binder机制有非常大的好处。本篇目的就是要从自定义Binder出发,实现基本的进程间通信功能。原创 2017-09-05 01:40:03 · 1810 阅读 · 0 评论 -
【Android】Mac 搭建Android Studio
手贱误删了一次,重新发一遍mac搭建Android Studio也就是AS环境。在没有用梯子的情况下,捣鼓了两天,终于是在mac上面把AS 的开发环境弄出来了,先展示一下成果还有这张先把用到的资源包都挂出来吧,点击打开链接里面包含了mac上搭建AS所需要的Android Studio:开发工具SDK:android开发相关的工原创 2016-05-29 08:12:21 · 2407 阅读 · 0 评论 -
【Android】AOSP源码下载及编译 for mac
本文记录了AOSP在Mac系统上下载和编译的过程。采用的系统是 macOS 10.13.1所使用的AOSP分支是 android-8.1.0_r7系统预留空间 大于200G一. 环境配置 环境配置,官网给出了非常全的教程:Build Environment 对于Mac用户来说,需要配置的相对也不会很多 1. 创建大小写敏感文原创 2018-01-25 12:10:09 · 2398 阅读 · 0 评论 -
【Java】java使用反射访问对象方法和成员变量
虽然java是一门静态语言,但是java的反射机制却给java提供了很强大的动态特性,其特点是能让java支持在运行时才能得知名称与内部结构的类,并能访问其所有的方法和成员变量,包括私有方法和私有成员变量。下面我写了一个比较简洁的测试代码,供参考和使用。测试类//OBClass.javapackage com.obo.javaassistdemo;public class OBCla原创 2016-02-05 21:10:52 · 1989 阅读 · 3 评论 -
【Android】自定义view-拖动小球移动
Android应用界面中可以看得见的都是由一个个的View所组成的,几乎所有的可视的控件都是基于View写的。在View中提供了对touch也就是手势的捕获和传递,我们可以对View里面手势的重写来达到我们所需要的特性。比如说我们现在要做一款游戏,内容很简单,就是要实现让如图所示的一个黑色的小球在根据手指移动而在手机屏幕内移动。原创 2015-08-22 09:11:41 · 4897 阅读 · 0 评论 -
【Android】android studio ndk使用例子
首先要配置好必须的环境,详细见我的前几篇的博客http://blog.csdn.net/leilba/article/details/47206231http://blog.csdn.net/leilba/article/details/473813651.为工程设置ndk路径打开android studio,右键工程,选择open Module Setting原创 2015-09-04 11:23:13 · 1740 阅读 · 0 评论 -
Android点亮解锁屏幕
在许多应用都要用到在手机待机状态的时候点亮屏幕并解锁屏幕,比如说闹钟应用和重要消息提醒的应用。话不多,首先是点亮屏幕:这里先在AndroidManifest.xml里添加系统权限:然后在java代码里面添加下面的方法,需要使用的地方调用一下即可public void lightScreen(long time);参数是点亮的时长 { PowerManager.WakeL原创 2014-11-30 09:30:08 · 933 阅读 · 0 评论 -
Android网络通信 Get方法使用
在使用之前,要确认通信环境已经配好了,HttpClient所需要的包也已经导入了,具体的可以见我前一篇博客在使用HttpClient的时候,可以使用的方法包括 Get方法、Post方法、Put方法、Delete方法等,这些都是HttpClient.jar给我做好了的,我们使用的时候只需要调用就可以了。首先,从Get方法的使用开始讲起。Get方法,顾名思义,是从网络获取数据,在使用上面是原创 2015-03-26 11:29:20 · 730 阅读 · 0 评论 -
Android 网络通信HttpClient的环境配置和注意点
只要是涉及到开发与服务器交互的android应用,就一定会接触到android网络开发。在android或者说是Java中,最常用到的是HttpClient工具,要使用的话首先要先去下载一个 httpclient-4.2.jar 的包,当然版本可以自行调整。导入包很简单,只需要复制到对应工程lib文件夹里面就可以了,如下图所示:原创 2015-03-26 10:53:51 · 1181 阅读 · 0 评论 -
android 自定义view 缓存技术
在android应用开发过程中,常常涉及到需要自己来重写一个view。一般情况下,只需要重写view中的onDraw方法就能够实现绘制的工作,但是有的时候,涉及到多层且动态的效果的话,不加处理而直接在onDraw中直接绘制的开销会十分大,这种情况下,应用缓存技术就十分有必要了。缓存技术的原理其实十分简单,就是事先将需要展现的界面全部绘制完成,然后在onDraw里面直接将缓存好的界面展示出来就可原创 2015-05-13 14:46:44 · 2499 阅读 · 0 评论 -
Android Studio 将github作为远程maven仓库
github是一样很好用的工具,除了能作为开源项目的搜索工具外,还能用来搭建maven仓库,方便远程的使用。为此,我查阅了一些资料也结合了一些博主的博客,一步步试验最后成功搭建出了这样的maven仓库,在这里我将整个搭建的过程分享给大家。一、准备准备好两样必要的工具 git和gradle1.安装git,直接下载一个GitHub Desktop for Mac安装原创 2015-10-23 23:05:30 · 4387 阅读 · 4 评论 -
Retrofit 2.0 (v2.0.0-beta4)
原文地址:Retrofit 2.01.介绍Retrofit可以将你的HTTP API转化为JAVA的接口的形式。例如:public interface GitHubService { @GET("users/{user}/repos") CallListRepo>> listRepos(@Path("user") String user);}翻译 2016-02-18 12:28:08 · 3770 阅读 · 2 评论 -
Android竖屏模式实现横屏效果
android横竖屏切换是非常耗时间的,而且切换的过程也会存在明显的翻转卡顿效果,那么是否可以在竖屏模式下实现横屏的效果呢?答案是肯定的,这里提供一种方法,其思路是对view进行90度的旋转,而且实现起来非常简单,其效果图如下:首先我们先在layout里排版出一个水平的布局,如下图:是不是很简单?布局代码如下:<LinearLayout xmlns:andro原创 2016-03-31 23:31:01 · 6202 阅读 · 1 评论 -
mac搭建android studio环境
mac搭建android studio环境,在没有翻墙的情况下,捣鼓了两天,终于是在mac上面把android studio 的开发环境弄出来了,先展示一下成果先把用到的资源包都挂出来吧,点击打开链接里面包含了mac上搭建android studio所需要的java jdk7:java开发环境,android必备android studio:开发工具sdk:android开发相关的工具、ap原创 2015-08-02 12:49:11 · 1307 阅读 · 0 评论 -
【Android】Android studio调试源码版本不对应问题
在使用Android studio进行调试的时候,我们经常会需要debug到源码内部,这个时候经常会出现debug位置与源码行号对应不上的问题,这是因为我们使用的测试设备中的系统版本与我们AndroidStudio中使用的SourceCode的版本不一致导致的。比如我们使用的是6.0的设备,而Android Studio错误地识别并使用了版本为8.0的SourceCode,就会出现这个问题。我们从原创 2018-01-29 18:07:46 · 5010 阅读 · 0 评论