自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HXT1989

进无止境

  • 博客(20)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android 自定义控件之折线图

世面上有很多图表类的控件但有很多坑,于是就自己动手写。 在这个控件中最难的不是知识点而是对坐标的把控。这个控件很多属性都可以开放出来的。同学可以根据自己的情况进行修改,另外也写了很详细的注释帮助同学们进行理解。 下载地址请点击点击

2016-06-19 23:19:41 1520

原创 Activity的启动流程图

Acitivty的启动流程是Android系统中的难点之一。不仅仅是因为他的流程复杂更重要的是每个流程中所涉及到的类都具有相当重要的属性。本图通过代码走读加注释的方式希望能够将其清晰化PDF 下载请点我

2016-06-13 23:43:12 748

原创 JAVA 反射机制

反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。没有反射也就没有框架,现有的框架都是以反射为基础。在实际项目开发中,用的最多的是框架,填的最多的是类,反射这一概念就是将框架和类揉在一起的调和剂。

2016-06-12 23:08:46 240

原创 Android Fragment 的使用

一、如何创建Fragment1)Activity要继承FragmentActivity,若支持v7则继承AppCompatActivity 2)实现Fragment,在onCreateView()方法中创建View 3)将Fragment添加到Activity二、如何动态的添加Fragment1、首先通过getSupportFragmentManager().beginTransaction()

2016-06-11 22:54:20 245

原创 AJAX跨域访问的实现

在工作中难免会碰到需要跨域请求数据或提交数据的情况,本人最开始也是在试了几种方式才成功,当时网上的案例也比较有限,下面贴出工作中的一个例子,已在多个项目中使用,完美解决跨域问题。

2016-06-11 22:50:15 830

原创 Apache Shiro 移动端认证回调函数授权登录

J2EE项目开发中,若用到Apache Shiro权限框架,若需为移动端提供登录接口并提供授权认证则需要对移动端提供的登录信息进行处理,封装到token中,然后交由Apache Shiro进行认证回调函数授权登录

2016-06-11 22:29:23 4292

原创 Apache Shiro Ajax授权登录

Apache Shiro授权登录一般方式为页面提交授权验证,根据严重结果跳转对应URL,但有时登录方式为AJAX请求,所以需要继承FormAuthenticationFilter并重写登录成功onLoginSuccess与登录失败onLoginFailure方法进行相应处理

2016-06-10 12:08:03 2955

原创 Android应用程序键盘(Keyboard)消息处理机制

动态读取数据权限信息注入shirofilter中,功能说明: 授权元数据根据两部分构成:1、数据库中动态生成,权限表获取 。2、使用spring的注入filterChainDefinitions,在配置文件中定义默认的安全定义,如登录页面,首页等。由注入的资源管理对象获取所有资源数据,并且资源的authorities的属性是EAGER的fetch类型

2016-06-07 18:46:39 6170

原创 OkHttp3 源码解析

Apache Shiro 与 Spring框架整合简单集成、包含用户授权/认证信息Cache, 采用EhCache 缓存,认证回调函数(供登录时调用),授权查询回调函数(进行鉴权但缓存中无用户的授权信息时调用),自定义Authentication对象,使得Subject除了携带用户的登录名外还可以携带更多信息

2016-06-07 18:40:50 650

原创 多线程基础

Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。

2016-06-07 18:31:21 421

原创 Android的线程和线程池

一、AsyncTask的初始AsyncTask是一种在后台执行任务然后将最新的进度和最后结果更新到UI线程的工具类。AsyncTask包含四个核心方法分别是: onPreExecute() 在UI线程中、异步任务执行前调用。 doInBackground(Params… params) 在线程池中执行,用于执行异步任务,此方法通过publishProgress来更新进度 onProgress

2016-06-06 22:59:01 191

原创 Android的消息机制

一、Android为什么不允许在子线程中访问UI主要是因为android的UI线程不是线程安全的,会导致系统的状态不一二、Handler的运行流程Handler在外部线程中发送一个消息后,消息会被添加到内部线程的MessageQueen。内部线程的Looper会不断的轮询MessageQueen来获取消息。当Looper发现有消息后就会在内部线程执行消息三、ThreadLocal的使用场景Threa

2016-06-05 11:11:13 285

原创 Android的启动模式

一、android启动模式的分类1、Standard 即使在任务栈中存在相同Activity也会再次启动。当通过ApplicationContext启动时需要加上FLAG_ACTIVITY_NEW_TASK标记位。 2、SingleTop 若在栈顶存在相同Activity则不会再次创建Activity。它会调用onNewIntent()方法。若有相同的Activ

2016-06-05 01:33:24 408

原创 IntentFilter的使用

一、IntentFilter的分类1、action IntentFilter必须包含一个Action 2、category IntentFilter若不包含其他Category则必须设置默认的”android.intent.category.DEFAULT”这个Category 3、data 若定义了data则必须匹配二、data的组成<data android:scheme=""andro

2016-06-05 01:32:35 274

原创 IPC机制(跨进程通信)

一、线程和进程的区别线程是cpu执行的最小单元,进程是一个执行单元一般指一个程序和应用。因此进程和线程是包含与被包含的关系二、使用IPC时机1、由于某种特殊原因 如:插件化开发 2、因为应用所需内存太大 需要多进程来获取更多空间三、开启bIPC的方式通过在四大组件中设置android:process 属性。 1)直接包名加上”:remote”这种方式是属于当前应用的的私有进程其他应用不能调用

2016-06-05 01:30:42 451 1

原创 View的事件体系

一、View的位置参数View的位置分别包含4大属性:top、left、right、bottom,他们都是相对于父控件而言。控件的宽度和长度为:width=right-left height=bottom-top二、MotionEvent和TouchSlop1、MotionEvent表示点击事件的X和Y坐标。分别有getX()、getY()表示相对于父控件的坐标.getRawX()和getRawY(

2016-06-05 01:27:52 363

原创 Android自定义View流程

一、View的绘制流程 View的绘制是在ViewRootImpl类里面进行的。该ViewRootImpl类是WindowManager连接DecorView的纽带。View的Measure、Layout、Draw都是在里面完成。ViewRootImpl通过PerformTraverals开始绘制先后经过以下流程:1、performMeasure–》measure–》onMeasure

2016-06-05 01:08:31 410

原创 对Window和WindowManager的理解

一、对Window和WindowManager的理解 1、Window表示一个窗口、一个抽象类它的实现是PhoneWindow.android的所有视图包括Activity、Dialog都是同Window来呈现 2、WindowManager是Window的创建者类,它和WindowManagerService通过IPC来进行交互 二、如何向Window添加ViewlayoutParam=n

2016-06-05 01:07:09 427

原创 Android生命周期的理解

1、onCreate() 生命周期的第一个方法,可以调用setContentView加载布局和资源初始化工作 2、onStart() 表示activity正在启动中,即将用。这是Activity已经是可见但还被隐藏在stack 3、onResume() 表示Activity已经可见,并出现在前台statck并开始活动。他与onStart()的区别是是否在前台 4、onRestart()

2016-06-05 01:04:57 394

原创 Activity之间的交互

一、不同App直接Activity的调用 1、当不同的App直接进行调用Intent的声明需要隐式声明 2、在调用之前需要检查是否有App能够接收否则会引起CrashPackageManager packageManager = getPackageManager();List activities = packageManager.queryIntentActivities(intent,

2016-06-05 00:58:49 437

Activity启动流程图

Acitivty的启动流程是Android系统中的难点之一。不仅仅是因为他的流程复杂更重要的是每个流程中所涉及到的类都具有相当重要的属性。本图通过代码走读加注释的方式希望能够将其清晰化

2016-06-13

空空如也

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

TA关注的人

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