自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 面试大企业必须复习内容

https://www.jianshu.com/u/383970bef0a0 内所有文章tcp: https://blog.csdn.net/mary19920410/article/details/58030147

2018-09-21 16:57:42 208

转载 MVP+rxjava2+retrofit+okHttp3 学习文章

rxjava相关:  https://www.jianshu.com/p/cd3557b1a474https://www.jianshu.com/p/cd984dd5aae8retrofit相关: okhttp相关:https://www.jianshu.com/p/82f74db14a18 MVP相关:https://github.com/googlesamp...

2018-09-19 10:56:42 249

原创 Android—WIFI开发流程

1.添加权限 2.获取wifi列表(1) 获取wifiManagerwifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE);(2)注册wifi扫描广播 myWifiScanReceiver=new MyWifiScanRe

2017-11-21 17:12:32 1205

原创 Android蓝牙开发(二) BLE4.0低功耗蓝牙

一、BLE4.0低功耗蓝牙Bluetooth Low Energy,蓝牙低功耗,是从蓝牙4.0开始支持的技术。相较传统蓝牙,传输速度更快、覆盖范围广、安全性高、延时短、耗电低等特点。二、关键术语1.GATT(通用属性配置):通用属性配置文件,用于ble链路上发送和接收“属性”的数据块。目前所有的ble应用都是基于GATT的,一个设备可以实现多个配置文件。2.ATT(属性

2017-11-16 08:31:54 5801 4

原创 Android 蓝牙开发

蓝牙开发 首先需要申请权限 此外 AndroidM之后,如果需要搜索附近蓝牙设备 还需要添加两个动态权限(需要在代码中动态申请)

2017-09-06 13:55:39 630

转载 Android gc垃圾回收流程

GC概念: 什么是GC机制?字面是说是“垃圾收集”,更精确点就是“内存回收”,在一个对象不再被程序引用时,它所占用的堆空间就可以回收,以便分配给新对象使用。先认识三个英语:(Minor GC) vs (Major GC) vs (Full GC)Minor GC从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称

2017-08-30 10:00:40 654

转载 常用 Git 命令清单

git 整体工作流程图:下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$

2017-08-28 16:09:42 185

转载 MVC和MVP —以及两者间的区别

1.MVC(model-view-controller)MVC是Android开发中用到最多的基本框架,Android本身也是有很多使用这种项目框架。因为看起来特别直观,但是缺点,但是代码耦合度相对来说较高。步骤清晰:用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。

2017-08-23 10:32:07 550

原创 Android Studio中进行单元测试

在Android开发过程中,我们往往忽略了单元测试功能, 主要还能还是大家觉得 真机在手,运行调试特别直观。不过如果我们能够养成单元测试的习惯,相信能更加提升我们应用开发的速度。当我们创建一个Android Studio项目时,我们会发现项目结构中,多了一个test目录  src/test/java  这个目录,就是AS为了方便我们进行单元测试,而帮我们创建的目录。当然,我们也可以自己

2017-08-21 16:19:16 9544 2

转载 Android 源码目录结构

android平台四层架构对应源代码中的目录:第一层:应用程序层(applications)对应根目录下packages/apps第二层:应用程序框架层(application framework)对应根目录下的frameworks第三层:运行库层包括运行库(libraries)和android运行时环境(android runtime)      android运行时环境:

2017-04-05 11:55:20 806

原创 Android 应用的安装和卸载

1.普通的应用安装和卸载/* 安装apk */ public static void installApk(Context context, String fileName) { Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.addFlags(Inte

2017-02-07 14:33:59 5234 2

原创 Android开发细节小记

1.ScrollView里面放入一些View后,由于焦点原因导致开始进入界面的时候,位置没有在最顶端,                         解决办法:scroll_view.smoothScrollTo(0,20);2.html控件居中显示:1.在外层控件中加入text-align:center     2.在控件内部价margin:0 auto; 3.popWindo...

2016-12-24 11:18:28 351

原创 Android自定义View

自定义View对于开发者来说,是Android开发中必不可少的一环,因为Android源生的View并不能满足我们实际中的所有需求,但是想要写好一个自定义View,还是比较难掌握的,在前面的View的工作原理中已经对View进行了分析,下面就来对View的自定义作一下介绍。1.自定义View的方式       (1)继承View 重写其onDraw方法这个方式主要是用来实现不规

2016-12-07 11:23:07 359

原创 View的工作原理(二)View的三大流程

View的工作流程主要是指measure、layout、draw这三大流程。代表测量、布局和绘制过程。其中,measure负责确认View的测量宽高,layout负责确定View的最终宽高和四个顶点的位置,而draw则是负责将View绘制到屏幕上。1.measure过程measure过程是需要分两种情况:普通view和viewGroup,如果是普通的原始View,则直接通过其mea

2016-12-05 14:45:08 1021

原创 Not cached version of gradle:2.2.2 avaliablle for offline mode

今天项目突然不能正常运行了,明明昨天还好着的  今天打开电脑突然报Not cached version of gradle:2.2.2 avaliablle for offline mode 后来发现是我的Android Studio是2.2.2  版本的  在该版本中com.android.build.tools移到了jcenter中  所以导致配置的maven库无法找到文件需要在bui

2016-12-02 17:34:07 4776

原创 View的工作原理(—)View相关基本概念

View可以说是Android开发中,我们接触的最多的东西了。但是对齐内部的工作原理,我还并不是很懂。所以在此作一个总结归纳。我们先来了解一下View相关的一些基本概念:1.ViewRoot     ViewRoot是GUI管理系统(WindowManager)和GUI呈现系统(DecorView)之间的桥梁,它既不是View的子类,也不是View的父类。我们理解ViewRoot时

2016-11-26 08:22:26 553

原创 在ViewPager中判断Frament是否显示状态

由于在ViewPage中PageAdapter来管理所有的Fragment。在加载一个Fragment的时候,会自动缓存左右几个(默认是一个)页面,此时也会调用到正常的生命周期函数,onCreate,onCrateView,onResume.可是这样就干扰了我们统计页面打开次数。例如:一个ViewPager中存在三个页面的时候,当默认是第一个页面,并且被打开。那么在我们的后台就会收集到用户打开

2016-11-09 14:35:51 3988 1

原创 RxJava的基本使用方法

现在才来了解RxJava可能有点晚。。。当初第一次看到这个东西,觉得也就是观察者模式的延伸而已,没怎么在意。后来发现许多项目中,都引用了该框架。所以趁着项目间隙,来归纳学习一下RxJava这个热门框架。1.RxJava介绍:RxJava是用java实现Reactive Extensions(异步操作),可观测的序列来组成异步的、基于事件的程序的库。他扩展了观察者模式来支持数据/事件序列,而

2016-10-26 10:21:59 826

原创 Activity的启动流程源码解析

Activity的启动流程源码解析

2016-10-14 14:29:46 620

转载 Android.mk详解

Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库文件等。要掌握jni,就必须熟练掌握Android.mk的语法规范。 一、Android.mk文件的用途 一个android子项目中会存在一个或多个Android.mk文件 1、单一的Android.mk文件 直接参考NDK

2016-09-29 16:58:00 341

原创 在ListView中嵌套ListView时,子ListView显示不完整

需要重新计算子ListView的高度并设置,,重写onMeasure方法public class MyListView extends ListView{ public MyListView(Context context) { super(context); } public MyListView(Context context, Attribu

2016-05-03 15:03:41 280

原创 Android —View的事件分发机制

所谓的Android事件分发,其实就是对Android的MotionEvent事件进行处理的过程。而这个过程,Android给出了3个方法来处理。分别是:dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent三个方法来完成的。      1.dispatchTouchEvent          此方法是用来进行事件的分发。当一个事件

2016-03-28 11:19:23 332

原创 JavaScript浏览器对象

javaScript通常包括两种类型:内置对象,浏览器对象。   此外还有我们的自定义对象。    下面我们先来了解一下浏览器对象                      所有浏览器对象表:浏览器对象对象含义anchor当前文档中设置了name属性的超链接applet当前文档中的小程序area客户端图形映

2016-01-22 11:02:48 362

原创 JavaScript事件处理

HTML5开发中的事件处理,一般交给javaScript来处理。而JS的处理事件方式一般有三种:    1.HTML事件处理             直接将事件添加到HTML结构中,这种方法随便普遍,但是修改起来较为麻烦。 function demo(){ alert("demo"); }     2

2016-01-15 15:28:35 398

原创 html5-数据存储

1.Cookie          Cookie是html存储最基本的方式,他是一种存储在访问者计算机中的变量。以字符串的形式存储在计算机文件中。每当我们浏览某个网页时,都会向服务器后台发送这个cookie.          Cookie有大小限制,每个 cookie 所存放的数据不能超过4kb,如果 cookie 字符串的长度超过4kb,则该属性将返回空字符串。         

2016-01-14 10:26:01 277

原创 jQuery Mobile的初识与使用

1.什么是jQuery Mobile:           jQuery Mobile是jQuery在手机上和平板设备上的版本。jQuery Mobile给主流移动平台带来了jQuery核心库。使用它不需要安装任何东西,只需要将*.js和*.css文件直接包含到web项目中即可使用。2.jQuery Mobile事件           jQuery Mobile提供了专门针对移动端浏

2016-01-12 09:40:57 666

原创 CSS基础—样式

1.CSS样式—背景      CSS允许运用纯色作为背景,也允许使用背景图像作为背景。        background-attachment       背景图片是否固定或者随着页面的其余部分滚动        background-color                 设置元素的背景颜色        background-image               设置

2016-01-05 14:47:10 316

原创 CSS基础——选择器

1.CSS是指层叠样式表         CSS样式表可以极大地提高工作效率,可以使用它来定义我们的界面样式,使UI更会完美且易于修改。       在html中引入需要在head中加入link标签       index 2.CSS基础语法:      例:h1{color:read;font-size:14px;}           

2016-01-05 10:24:55 337

原创 Andorid序列化方式Serizlizable和Parcelable

在开发过程中,有时我们需要对对象进行传输,或者将对象进行持久化存储,这时我们就需要实现对象的序列化。在Android开发过程中,对象的序列化主要有两种方式:1.实现Serializable接口  2.实现Parcelable接口。下面就对着两种方式进行一一介绍。1.Serializable接口Serializable是Java提供的一种序列化借口,可以为对象提供标准的系列化和反序列化操

2015-12-25 15:02:53 1030

原创 百度地图开发相关技术

1.生成keyStoreBuild->Generate Signed APK->create New KeyStore   剩下就是填写地址等信息,点next就可以了2.生成数字签名打开keytool.exe或者输入以下这条绝对路径来查找数字签名,当然,最后那一段是你自己的keystore存放的地址       "C:\Program Files\Java\jre7\bin\key

2015-12-23 11:25:56 1405

原创 初识EventBus

听说EventBus是个好东西,然而我还没了解过。所以今天来学习归纳下~EventBus定义是一个发布 / 订阅的事件总线,看描述感觉和观察者模式有点类似,但是他包含着4个部分:          1.发布者 2.订阅者 3.事件 4.总线    使用方法:注册和取消注册的方法与观察者模式一致,在onCreate方法里面register,在onDestory方法里面unregist

2015-11-26 15:32:19 340

原创 Style和Theme

Theme:针对的是窗体级别的,可以改变窗体的样式。           Theme的使用:                      1.在AndroidManifest.xml中,为Activity指定theme属性(推荐使用)                      2.在Activity创建时调用setTheme方法来设置(在代码中setTheme时 ,必须要在setCont

2015-11-18 14:24:10 262

原创 Android Studio的NDK环境配置

Android Studio1.3版本开始了对NDK开发的支持,研究了一下环境的配置,记录一下1.首先需要把Android Studio更新到1.3以上的版本2.将 gradle更新到2.4以上版本3.下载NDK最新版本4.设置Android Studio的NDK路径5.设置grapdle-wrapper.properties的d

2015-11-16 17:38:55 5433

原创 设计模式—观察者模式

观察者模式,又被称为发布-订阅模式、模型试图模式、源-收听者模式或者从属者模式。当然,怎么称呼这不重要。重要的是我们需要理解他的含义。其主要作用就是,通过建立一个目标物体来管理所有依赖于它的观察者物件,并且在目标物件改变时,所有的观察者都能接收到通知。在java中也就是,定义一个对象之间的一对多的依赖,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。借用鸿洋大神的例子,他

2015-11-12 16:46:23 312

原创 设计模式—单例

闲来无事,整理一下设计模式的相关知识。首先来了解下单例模式。单例模式,在开发中运用的还是比较频繁的一种模式。单例模式主要分为三种:懒汉式单例,饿汉式单例和登记式单例。为什么称这种模式为单例模式呢? 1.:单例模式只能有一个实例       2.单例类必须自己来创造自己的唯一实例。     3.单例类必须给所有其他对象提供一个实例。总的来说,单例模式就是为了让整个工程中,

2015-11-12 15:47:46 345

原创 CommonAdapter-万能的ListView.GridView的适配器

大家对于ListView的适配器的使用相信十分熟悉,因为在开发工程中。我们需要经常使用他,重复地进行着继承BaseAdapter、写ViewHolder的繁琐的工作。这时,你是否急需一个万能的Adapter能够让我们远离那些繁琐的工作呢?  CommonAdapter就能够满足大家的需求。          首先我们还是先来介绍一下listView的使用方法吧。            基本

2015-09-17 16:42:20 576

原创 Android网络通信请求框架—Android-async-http

这次我们来介绍Android的另外一个网络请求框架Android-async-httpAndroid-async-http是一款国外的网络请求开源框架,可以进行高效的网络请求,适合文件的上传和下载。在这一点上就与前面介绍的Volley有所不用。Volley适合数据下且频繁的网络请求,单数据量大就不适合了。这个时候,我们就可以选择使用Android-async-http框架了。  

2015-09-11 17:20:56 406

原创 Android网络通信请求框架——Volley

我们在开发程序的时候,网络请求是必不可少的一项操作。然而我们使用HttpClient等进行直接开发时,会发现我们所写的程序的网络请求会出现各种各样的问题,这时候,就会去寻找网络上的开源网络请求框架。       Volley框架是谷歌公司在2013年发布的一个开源框架。能使网络通信更快,更简单,更健壮。Volley特别适用于那些数据量不大但是通信频繁的网络请求操作。首先我们来介绍下Volley

2015-09-09 16:47:15 364

原创 Android官方侧滑DrawerLayout用法

DrawerLayout是Support V4 Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物。DrawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现)。

2015-09-06 16:02:13 684

原创 Spinner下拉框使用方式总结(样式设计)

Spinner控件是Android自带的选择框体控件。主要有下拉模式和弹出窗模式两种。在这里主要介绍的Spinner的下拉框模式的样式设计和使用方法。      1.在需要放置的XML文件中注册出来  <Spinner style="@style/spinner_style" android:layout

2015-07-30 10:37:11 11185

空空如也

空空如也

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

TA关注的人

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