自定义博客皮肤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

进无止境

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

原创 Android的屏幕适配

屏幕视频有2种方案 1、通过不同的屏幕大小设置不同的layout 通过对不同屏幕大小使用宽度限定符 再通过布局别名来加载不同的布局最小宽度限定符仅适用于 Android 3.2 及更高版本。因此,如果我们仍需使用与较低版本兼容的概括尺寸范围(小、正常、大和特大)。例如,如果要将用户界面设计成在手机上显示单面板,但在 7 英寸平板电脑、电视和其他较大的设备上显示多面板,那么我们就需要提供...

2017-02-20 23:15:37 2264

原创 Android 内存泄漏

1)注意Activity的泄漏通常来说,Activity的泄漏是内存泄漏里面最严重的问题,它占用的内存多,影响面广,我们需要特别注意以下两种情况导致的Activity泄漏:内部类引用导致Activity的泄漏最典型的场景是Handler导致的Activity泄漏,如果Handler中有延迟的任务或者是等待执行的任务队列过长,都有可能因为Handler继续执行而导致Activity发生泄漏...

2017-02-20 23:09:15 356

原创 图解tcpip读书笔记

T参考: 一步一步学习IP路由流程 第一章 网络基础知识OSI参考模型将网络通信分为7层,对通信中的必要功能进行了归纳:1、应用层: 为应用程序提供通信的细节 如:文件传输、电子邮件2、表示层:将应用信息转换为适合网络传输的格式或将下一层数据转换为应用层格式数据 如:utf-8编码转换3、会话层:负责建立和断开连接及数据的分割等4、传输层:保证数据的可靠性传输5、网...

2017-02-20 22:44:57 388

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

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

2016-06-19 23:19:41 1497

原创 Activity的启动流程图

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

2016-06-13 23:43:12 734

原创 JAVA 反射机制

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

2016-06-12 23:08:46 226

原创 Android Fragment 的使用

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

2016-06-11 22:54:20 229

原创 AJAX跨域访问的实现

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

2016-06-11 22:50:15 813

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

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

2016-06-11 22:29:23 4276

原创 Apache Shiro Ajax授权登录

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

2016-06-10 12:08:03 2941

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

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

2016-06-07 18:46:39 6145

原创 OkHttp3 源码解析

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

2016-06-07 18:40:50 633

原创 多线程基础

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

2016-06-07 18:31:21 408

原创 Android的线程和线程池

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

2016-06-06 22:59:01 180

原创 Android的消息机制

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

2016-06-05 11:11:13 275

原创 Android的启动模式

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

2016-06-05 01:33:24 391

原创 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 247

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

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

2016-06-05 01:30:42 401

原创 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 351

原创 Android自定义View流程

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

2016-06-05 01:08:31 389

原创 对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 414

原创 Android生命周期的理解

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

2016-06-05 01:04:57 384

原创 Activity之间的交互

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

2016-06-05 00:58:49 420

原创 Fragment的使用详解

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

2016-04-23 20:53:50 281

原创 Android Alarm 的设置

一、闹钟的分类1)从闹钟的设置时间方式分为:以开启启动后的间隔时间和日历时间2)从硬件上来说分为:1、当cpu休眠时不启动 2、即时cpu休眠时仍然启动所以有如下四种:ELAPSED_REALTIME—Fires the pending intent based on the amount of time since the device was booted, but

2016-04-23 20:52:35 508

原创 Photo&Vedio的拍摄

http://developer.android.com/training/camera/photobasics.html一、Vedio1、首先要声明权限 ... >    android:name="android.hardware.camera"                  android:required="true"/>    ...2、调用Vedio

2016-04-23 20:51:27 668

原创 Android屏幕适配

一、适配不同屏幕大小1、使用wrap_cont和match_parent2、使用RelativeLayout来适配不同组件之间的关系3、使用尺寸修饰符当屏幕的大小不同时如:Phone和TV 需要根据他们尺寸的大小来适配不同的Layout,如新闻app在手机上它可以只能先显示列表界面再显示新闻内容,但若在TV上可以左边显示列表右边显示详情,这样通过不同的Layout就有了就拥有更好的

2016-04-23 20:48:16 271

原创 Activity的生命周期

一、activity的生命周期注意:1、当Activity从Stop状态恢复时会调用onRestart同时会再次调用onStart()方法即:onRestart()-->onStart()-->onResume();            2、特殊状态的处理:1)当来电话或切换到其他Activity时要保存临时变量                             

2016-04-23 20:46:09 310

原创 Highcharts,Web前段图表插件的简单使用

Highcharts 是一个用纯 JavaScript 编写的一个图表库, 能够很简单便捷的在 Web 网站或是 Web 应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。Highcharts 支持的图表类型有直线图、曲线图、区域图、柱状图、饼状图、散状点图、仪表图、气泡图、瀑布流图等多达 20 种图表,其中很多图表可以集成在同一个图形中形成混合图。

2016-04-15 16:41:08 918

原创 ContentProvider 详解

一、定义ContentProvider 主要用户不同进程之间的数据共享.二、如何构建1、首先建立继承与ContentProvider的子类并实现他 oncreate、query、getType、insert、delete、update方法2、在manifest中生命节点 格式如下:android:authorites="xxx"android:permission=

2015-12-06 17:38:47 398

原创 Android应用内存泄漏分类

一、背景内存泄漏在日常的应用开发中很容易出现,因为开发者在很多情况下不知道自己的activity 已经被其他长生命周期的变量引用(如静态变量)。现在就对我们日常开发中的内存泄漏进行总结二、内存泄漏分类1、Acitivy 或者他的View 被静态变量引用导致无法释放2、在其他类的单例模式下Activity被注入引用3、Cursor或者Stream 或WebView没有及时关闭

2015-11-28 14:06:47 302

Activity启动流程图

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

2016-06-13

空空如也

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

TA关注的人

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