自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (8)
  • 收藏
  • 关注

原创 Handler、Loop、MessageQueue的工作原理<温故知新>

为了更好地理解Handler的工作原理,说下与Handler一起工作的几个组件。 1. MessageQueue:Handler接收和处理的消息对象。 2.Looper:每个线程只能拥有一个Looper。它的loop方法负责读取MessageQueue中的消息,读到信息 之后就把消息交给发送该消息的Handler进行处理。 3.MessageQueue消息队列,它采用先进先出的方式来管理Me

2017-08-05 14:48:06 611

原创 温故知新.Handler消息传递机制.

忙里抽闲,赶紧打开电脑温故下学过用过而又快被时间冲掉的知识点…..。直奔主题出于性能优化考虑,Android系统的UI的操作并不是线程安全的,这意味着如果有多个线程并发操作UI组件,则可能导致线程安全带问题。为了解决这个问题,Android制定了一条简单的规则:只允许UI线程修改Activity里的UI组件。 当一个程序第一次启动时,Android会同时启动一条主线程(Main Threa

2017-08-03 23:28:50 631

原创 (坑记)Genymotion&VirtualBox下载到配置和OVA的正确配置流程

说下载到正常使用步骤前先附上Genymotion官网地址:https://www.genymotion.comWindows系粉丝1.在Genymotion官网注册账号,注册过的就跳..2.再下载安装Genymotion,这里附上一个包含了Genymotion+VirtualBox的链接,直接在CSDN下载即可(下载请点击),不赶时间的客官也可在官网下载Ubuntu系粉丝1.下载安装Virtual...

2018-06-15 23:50:35 1603

原创 HTTP、TCP/IP、Socket与WebSocket的区别!

重温Socket的概念 Socket是通信的雨花石,支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,内含了网络通信须有的五中信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远程主机的IP地址,远程进程的协议端口。独立的Socket是一对IP地址和端口。 Socket可以看成在两个程

2017-11-08 23:25:00 1869

转载 GitHub 优秀的 Android 开源项目

GitHub 优秀的 Android 开源项目2015-12-10 13:37 1164人阅读 评论(0)收藏举报分类: android(17) 作者同类文章X目录(?)[+]GitHub 优秀的 Android 开源项目一ListView二ActionBar三Menu四ViewPa

2017-09-17 00:36:15 4065

转载 GitHub 优秀的 Android 开源项目

分类: android(17) 作者同类文章X目录(?)[+]GitHub 优秀的 Android 开源项目一ListView二ActionBar三Menu四ViewPager Gallery五GridView六ImageView七ProgressBar八其他GitHub上优秀Android开源项目Android开发神器

2017-09-17 00:30:16 5399

转载 Android性能优化之使用MAT分析内存泄露问题

本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/42396507)我们平常在开发Android应用程序的时候,稍有不慎就有可能产生OOM,虽然Java有垃圾回收机,但也不能杜绝内存泄露,内存溢出等问题,随着科技的进步,移动设备的内存也越来越大了,但由于Android设备的参差不齐,可能运行在这台设备好好的,运行在那台设备

2017-01-06 15:49:10 500

转载 Android开发常用框架、专为你偷懒而准备!

1、AndBase框架项目地址: https://code.jd.com/zhaoqp2010_m/andbas1.andbase中包含了大量的开发常用手段。如网络下载,多线程与线程池的管理,数据库ORM,图片缓存管理,图片文件下载上传,Http请求工具,常用工具类(字符串,日期,文件处理,图片处理工具类等),能够使您的应用在团队开发中减少冗余代码,很大的提高了代码的维护性

2016-12-22 14:39:41 445

翻译 RecyclerView详细介绍&使用。

<主菜>RecyclerView简介RecyclerView是Android 5.0提供的新控件,已经用了很长时间了,但是一直没有时间去仔细的梳理一下。现在有时间了,决定来整理下。官方文档中是这样介绍的: A flexible view for providing a limited window into a large data set.RecyclerView比listview更先进更灵活,

2016-07-14 23:40:49 5869

转载 Studio 工具插件ButterKnife的使用

ButterKnife是一个Android View注入的库。1.开始使用1.1 配置Eclipse在使用ButterKnife需要先配置一下Eclipse。项目右键-Properties-Java Complier-Annotation Processing 确保设置和下图一致接着展开Annotation Processing选择Factory Path,选中Enable

2016-05-14 21:25:01 573

原创 Android 异步加载图像优化,如:引入线程池、引入缓存

关于Android 从网络上异步加载图像:  个人总结,重在分享!  异步加载图像,由于Adnroid Ui 更新支持单一线程原则,所以从网络上取数据并更新到界面上,为了不阻塞主线程首先要想到以下方法。1.在主线程中 new 一个Handler对象,加载图像(优化)示1:private void  loadImage(final String url, final int id

2016-05-07 19:15:27 1681

翻译 Class类的getGenericSuperClass

Returns the Type representing the direct superclass of the entity (class, interface, primitive type or void) represented by    thisClass.    If the superclass is a parameterized type, the Type o

2016-05-03 22:13:32 690

原创 MD5--Utils(工具类)

import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;public class Md5 {public static String getVal(String plainText) { tr

2016-04-27 20:25:57 657

原创 线程池.(Executors,ThreadPoolExecutor,BlockingQueue,RejectedExecutionHandler).介绍

线程池Android里面,耗时的网络操作,都会开子线程,在程序里面直接开过多的线程会消耗过多的资源,在众多的开源框架中也总能看到线程池的踪影,所以线程池是必须要会把握的一个知识点;线程运行机制开启线程过多,会消耗cpu资源单核cpu,同一时刻只能处理一个线程,多核cpu同一时刻可以处理多个线程操作系统为每个运行线程安排一定的CPU时间----时间片,

2016-04-27 19:42:39 4510

原创 Android ADB工具

在SDK的Tools文件夹下包含着Android模拟器操作的重要命令ADB,ADB的全称为Android Debug Bridge,就是调试桥的作用,借助这个工具,我们可以管理设备或手机模拟器的状态 ,还可以进行以下的操作:(1)快速更新设备或手机模拟器中的代码,如应用或Android系统升级;(2)在设备上运行Shell命令;(3)管理设备或手机模拟器上的预定端口;(4)在设备或

2016-04-26 20:26:04 1257

翻译 Afinal框架(简介)

Afinal 是一个android的sqlite orm 和 ioc 框架。同时封装了android中的http框架,使其更加简单易用;使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题。Afinal的宗旨是简洁,快速。约定大于配置的方式。尽量一行代码完成所有事情。目前Afinal主要有四大模块:

2016-04-26 20:19:04 580

原创 Activity表示层

2016-04-26 20:04:28 522

转载 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-24 21:25:56 1000

转载 Android 中的(意图Intent)机制,常见应用

Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,Intent在这里起着一个媒体中介的作用,专

2016-04-20 20:33:06 2577

转载 Java中的String与常量池(带案例解)

string是java中的字符串。String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。本文主要介绍Java中的String与常量池,希望对你有帮助,一起来看。string是java中的字符串。String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。下面介绍java中的String与常量池。1. 首先Stri

2016-04-20 19:35:05 604

转载 (最全最详)Android简述

Android操作系统最初由Andy Rubin创办的公司研发而来,最初主要支持手机。2005年由Google注资收购,并于2007年11月5日正式向外界展示了这款名为Android的操作系统。Android 体系结构    Android系统的架构android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,android分为四个层,从高层到低层分别是应用程序层

2016-04-19 18:08:53 1921

原创 布局填充器(LayoutInflater)

实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于 findViewById()不同点的是:LayoutInflater 是用来找layout下xml布局文件,并且实例化!findViewById() 是找具体xml下的具体 widget控件(如:Button,TextView等)。一般来讲,我们用LayoutInflater做一件事:infla

2016-04-19 17:12:13 692

原创 Android 中的Intent Action 一览表

2016-04-19 01:07:51 625 1

转载 5种 (UI线程与后台线程交互设计的方法)

在android的设计思想中,为了确保用户顺滑的操作体 验。一些耗时的任务不能够在UI线程中运行,像访问网络就属于这类任务。因此我们必须要重新开启一个后台线程运行这些任务。然而,往往这些任务最终又会直 接或者间接的需要访问和控制UI控件。例如访问网络获取数据,然后需要将这些数据处理显示出来。就出现了上面所说的情况。原本这是在正常不过的现象了,但 是android规定除了UI线程外,其他线程都不可以

2016-04-19 00:50:46 553

转载 Context详解

Context,中文直译为“上下文”,SDK中对其说明如下:        1、它描述的是一个应用程序环境的信息,即上下文。        2、该类是一个抽象(abstract class)类,Android提供了该抽象类的具体实现类(后面我们会讲到是ContextIml类)。        3、通过它我们可以获取应用程序的资源和类,也包括一些应用级别操作,例如:启动一个Activit

2016-04-12 00:11:56 573

原创 Android MotionEvent 和 TouchSlop

MotionEvent(){在手指接触屏幕所产生的一系列事件中,典型的事件类型有以下几中:     * ACTION_DOWN      手指刚接触屏幕;     * ACTION_MOVE        手指在屏幕上移动;     * ACTION_UP             手指从屏幕上松开的一瞬间;正常情况下 ,一次手指触摸屏幕的行为会触发一系列点击事件,考虑如下几

2016-04-09 21:19:50 4804

原创 View 的位置参数

View 的位置主要由它的四个顶点来决定,分别对应于View的四个属性: top .  left . right . bottom,其中top是左上角纵坐标,left是左上角横坐标,right是右下角横坐标,bottom是右下角纵坐标。需要注意的是,这些坐标都是相对于View的父容器来说的,因此它是一种相对坐标,View的坐标和父容器的关系如下图所示:在Android中,X轴和Y轴的正方向分别为右

2016-04-09 19:24:01 650

原创 View是什么,什么是View?

详说View的基础知识之前,我们首先要知道到底什么是View。View是Android中所有控件的基类,不管是简单的Button和TextView还是复杂的RelativeLayout和ListView,它们的共同基类都是View。所以说,View是一种界面层的控件的一种抽象,它代表了一个控件.。除了View,还有ViewGroup,从名字来看,它可以被翻译为控件组,言外之意是View

2016-04-08 23:43:02 11294 1

原创 Handler 的处理消息

2016-04-08 18:12:29 350

原创 Handler的发送消息

2016-04-08 17:45:16 397

原创 Handler消息创建简图

2016-04-04 22:30:42 496

转载 Android布局控件之LinearLayout详解

Android布局控件之LinearLayout详解  LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。因此一个垂直列表的每一行只会有一个widget或者是container,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子控件的高度加上边框

2016-04-01 23:18:38 499

转载 android布局 FrameLayout(帧布局)详解

FrameLayout(帧布局)前言作为android六大布局中最为简单的布局之一,该布局直接在屏幕上开辟出了一块空白区域,当我们往里面添加组件的时候,所有的组件都会放置于这块区域的左上角;帧布局的大小由子控件中最大的子控件决定,如果都组件都一样大的话,同一时刻就只能能看到最上面的那个组件了!当然我们也可以为组件添加layout_gravity属性,从而制定组件的对其方式

2016-04-01 23:01:39 3275

原创 Listview与Adapter用法

一个ListView通常有两个用途。1》将数据填充到布局。2》处理用户的选择点击等操作。第一点很好理解,ListView就是实现这个功能的。第二点也不难做到,在后面的学习中会发现,这非常简单。一个ListView的创建需要3个元素。1》ListView中的每一列的View。2》填入View的数据或者图片等。3》连接数据与ListView的适配器。也就是说,要使用ListView,首先要了解什么是适配

2016-03-29 12:04:21 508

原创 较常用的sql语句

**常用表**Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号;select a.S# from (select s#,score from SC where C#=’001’) a

2016-03-28 19:33:10 751 1

原创 Activity的生命周期全面分析

Activity生命周期分为两部分内容,一部分是典型情况下的生命周期,(另一部分是异常情况下的生命周期)。今天就让小白我说说典型情况的生命周期,(tomorrow at analysis(另一部分异常情况下的生命周期)): 所谓典型情况下的生命周期,是指有用户参与的情况下,Activity所经过的生命周期的改变。典型生命周期analysis: 在正常情况下,Activity常用生命周期就只有

2016-03-05 22:37:33 500

原创 Intent-Filter的匹配规则

示例: 分析各属性的匹配规则:Action的匹配规则: action是一个字符串,系统预定义了一些action,同时我们也可以在应用中定义自己的action。action的匹配规则是Intent中的action必须能够和过滤规则中的action匹配,这里说的是匹配是指action的字符串值完全一样。一个过滤规则中可以有多个act

2016-03-05 21:53:55 630

原创 是否可以从一个static方法内部发出对非static方法的调用?

do not。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非sta

2016-02-26 20:17:58 467

原创 静态变量和实例变量的区别?

public class VariantTest { public static int staticVar = 0; public int instanceVar = 0; public VariantTest() { staticVar++; instanceVar++; System.out.println(“staticVar=” + staticVar + ”,inst

2016-02-26 20:12:05 496

genymotion2.12

最新Genymotion下载,避免忘记拷贝或每次换电脑时都要去官网下载,直接上传到CSDN,也方便自己下载和提取

2018-06-15

ijkplayer so库 包含(arm64-v8a、armeabi、armeabi-v7a、x86、x86_64)

ijkplayer个人感觉这是最好的开源库,给小伙伴提供so库直接下载导入工程即可。

2018-05-20

appcompat-v7-26.1.0

导入26.1.0版本的aar就可以使用support包下的appcompat-v7:26.1.0

2017-11-09

kali-linux x86

Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统...... 解决了上kali官网下载慢的难题,下载之前看好,这是32位的

2017-09-11

kali-linux 32位下载

Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统,提供的是种子 只适合32位的,需用迅雷解压。

2017-09-11

gcc编译器 专为windows平台提供下载

x86_64-w64-mingw32,这是 GCC 在 Windows 平台上的移植,和 Cygwin 不一样,该工具使用的是 VC 的运行时,可以和 VC++ 无缝调用,而不依赖于其他 dll. 目前版本 4.7.0。

2017-06-23

23种设计模式详解

在面向对象程序设计(OOP)过程中,我们经常会遇到很多重复出现的问题,总结解决这些问题的成功经验和最佳实践便形成了设计模式(Design Pattern)。

2016-04-27

计算机硬件基础知识

信息编码于数据表示,微型计算机系统的组成,计算机数据的安全

2016-04-12

空空如也

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

TA关注的人

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