自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (4)
  • 收藏
  • 关注

转载 Android性能优化之谈谈SparseArray,SparseBooleanArray和SparseIntArray

相信大家都明白,手机软件的开发不同于PC软件的开发,因为手机性能相对有限,内存也有限,所谓“寸土寸金”,可能稍有不慎,就会导致性能的明显降低。Android为了方便开发者,特意在android.util这个包中提供了几个提高效率的工具类,比如之前用过的LruCache类,这次我们来谈谈其他工具类,SparseArray,SparseBooleanArray和 SparseIntArray。总体说,...

2018-06-12 10:09:06 575

转载 10种常见的软件架构模式

Tips原文作者:Vijini Mallawaarachchi原文地址:10 Common Software Architectural Patterns in a nutshell有没有想过要设计多大的企业规模系统?在主要的软件开发开始之前,我们必须选择一个合适的体系结构,它将为我们提供所需的功能和质量属性。因此,在将它们应用到我们的设计之前,我们应该了解不同的体系结构。什么是架构模式?根据维基...

2018-06-11 09:23:05 5192

转载 UML之包图(Package Diagram)

软件的架构设计,思路遵循由大及小。相较于Class Diagram,Package Diagram从更宏观的角度来展示软件的架构设计,主要体现在代码组织方面。Package Diagram对一些大型的项目特别有用。顺便说一句,良好的代码组织,对软件的可维护性至关重要,请认真的规划你的包结构。下文将简单介绍Package Diagram,主要分两块,什么是Package,以及Package之间的关系...

2018-06-11 09:22:12 26595 7

转载 2017 Android开发 GitHub 常用开源框架汇总

现在 GitHub 上流行的开源库极大地节省了开发者从 0 开发的时间,很多公司和个人都在 GitHub 上开源自己的项目,今天我们就来整理一下 Android 开发中一些非常流行的库,也是我们必须掌握的,这样可以使我们在使用到时快速的查找到,这里的总结基本也都是自己在开发中用到的,也就是一些个人的见解,只做参考,不具有权威性。一、网络库1. RetrofitRetrofit 是 Square 公...

2018-06-11 09:21:58 256

转载 代理模式

在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。介绍意图:为其他对象提供一种代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程...

2018-06-11 09:21:46 147

转载 推荐几款实用的Android Studio 插件

android-butterknife-zeleznyandroid-butterknife-zelezny 是根据butterknife定制的一款插件,能够方便快速初始化,对于我来说是开发必备,本人也对此插件进行了一些优化,个人感觉用起来更爽 ,博客地址:ButterknifePlugin注意:需要先导入butterknife包才能使用2、Gsonformat可根据json数据快速生成java实...

2018-06-11 09:21:27 237

转载 [转] 项目开发的基本流程

不记得是某位仁兄总结的了,但是挺好,贴出来,以便以后可以看看:一 应用规划:※确定功能。※必须的界面及界面跳转的流程。※需要的数据及数据的来源及格式。※是否需要服务端支持。※是否需要本地数据库支持。※是否需要特殊权限。※是否需要后台服务。二 架构设计:※分层。※网络连接。※数据处理-xml、domain。※封装Activity。三 界面设计:※主界面确定。※模块界面、列表、查看、编辑界面。※菜单、...

2018-06-11 09:21:16 295

转载 腾讯Bugly的使用

转自:http://bugly.qq.com/androidsdk一、库文件导入如果您使用Gradle编译Apk,我们强烈推荐您使用自动接入方式配置库文件(JCenter仓库)。方式1:自动导入(推荐)在Module的buid.gradle文件中添加依赖和属性配置:android {defaultConfig {ndk {//设置支持的SO库架构abiFilters 'armeabi' //, '...

2018-06-11 09:20:44 796

转载 android Google推荐的容器SparseArrayCompat简介

privatestaticSparseArrayCompat mCaches =newSparseArrayCompat();mCaches.put(xx);mCaches.get(xx);优点节省最高50%缓存;SparseArrayCompat()其实是一个map容器,它使用了一套算法优化了hashMap,可以节省至少50%的缓存.缺点但是有局限性只针对下面类型.key: Integer; v...

2018-06-11 09:20:24 544

转载 Android访问网络,使用HttpURLConnection还是HttpClient?

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/12452307最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有意思,在Android 2.3及以上版本,使用的是HttpURLConnection,而在Android 2.2及以下版本,使用的是HttpClient。我也比较好奇这么使用的原因,于是专门找到了一位G...

2018-06-11 09:20:11 123

转载 HTTP1.0 HTTP 1.1 HTTP 2.0主要区别

长连接HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接。HTTP是基于TCP/IP协议的,创建一个TCP连接是需要经过三次握手的,有一定的开销,如果每次通讯都要重新建立连接的话,对性能有影响。因此最好能维持一个长连接,可以用个长连接来发多个请求。节约带宽HTTP 1.1支持只发送header信息(不带任何body信息),如果服务器认为客...

2018-06-11 09:19:43 110

转载 dip,px,pt,sp 的区别

dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;s...

2018-06-07 10:13:53 551

转载 Android 源码分析

frameworks 目录 (核心框架——java及C++语言).|-- base    (基本内容)|   |-- api   (?都是xml文件,定义了java的api?)|   |-- awt   (AWT库)|   |-- build   (空的)|   |-- camera   (摄像头服务程序库)|   |-- cmds   (重要命令:am、app_proce等)|   |-- co...

2018-06-07 10:13:45 143

转载 Activity之间经典切换动画效果

主要代码:Java代码packagecom.iteye.androidtoast;importjava.util.ArrayList;importjava.util.List;importandroid.app.Activity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.View;importan...

2018-06-07 10:13:38 453

转载 反编译apk生成程序的图片、XML配置、语言资源等文件。

工具下载:在http://code.google.com/p/android-apktool/下 载获得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包都要下。步骤:1.解压缩下载的两个文件包,apktool-install-windows-2.1_r01-1.zip解压缩后得到的包里有aapt.exe 和apktool...

2018-06-07 10:13:30 753

转载 ubuntu 10.04安装 kscope

第一步安装KDE3环境的一些支持#sudo apt-get install kdelibs(解决kde-confing not found的错误)#sudo apt-get install xorg-dev(解决error:can't find X includes)#sudo apt-get install kdelibs4-dev kdelibs4c2a(解决no KDE headers in...

2018-06-07 10:13:22 558

转载 Ubuntu10.10安装sun-java5-jdk&Ubuntu10.10有多个java-jdk时如何选择

因为在Ubuntu10.10中没有sun-java5-jdk的更新源,所以我们可以通过更改更新源的方式来安装sun-java5-jdk。一、1.用下面的5行完全覆盖/etc/apt/sources.list里面的所有代码:debhttp://ubuntu.cn99.com/ubuntu/dapper main restricted universe multiversedebhttp://ubun...

2018-06-07 10:13:13 167

转载 Android中Handler Thread

在多线程编程这块,我们经常要使用Handler,Thread和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢?首先说明Android的CPU分配的最小单元是线程,Handler一般是在某个线程里创建的,因而Handler和Thread就是相互绑定的,一一对应。而Runnable是一个接口,Thread是Runnable的子类。所以说,他俩都算一个进程。HandlerThread顾名思...

2018-06-07 10:13:02 368

转载 TortoiseGit使用入门

Git是一个由林纳斯·托瓦兹为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。下载Git网站地址:http://code.google.com/p/tortoisegit/安装前必须装上msysgit才能在Windows上使用Git网站地址:http://code.google.com/p/msysgit/现在还每个都是beta版,就选第一个,我选的是Git-1.7.3.1...

2018-06-07 10:12:53 293

转载 使用Protocol Buffers入门四步骤

Protocol Buffers(简称protobuf)是谷歌的一项技术,用于将结构化的数据序列化、反序列化,经常用于网络传输。protobuf是谷歌的Protocol Buffers的简称,用于结构化数据和字节码之间互相转换(序列化、反序列化,即实现从结构体转换为字节流(编码,向LIS发送消息时使用)以及从字节流转换为结构体(解码,从LIS接收消息时使用)的功能。),一般应用于网络传输,可支持多...

2018-06-07 10:12:45 512

转载 Linux中chmod命令

作为Linux命令可以使用命令chmod来为文件或目录赋予权限。Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。使用权限:所有使用者格式:chmod [-cfvR] [--help] [--version] mode file...参数说明:mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwx...

2018-06-07 10:12:34 483

转载 解决在WIN 7下VM虚拟机中Ubuntu上网问题

可以采用host-only加网络共享的方式实现主机和虚拟接共同上网。在主机的本地连接属性里,点共享页面,勾选“允许其他网络用户通过计算机的Internet连接”,在里面选择虚拟网卡设备VMnet1。在虚拟机中把IP地址设置为:192.168.137.2。默认网关为:192.168.137.1。下面的DNS服务器地址也要手动设置,要设置为主机的DNS地址。若果获得:在主机的开始-----运行中输入c...

2018-06-05 10:26:11 282

转载 Ubuntu下编译C++程序

1.在Ubuntu下安装gcc与g++,在终端敲如下命令:sudo apt-get install build-essential,其中sudo这个命令很重要,若果略去它,系统将会提示你的权限不够。按下回车,按着需要输入密码,之后就交给系统去做了。2.打开文本编辑器,打入下面的代码:#include#includeint main(){std::count<<"hello world!...

2018-06-05 10:26:03 1260

原创 实现Android中简单的JNI调用(自己总结)

1.在官方网站下载Linux的NDK版本android-ndk-1.6_r1。2.在windows平台VM虚拟机上安装ubuntu(主要是为了编译本地库文件供java中的jni调用)。3.在ubuntu中用终端进入到android-ndk-1.6_r1目录下运行:./build/host-setup.sh可能会出现这种错误:ERROR: Could not find a valid Nawk or...

2018-06-05 10:25:54 1188 1

转载 8步教你打开Android之门 NDK入门教程

第0步:下载工具好了,让我们开始吧。你需要下载NDK。我们先开始下载,因为在下载的过程中你可以检查一下确保你所需要用到的其余工具的版本都正确。从Android网站下载适合你的操作系统的NDK。现在,对照下列检查你的工具版本:如果在Windows下,Cygwin 1.7或更高版本将awk升级到最新版本(我们使用的是20070501)GNU Make 3.81或更高版本(我们使用的是3.81)如果其中...

2018-06-05 10:25:45 528

转载 Android4种网络连接方式HttpClient、HttpURLConnection、OKHttp和Volley优缺点和性能对比

比较的指标:1、cpu2、流量3、电量4、内存占用5、联网时间功能点:1、重试机制2、提供的扩展功能3、易用性4、是否https5、是否支持reflect api,OkHttp有配套方法6、缓存、重试7、cookie支持session  id会话支持8、弱网性能和稳定性9、超时时间,几种超时时间   连接超时,响应超时10、适配各种机型、4.4和之前版本  2.3  4.1 5.04种网络连接方式...

2018-06-05 10:25:33 1094

转载 gRPC Android SSL/TLS Demo(Android上带有SSL/TLS加密的gRPC使用详解)

最近项目有用到gRPC来发起请求,并且需要用到加密。做的过程中也是各种坑,官网文档也不详细,网上资料也不多。我把过程都记录一下,希望能帮助到有需要的朋友。最近有朋友说构建时不成功,findbugs的包报错(当然这个只是静态分析用的,去掉也可以),这里在gradle文件中加上这句话即可(下面的gradle示例代码中已经加上):configurations.all {    resolutionStr...

2018-06-05 10:24:58 1653

转载 Android快速实现上传项目到Github

一、开篇本文讲如何使用Android Studio将项目上传到github,虽然讲上传github的文章很多,但是大部分都是使用Git Bash命令行,虽然效率高些,但是有点麻烦,而且AS已经为我们很好的集成了这一功能,干嘛还要去记那么多命令呢?二、安装git不多说,就是下载客户端安装,放个链接下载git三、配置Android Studio中的git(一大波儿....图)安装好git后,打开AS设...

2018-06-05 10:24:44 267

转载 GitHub Desktop的简单使用

1.今天来说说GitHub 客户端的使用,什么。你没听说过GitHub?那算了,那你真是太low,自己百度记得第一次听说和使用关于GitHub这些还是好几年前闲得慌学着在GitHub上使用octopress一堆的搭建自己的博客系统,开始还假装用了几次,后来出了一堆问题上传不了的,最后终于心累放弃了,然后就来到了csdn。。,扯得有点远,但是当时使用的是命令行,说实话还真是对我来说挺麻烦(自己技术太...

2018-06-05 10:24:23 2762

转载 如何让我们的Android应用进程保活?

一、线程 进程 应用默认下,同一个应用的所有组件都运行在同一个进程中。当然也可以在manifest清单文件中设置组件运行的进程。组件元素activity、service、receiver、provider,都有一个process属性可以指定组件运行在哪个进程中。这个属性可以设置为每个组件运行在自己的进程中,或者设置进程同名与其他一些组件共享一个进程。Android会在某些时刻决定关闭一个进程,比如...

2018-06-05 10:24:10 545

转载 Android 进程保活都在这里

Android 进程保活都在这里为什么要做进程保活对于很多应用来说推送是非常重要,而ios能使用系统方式非常好的实现,但Android系统Push GCM不能在中国使用,这也就导致push优化畸形发展,为了能及时收到推送很多开发者费劲心机让自己的应用一直在后台与服务端保持长连接,尽管有些一天也就2条Push,同时还不让用户关闭,这种方式对用户来说非常不好,导致手机运行越来越慢同时耗电,非常不提倡。...

2018-06-05 10:23:38 683

转载 Android进程保活总结

最近学习了关于Android进程保活的相关知识,在此写下一篇博客总结下。Android 进程优先级如果需要保证我们的应用所在进程存活,那么我们就应该先了解一下Android系统中进程的分类。在Android中,进程依据重要性被分为5级,越高级的进程越重要,在内存不够回收进程时也会越晚被回收:前台进程(Foreground process):指用户当前操作必须的进程。一般来说,系统中仅存在极少的前台...

2018-06-04 11:09:46 1914

转载 google的GCM推送使用简介

转载请注明出处:http://blog.csdn.net/newhope1106/article/details/54709916GCM即Google Cloud Messaging,主要用于消息推送的,即使在应用没有起来的情况下,客户端也能通过GCM收到来自服务器的消息。GCM支持Android、IOS和Chrome。由于GCM需要google service支持,在国内基本不能用,经常会断线,...

2018-06-04 11:08:56 13396 1

转载 Android新特性介绍,ConstraintLayout完全解析

下面我们开始用边学边练的方式来进行学习,首先打开你的Android Studio,并新建一个ConstraintLayoutTest项目。另外,确保你的Android Studio是2.2或以上版本。为了要使用ConstraintLayout,我们需要在app/build.gradle文件中添加ConstraintLayout的依赖,如下所示。dependencies{    compile'co...

2018-06-04 11:07:46 181

转载 Android组件化和插件化开发

什么是组件化和插件化?组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。插件化开发和组件化开发略有不用,插件化开发时将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的...

2018-06-04 11:07:22 205

转载 插件化开发小结

引言先简单介绍一下Android插件化。很早之前已经有公司在研究这项技术,淘宝做得比较早,但淘宝的这项技术一直是保密的。直到2015年才陆续出现很多框架,Android插件化分成很多技术流派,实现的方式都不太一样。发展历史首先,要记住2012年这个时间点。2012年的时候,就有人做插件化技术,是大众点评的屠毅敏,他推出了AndroidDynamicLoader框架,用Fragment来实现。大众点...

2018-06-04 11:06:58 2364

转载 Android Rxbus事件总线

最近在项目中使用了Rxjava和RxAndroid,确实感觉挺不错的,然后听说可以用RxBus来替换掉EventBus等事件分发的三方库,然后就上午找比较好的RxBus开源项目(以为是有统一标准的),然而后面才知道,RxBus没有绝对的,只是一种想法而已,借助Rxjava的特性来实现的。既然这样,我也就自己实现了一个(可以设置tag,并指定事件接收的线程类型),测试效果还是蛮不错的。先看效果图:途...

2018-06-04 11:06:30 1055

转载 Android框架之路——GreenDao3.2.2的使用

一、简介GreenDAO是一个开源的安卓ORM框架,能够使SQLite数据库的开发再次变得有趣。它减轻开发人员处理低级数据库需求,同时节省开发时间。 SQLite是一个令人敬畏的内嵌的关系数据库,编写SQL和解析查询结果是相当乏味和耗时的任务。通过将Java对象映射到数据库表(称为ORM,“对象/关系映射”),GreenDAO可以将它们从这些映射中释放出来,这样,您可以使用简单的面向对象的API来...

2018-06-04 11:03:54 384

转载 mysql workbench基本操作

MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQL Workbench设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL 迁移。做数据库设计的话,大家都比较熟悉Power Designer,用得也比较多。但PD有个缺点就是收费,而且价格不菲。如果你使用的是mysql,mysql w...

2018-06-04 11:02:16 2825

转载 谈谈Java中的volatile

内存可见性留意复合类操作解决num++操作的原子性问题禁止指令重排序总结内存可见性volatile是Java提供的一种轻量级的同步机制,在并发编程中,它也扮演着比较重要的角色。同synchronized相比(synchronized通常称为重量级锁),volatile更轻量级,相比使用synchronized所带来的庞大开销,倘若能恰当的合理的使用volatile,自然是美事一桩。为了能比较清晰彻...

2018-06-04 10:59:24 127

微服务从设计到部署

微服务在应用开发和部署方面取得显著的进步。将应用开发或者重构成微服务以分离服务

2018-07-18

Android高级进阶

《Android高级进阶》是Android的进阶学习指南,主要为Android初中级开发者进阶所需的知识,高级开发者也可以从本书中发现很多共鸣点。《Android高级进阶》从8个方面对50个知识点进行分类讲解,包括基础篇、系统架构篇、经验总结篇、新技术篇、性能优化篇、移动安全篇、工具篇、测试篇。熟练掌握这些知识点后,应该就能够应付实际项目开发中的绝大部分问题了。, 《Android高级进阶》的主要目的在于给读者一个完整的Android中高级开发者知识图谱。笔者希望通过《Android高级进阶》的系统讲解,能够帮助读者在面试和工作中收获自己满意的成绩。

2018-01-15

android 手势识别

该小项目挺有意思,希望对正在学习android的初学者有用

2010-08-30

网络概算考试资料对考试很有用

设计概算是指设计单位在初步设计或扩大初步设计阶段,根据设计图样及说明书、设备清单、概算定额或概算指标、各项费用取费标准等资料、类似工程预(决)算文件等资料,用科学的方法计算和确定建筑安装工程全部建设费用的经济文件。   设计概算可分为三级概算,即单位工程概算、单项工程综合概算和建设项目总概算。

2010-01-04

空空如也

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

TA关注的人

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