自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lenny的专栏

接下去是你的表演时间

  • 博客(113)
  • 资源 (17)
  • 收藏
  • 关注

原创 Android无权限弹悬浮窗适配8.0

背景  相信大家在开发的过程中肯定会遇到创建悬浮框需要权限的问题,如果不申请权限会出现以下错误: token null is not valid; is your activity running?  或者类似的错误,这类的文章在百度上面经常可以查看到,但是基本上都是停留在Android6.0以下的,文章比较老旧。随着6.0之后的巨大变化...

2018-02-23 10:12:01 10613 2

原创 最全的 APPLink 的使用与源码

简介通过 Link这个单词我们可以看出这个是一种链接,使用此链接可以直接跳转到 APP,常用于应用拉活,跨应用启动,推送通知启动等场景。流程在AS 上其实已经有详细的使用步骤解析了,这里给大家普及下快速点击 shift 两次,输入 APPLink 即可找到 AS 提供的集成教程。在 AS 中已经有详细的使用步骤了,总共分为 4 步###add URL intent filters...

2019-09-26 22:05:21 8902

原创 Android 多厂商推送集成

前言按劳分配,多劳多做。好不容易集成完了个推的推送 SDK,美滋滋的准备划一会儿水,鸟哥吩咐为了保证应用杀死后也可以接收到推送,并且降低服务端的维护多渠道的开发成本,还得集成下个推的多厂商渠道。等等!!!什么是多厂商?! 我没看到官网文档里面有任何关于多厂商的字样。鸟哥慢悠悠道来这是 VIP 才有的专属通道。行吧,又去联系他们的支持了,港真他们技术支持发的集成资料我看的还是不太明白(也许是我太菜...

2019-09-19 10:26:27 6067 3

原创 最新个推Android 推送 SDK Maven 集成

概述公司准备采用个推作为第三方推送平台,我作为客户端的头号小鸟,掐指一算已经毕业 0.1 年了,Leader 准备把这个简单而又独立的功能点交给我来处理,我紧张兮兮的打开官网集成文档 学习了起来。其实早在自己大二的时候就集成过个推,溜达一圈又回来集成个推了,个推真是个磨人的小妖精啊…啊…,现在发现个推比起当年集成起来真的方便多了,写下这篇文章,让同学们可以更加快捷地集成个推推送。思维导图详...

2019-08-20 22:25:42 2012 5

原创 Android多进程简介

简介在四大组件中指定 android:process 属性,就可以轻松开启多进程的模式。开启开启的方法一般分为2种,先说一个非常规的,比如通过 jni 在 native 层直接 fork 出一个,比如我们常见的 AMS 的创建,在应用层很少见,常用的还是下面这种方式。 <activity android:name=".BinderSecondActivity" ...

2019-03-14 01:07:33 195

原创 Android消息机制

概述Android 的消息机制主要指的是 Handler 的运行机制,Handler 的运行需要底层的 MessageQueue 和 Looper 的支撑,而传输的对象是 Message。关系图名词解析Message:消息,其中包含了消息ID、消息处理对象以及处理的数据等,由MessageQueue统一列队,最后还是有Handler处理。Handler:处理者,负责Message的发...

2019-03-11 23:16:07 139

原创 Android WMS、 ViewRootImpl、Surface之间的关系

前言WindowManager虽然在平常开发中用的不多,但是它却是一个非常重要的类,此模块管理着 Android 中所有的窗口展示,包括我们熟悉的 Activity 、Dialog 等视图。所有需要显示到屏幕上的内容都是通过 WindowManager 来实现的。此文只是一个基础入门,主要是讲解 WindowManager 和 WindowManagerService(简称 WMS)。关系图...

2018-12-20 11:29:46 2015

原创 单例模式-Android源码LayoutInflater.inflater()解析View视图

再说源码之前,我们分析一波单例模式在Android源码中的体现:#类型恶汉模式:懒汉模式:双重锁模式:枚举单列模式:使用此模式,是为了防止对象在反序列化时重新生成新的对象。所以需要进行序列化操作,并且里面的成员变量如果不是Java的基本类型也需要进行序列化操作。容器单例模式:通过临时存储空间来存储对象,比如HasMap#伪代码#UML#源码中的体现:##LayoutInfla...

2018-12-19 10:20:39 301

转载 Android 8.0源码

android-2.2_r1链接: https://pan.baidu.com/s/1qYfwxEO 密码: r217android-2.3.7_r1链接: https://pan.baidu.com/s/1qYqRB1E 密码: qceiandroid-4.1.1_r1链接: https://pan.baidu.com/s/1mhXwVgc 密码: qidjandroid-4.3_r...

2018-12-14 10:29:21 399

原创 研究MVC、MVP、MVVM三种常见的设计模式

简介所谓的设计模式其实是一种框架结构的体呈现,目的分离应用程序的页面展示,网络数据交互,数据呈现,随着项目复杂度的不断变化,新的框架也在不断的更新迭代,从最早的MVC模式,到后面的MVP以及MVVM,均是对项目的一种重构。MVC设计框架这个比较简单,适合一些中小型的项目。关键字MModule,模型层,用户数据管理,通常是一些 javaBean, db,share...

2018-06-13 14:55:47 1583

原创 JVM简介

引述:简单描述下jvm的垃圾回收策略,比如引用计数、标记清除等策略。JVM基本构成 JVM 主要包含以下部分 1. 类加载器(ClassLoader):在 JVM 启动时或者在类运行时将需要的 class 加载到 JVM 中,下图为从 Java 源文件到 JVM 的整个过程。2.执行引擎: 负责执行 class 文件中包含的字节码指令 3.内存区: 是在 JVM 运...

2018-04-09 14:32:10 317

转载 java的单例模式,为什么需要volatile

目前看了java并发的书,记录一下。对于java的单例模式,正确的代码应该为:public class TestInstance { private volatile static TestInstance instance; public static TestInstance getInstance() { //1 if (instance == n...

2018-03-20 16:33:54 514

原创 Android onTouchEvent和onClick冲突、performClick()源码分析

我们在开发中往往会对一个View或者ViewGroup进行自定义的操作,比如重写她的onTouchEvent事件 @Override public boolean onTouchEvent(@NonNull MotionEvent event) { return super.onTouchEvent(event); }该函数是有个返回值的,那么FA

2018-01-24 09:00:35 1273

转载 Android studio 高级配置

本文主要内容来自Dmytro Danylyk 在Medium 的文章Configuring Android Studio。在此感谢!虽然使用 Android Studio 有一定的时间了,但文中的某几个设置之前还真不知道,且原文在长城外,因此在翻译原文的基础上作了一些补充,若有新的发现会即时更新。希望对大家尤其是刚接触 Android Studio 的朋友有一点帮助。前面的话A

2016-09-29 16:15:45 535

转载 微信小程序初体验

微信小程序可谓是今天最火的一个名词了,一经出现真是轰炸了整个开发人员,当然很多App开发人员有了一个担心,微信小程序的到来会不会给移动端App带来一个寒冬,身为一个Android开发者我是不相信的,即使有,那也是很遥远的未来。 不管微信小程序是否能颠覆当今的开发格局,我们都要以好奇的心态去接收,去学习。不排斥新技术,所以,心动不如行动,赶紧先搭建一个微信小程序开发工具。那么接下来就让我们一起来

2016-09-23 11:28:11 6370 4

原创 webview和h5的交互

现在APP中经常会发现很多很多的H5页面,所以webview与js的交互显得非常重要:一.理论:     在交互这块我们会涉及到两个场景:一种是h5直接调用原生的,这个时候在原生这边登录成功后,我们会执行一段协商好的js代码,callback传递一些参数返回给h5;另外一种是原生登录成功后,服务端会返回给我们cookie,并利用框架的属性把这个cookie进行持久化,这样下次请求的时候则自

2016-08-31 11:41:28 6693

转载 Android Studio编译、导入aar库的方法

1.如何将一个工程编译成aar?在工程的build.gradle中配置[plain] view plain copyapply plugin: 'com.android.library'  注意:在defaultConfig中不要定义applicationId,因为aar是库,无applicationId2.如

2016-08-22 18:46:07 4934

原创 Android工具类搜集

1.检测图片是否被加工过 /**     *     * @param 图片路径     * @param 检验的数据集     * @return     */    public static String checkImagePs(String path, List psKey) {        File file = new File(path); 

2016-07-04 11:13:56 351

原创 友盟自定义分享到朋友圈只显示图片

友盟分享总结:case wechat_friend: sp.setPlatform(sharePlatForm.media); sp.withTitle(shareModel.getTitle()); sp.withText(TextUtils.isEmpty(shareModel.getInfo()) ? shareModel.getTitle() : share

2016-06-30 11:38:53 3588 1

原创 android控制系统回退按钮再按一次退出程序

@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if ((System.currentTimeMillis() - mExitTime) > 2000) { UIHelper.makeTo

2016-06-29 17:02:57 832

转载 gradleb编译的finished with non-zero exit value问题

转载自:http://www.jacpy.com/2016/04/22/android-studio-error-collection.html在使用Android studio过程中,使用gradle编译的时候总会出现一些问题,下面是几个常见问题的解决方法。被编译的代码或资源有问题( finished with non-zero exit value 1):出现这

2016-06-29 16:30:51 2248

转载 SwipeRefreshLayout+ListView实现下拉刷新自定义上拉加载

public class RefreshLayout extends SwipeRefreshLayout implements AbsListView.OnScrollListener { /** * 滑动到最下面时的上拉操作 */ private int mTouchSlop; /** * listview实例 */

2016-06-07 15:24:10 412

转载 android edittext不弹出软键盘

EditText 不弹出软件键盘2011-05-17 12:291.EditText默认不弹出软件键盘 方法一: 在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden 例如:<activity android:name=".Main"             

2016-05-10 18:16:27 330

转载 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 自动

2016-04-26 11:58:34 230

转载 各个JSON技术的比较

一 、各个JSON技术的简介和优劣1.json-libjson-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括commons-beanutils.jar,commons-collections-3.2.jar,commons-lang-2.6.jar,commons-logging-1.1.1.jar,ezmorph-1.0.

2016-04-05 18:12:04 402

原创 okhttp+fastjson+三套环境的android—demo

该demo整合了okhttp+fastjson,对网络请求较彻底的封装解析。并用接口进行了调试。基本上可以直接试用于APP网络请求搭建具体的请看demo吧,内容比较多,直接上源码吧:http://download.csdn.net/detail/u013651405/9481737

2016-04-05 17:18:58 1242

原创 android自定义view之刷新验证码

今天大家和分享下登入时候经常遇到的问题,这边只是个模型:首先自定义view来onMeasue 作为存放验证码的地方,重写的view需要重写onDrawn和onMeasue 2个方法。onMeasue 这个方法是用来测量长宽: @Override protected void onMeasure(int widthMeasureSpec, int heightMeasu

2016-03-17 15:23:34 820

转载 android textview改变部分文字的颜色和string.xml中文字的替换

一:TextView组件改变部分文字的颜色: Java代码  TextView textView = (TextView)findViewById(R.id.textview);    //方法一:  textView.setText(Html.fromHtml("红色其它颜色"));    //方法二:   String text 

2016-03-11 11:04:55 736

原创 Integer的大小比较

今天在做算法的时候遇其中到这么一个问题,在一个类中其中一个属性是Integer,从后台的获取到的数据是一个比较大的数组,算1000好了  1public class Test { 2 3    /** 4     * 关于Integer大小比较问题 5     * @author 经理 6     */ 7    public static void mai

2016-03-10 14:22:40 6885

原创 运用fastjson+SharedPreferences 保存、读取复杂数据

存储数据:SharedPreferencesUtil.putString(getActivity(), getString(R.string.faxian_title), JSON.toJSONString));//tmpSubject是一个复杂的类读取: String s = SharedPreferencesUtil.getString(getActivity(),g

2016-02-25 15:45:20 965

转载 Android中设置TextView的颜色setTextColor

Android中设置TextView的颜色setTextColor转自:http://txlong-onz.iteye.com/blog/1249609 android中设置TextView的颜色有方法setTextColor,这个方法被重载了,可以传入两种参数。 Java代码  public void setTextColor(in

2016-02-22 15:36:23 422

原创 android子线程handler获取数据

今天和大家分享下android 获取接口时,开通子线程进行异步获取数据。我这边选用的是handler机制。在handler有多种获取方法。今天介绍的是一种比较流行,效率较高的一种方法:obtainMessage()。这种用的相对较少,毕竟常见的是sendMessage()。我们先来对比下,首先看sendMessage的写法private Handler handler = new

2016-02-22 15:28:18 2425

转载 JAVA字符串格式化-String.format()的使用

转自:http://blog.csdn.net/lonely_fireworks/article/details/7962171常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String forma

2016-02-17 15:40:29 288

原创 SwipeRefreshLayout里面嵌套listview的使用

SwipeRefreshLayout是android官方的下拉刷新控件; 它内部有且只能有一个子控件;  简单讲下原始代码的原理:    下拉时,计算手指移动距离,如果超过一个系统默认的临界值mTouchSlop,该事件就不下发到子控件进行处理,而是SwipeRefreshLayout自己处理。变量mDistanceToTriggerSync指定了下拉刷新的临界值,如果下拉

2016-02-15 16:49:00 2271

原创 android客户端点击图片,显示密码可见

直接上代码吧:应用:mPasswordFoundText.setOnClickListener(this);ImageButton visibleBtn = (ImageButton) findViewById(R.id.psd_visible);visibleBtn.setOnClickListener(new PsdVisibleChangeListener(visi

2016-02-15 11:56:34 1739

原创 FastJson的使用

相信在开发过程中数据经常和服务端打交道,怎么尽可能的提高服务端与客户端数据交流的效率是一件非常有意义的事情在现今的技术中,一般会选用gson、jackjson、fastjson。今天和大家分享的是fastjson,是阿里巴巴的一个开源工具,,它支持各种JDK类型,包括基本类型、JavaBean、Collection、Map、Enum、泛型等fastjson 解析json字符串为四种

2016-01-20 11:16:15 423

转载 Android中bindService的使用方法

bindService用于绑定一个服务。这样当bindService(intent,conn,flags)后,就会绑定一个服务。这样做可以获得这个服务对象本身,而用startService(intent)的方法只能启动服务。    bindService方式的一般过程:①新建Service类BindService。在BindService类里新建内部类MyBinder,继承自Bin

2016-01-07 16:37:16 662

原创 Android 、fragment、replace重叠问题

在前几天的项目中遇到一个很纠结的问题,如题。问题描述:点击原先Fragment上面的按钮,弹出新的Fragment,hide() 、replace()、 add()三个方法傻傻分不清楚。然后再百度上面转了好久都没有发现有什么非常好的解决方法。想到hide的时候用不能获取当前的Fragment ,最后查看源码的时候发现fFragment中有个findFragmentByTag根据一开

2015-12-11 12:56:54 2112

原创 viewpage+fragment+下划线滑动

今天和大家分享下viewpage+下划线的使用,Demo框架是使用viewpage+fragment的使用,这里就不介绍了,最下方有demo下载地址,着重看下划线这块。现在先看下效果图:滑动fragment的时候,字体下方的下划线会跟着滑动。关键在与viewpage的重写3个方法(摘自网络)1.onPageSelected(int position):这个方法有一个参数positi

2015-12-11 08:27:04 1359

原创 自定义隐式Intent弹出框,重写createChooser方法

获取所有报名: PackageManager pm = getActivity().getPackageManager(); List apps = pm.getInstalledPackages(0); Iterator iter = apps.iterator(); List AppNamelist=new ArrayList<>(); while (iter.hasNext()) {

2015-10-18 12:39:41 781

带动画的进度条

带有特效的android下载进度条,模仿window的进度条

2017-03-21

友盟分享集成QQ/微信/微博的自定义面板分享

友盟分享集成QQ/微信/微博的自定义面板分享,希望可以给予你帮助

2016-06-24

android okhttp网络框架

该demo整合了okhttp+fastjson,对网络请求较彻底的封装解析。并用接口进行了调试。基本上可以直接试用于APP网络请求搭建

2016-04-05

android自定义view之刷新验证码

自定义view来onMeasue 作为存放验证码的地方,重写的view需要重写onDrawn和onMeasue 2个方法

2016-03-17

andoid 二维码生成,自带中心logo

根据服务端传过来的URL进行生成二维码,并在二维码中心带上logo

2016-02-22

fastjson使用

简单的fastjson使用,包括序列化和反序列化

2016-01-20

viewpage+fragment+下划线

viewpage滑动fragment的时候,字体下方的下划线会跟着滑动

2015-12-11

DialogFragment+接口回调

一个自定义的dialog,其实只是继承了dialogfragment,博客地址为http://blog.csdn.net/u013651405/article/details/47834057

2015-08-21

电话簿的搜索LetterListView

电话簿的搜索LetterListView,自动刷选

2015-08-20

PullToRefresh下拉刷新

一个简单的PullToRefresh下拉刷新的demo,有问题请再博客界面给我留言

2015-07-31

AsyncTask异步下载图片

对于AsyncTask的一个简单运用,以异步下载图片为例。博客地址:http://blog.csdn.net/u013651405/article/details/47025479

2015-07-23

ViewPager+Fragment+RadioGroup实现底部导航

ViewPager+Fragment+RadioGroup实现底部导航

2015-06-02

fragment+Radiobutton实现顶部导航切换

fragment+Radiobutton实现顶部导航切换

2015-06-02

科研信息发布平台

该文件包含了科研信息的源代码,是一个典型的jsp+Servlet结合的例子

2014-11-09

在线订购子系统

一个经典的jsp+javabean组合的简单网页

2014-11-02

JavaEE项目光盘上的所有数据(代码+数据库)

JavaEE项目光盘上的所有数据(代码+数据库),绝对物超所值

2014-11-02

SSH(Spring+sturts+Hibernate)框架所需的ja包

这些资源都是我亲自试用过得,如果你有什么不懂得请关注 我的比克,近期我会写一篇关于自身配置ssh框架的全流程

2014-10-09

空空如也

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

TA关注的人

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