自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

原创 appium安装教程

1:安装node.js 下载链接https://nodejs.org/dist/v6.2.0/node-v6.2.0-x64.msi 直接下一步 完成后命令行输入npm 有东西就说明安装完成了 2:安装appium 下载链接http://dl.download.csdn.net/down11/20160811/644cc16a716bd55e7e6a0490f5773a46.zip?respo

2016-12-09 11:57:17 545

原创 夜神模拟器无法使用adb命令提示adb server version 31 doesn't match

夜神android模拟器无法使用sdk内部自带的adb 除非版本相同 如果产生这样的错的话我们需要使用 首先定位到夜神模拟器的安装目录 使用nox_adb connect 127.0.0.1:62001然后把所有adb命令改为nox_adb 比如adb shell monkey 1000改为nox_adb shell monkey 1000就可以了当然必须要在安装目录下 或者我们把安装目录

2016-11-04 09:18:01 7538 1

原创 Android 入门压力测试之monkey

1 连接电脑 打开usb选项等等 2 使用 adb device查看是否连接成功 连接成功会显示 List of device attached xxxxxxxxxx device 3 安装app adb install xxxx.apk 4 发送测试指令 (1)系统内随机指令 adb shell monkey 100 在系统内产生随机事件100次 (2)要想对一个a

2016-11-03 17:24:27 567

原创 java 排序算法

1 直接插入排序public class insertSrot { public static void insert(int a[]) { for (int i = 0; i < a.length; i++) { int key = a[i]; int j; for (j = i - 1; j >= 0

2016-09-20 09:17:43 388

原创 Android studio jni 入门helloworld

最近忙着面试 ,基本上每个面试官都会问一句 会不会jni?会不会ndk?像我这么厉害的c和c++,难道真的要荒废了吗,说了你会别人又不听,那么 我就得写个jni来试试了,说了这么多,要不是一本正经的胡言乱语 我差点都信了 话不多说 开始撸码 1:先建一个as project 这个就省略了,太难了 你们自己摸索 2: 建一个类 名字叫myJNI package com.bril.jni;/**

2016-09-08 11:15:06 2748 1

原创 Android保证进程不被杀掉的方法

今天看到个知识点,如何后台保证service存活**1**onStartCommand方法,返回START_STICKY2提升service优先级AndroidManifest.xml文件中对于intent-filter可以通过android:priority = “1000”3提升service进程优先级 Android中的进程是托管的,当系统进程空间紧张的时候,会依照优先级自动进行进程的回收。A

2016-09-05 15:03:46 11774 3

原创 html学习笔记

<blockquote>的作用也是引用别人的文本。但它是对长文本的引用,如在文章中引入大段某知名作家的文字,这时需要这个标签。 等等,上一节标签不是也是对文本的引用吗?不要忘记标签是对简短文本的引用,比如说引用一句话就用到标签。 如想在我的文章中引用李白《关山月》中的诗句,因为引用文本比较长,所以使用<blockquote><blockquote>引用文本</block

2016-08-31 09:50:58 276

原创 Android webview加载本地html实现跨域访问

我们在做一个项目时需要把服务器的网页代码保存到本地节省流量,而里面的数据在服务器使用ajax来获取的,当我们把这个网页用本地wenview打开时,在ajax使用时会报 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s exp

2016-08-24 17:21:15 16234 6

原创 android中webview调用js方法,js调用java方法

如今越来越多的webapp使用必然牵扯到网页调用android方法,所以我总结下 环境adt我们建一个工程,设置sdk1:在project.properties文件下设置target=android-14 2:修改minifest文件 <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14

2016-08-24 16:59:08 1185

原创 recycleview获取第一个和最后一个可见item的位置

recycleview 的名字是FoodsNameRecycle FoodsNameRecycle.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, i

2016-08-04 13:46:03 66728 2

原创 http状态码和请求头

整理一下http协议 下表显示每个响应码大概内容及其含义: 100 继续 101 分组交换协 200 OK 201 被创建 202 被采纳203 非授权信息 204 无内容 205 重置内容 206 部分内容300 多选项 301 永久地传送 302 找到 303 参见其他304 未改动

2016-07-28 09:23:29 2125

原创 TCP的拥塞控制

拥塞:即对资源的需求超过了可用的资源。若网络中许多资源同时供应不足,网络的性能就要明显变坏,整个网络的吞吐量随之负荷的增大而下降。 拥塞控制:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提:网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络传输性能有关的所有因素。 流量控制:指点对点通信量的控制,是端

2016-07-27 20:19:28 472

原创 Android动态加载jar,dex,apk文件

最近发现Android有一个发展方向,插件化,像360等等,他把功能索引放在主界面,当使用哪个功能就调用哪个jar,dex,或者apk,这种技术叫做动态加载,那么我们来看看这个dex实现了什么功能 插件化的原理实际是 Java ClassLoader 的原理, Android 也有自己的 ClassLoader,分为 dalvik.system.DexClassLoader 和 dalvik.s

2016-07-23 20:55:43 3771 3

原创 Android设计模式之单例模式

什么是单例模式,就是该类的对象在内存中唯一,也就是说,整个项目中只有一个对象存在 目的:保证一个类在内存中的对象唯一性。 如何保证对象唯一性呢? 思想: 1,不让其他程序创建该类对象。 2,在本类中创建一个本类对象。 3,对外提供方法,让其他程序获取这个对象。 步骤: 1,因为创建对象都需要构造函数初始化,只要将本类中的构造函数私有化,其他程序就无法再创建该类对象; 2,就在类中创

2016-07-22 14:25:36 353

原创 Android富文本编辑器RichEditor的使用

以前有个项目做一个笔记本类似的东西,觉得写的不太好,最近重新写,就发现了这个富文本编辑器他的效果是这样的 感觉有点厉害啊 废话不多说开始撸码 1先添加依赖 dependencies { compile ‘jp.wasabeef:richeditor-android:1.2.0’ } 2写布局 <jp.wasabeef.richeditor.RichEditor a

2016-07-22 11:12:34 33019 28

原创 自定义ImageView使图片不变形

我们都知道要设置imageview的图片不变形需要重写ImangeView的onMeasure方法,今天我们就来重写下它package com.caffe.view;/** * Created by brill on 2016/6/22. */import android.content.Context;import android.graphics.Bitmap;import androi

2016-06-23 19:36:58 2638

原创 Android Studio设置代码补全

我们从setting->keymap设置为eclipse 发现使用alt+/并不能补全代码,查了半天 发现设置 Class Name Completion为alt+/就可以了

2016-06-22 12:45:05 556

原创 Android动画初探-实现淘宝加入加入购物车的效果

我们来看淘宝添加购物车动画,它使用了RotateAnimation和TranslateAnimation,我们来看看它具体的使用 首先贴代码package com.example.animation;import android.animation.Keyframe;import android.animation.ObjectAnimator;import android.animation

2016-06-15 19:15:03 3182

原创 ViewStub的简单使用

优化ui有几种方式,使用viewstub便是一种,延迟加载可以减小内存消耗,当使用时才被加载 那么 我们来看看这个的viewstub 二、类概述 ViewStub 是一个隐藏的,不占用内存空间的视图对象,它可以在运行时延迟加载布局资源文件。当ViewStub可见,或者调用 inflate()函数时,才会加载这个布局资源文件。 该ViewStub在加载视图时在父容器中替换它本身。因此,ViewSt

2016-06-14 17:24:36 439

原创 设置theme实现类似于自定义dialog效果

我们知道我们要实现自定义dialog可以自己自定义,那么还有一种方法就是让activity变成窗体,那么我们在设置Theme就可以了 我们来看效果 点击后弹出一个类似气泡的东西Android平台定义的主题样式:android:theme=”@android:style/Theme.Dialog” 将一个Activity显示为对话框模式•android:theme=”@android:st

2016-06-14 16:49:40 4863

原创 为什么在主线程的Looper.looper死循环不会卡死

public static void main(String[] args) { .... //创建Looper和MessageQueue对象,用于处理主线程的消息 Looper.prepareMainLooper(); //创建ActivityThread对象 //建立Binder通道 (创建新线程) thread.attach(false); Looper.loop(); //消息循环

2016-05-30 17:40:01 4645

原创 解决调用系统自带摄像头录像时从uri里面拿到的路径为空

首先感谢http://www.2cto.com/kf/201502/376975.html这篇文章的创作者 前几天调用系统摄像头录像后保存到一个路径上传视频 (魅族3 android 5.0),发现拿到的uri拿不到路径为空,找了好久找不到解决方法,结果发现android4.4之前和之后的uri格式是不同的,输出uri发现他的格式是这样的content://com.android.provider

2016-05-27 08:33:20 1810

原创 EventBus的使用

如果你学习过设计模式,那么当想通知其他组件某些事情发生时你一定会使用观察者模式。好了,既然能想到这个设计模式,那么就来看一个屌爆天的Android开源框架EventBus。主要功能是替代Intent、Handler、BroadCast在Fragment、Activity、Service、线程之间传递消息。他的最牛逼优点是开销小,代码简洁,解耦代码。 上面说了,EventBus是一个观察者模式的实现

2016-05-20 20:33:17 422

原创 android 5.0之后各个区域的颜色名称

android 5.0之后各个区域的颜色名称

2016-05-16 10:48:03 391

原创 从源码角度看一个view和ViewGroup的测量过程

我们想想,如果我们要绘图,需要那几个参数?第一个:大小我们得知道吧,其次是位置,最后得知道怎么画吧 用什么颜色画,这和我们android中的绘图机制一模一样,接下来我们看看一个view的绘制 上节说performTraversals()会调用到performMeasure(),performLayout(),performDraw(),,我们先来看看第一步performMeasure()的源码 p

2016-05-13 11:45:20 535

原创 从源码角度看一个activity的绘制过程

我们都知道一个activity的绘制过程是从setContentView方法开始的 那么setContentView背后到底干了些什么不为人知的事情,今天让我们来揭开它神秘的面纱,我们来看看setContentView的源码 public void setContentView(@LayoutRes int layoutResID) { getWindow().setContent

2016-05-12 12:51:43 476

原创 从源码角度看一个apk的启动过程和一个activity的启动过程

APK程序的运行过程首先,ActivityThread从main()函数中开始执行,调用prepareMainLooper()为UI线程创建一个消息队列(MessageQueue)。 public static void main(String[] args) { Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "Activity

2016-05-06 16:19:34 2490 1

原创 android的四种启动方式和各自特点

1: Standard :android默认启动方式。系统在启动Activity 的任务中创建Activity 加入activity栈,每次向其加入,当用户按返回键或者销毁这个activity时从activity栈退出 2:singleTop:当activity启动方式设置为singletop时 启动时 系统会判断当前栈顶activity是不是要启动的activity 是则不创建新的activi

2016-05-05 16:45:24 751

原创 浅谈service和activity通信

首先我们谈谈涉及到的几个类和方法 service:HostApduService is a convenience Service class that can be extended to emulate an NFC card inside an Android service component. IntentService IntentService is a base class fo

2016-03-29 22:20:09 1237

原创 安卓应用最简单做到沉浸式

第一步 在布局文件上加入android:clipToPadding="true"android:fitsSystemWindows="true"第二 在MainActivity中加入“` getWindow() .addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindo

2016-03-10 22:18:01 371

原创 Android中Handler,Looper和MessageQueue工作原理解析

Handler 消息的处理者。通过Handler对象我们可以封装Message对象,然后通过sendMessage(msg)把Message对象添加到 MessageQueue中;当MessageQueue循环到该Message时,就会调用该Message对象对应的handler对象的 handleMessage()方法对其进行处理。由于是在handleMessage()方法中处理消

2016-03-10 22:05:08 494

原创 Handler,Looper, MessageQueue的工作原理解析

首先我们谈下他们都是干什么的 Handler 消息的处理者。通过Handler对象我们可以封装Message对象,然后通过sendMessage(msg)把Message对象添加到 MessageQueue中;当MessageQueue循环到该Message时,就会调用该Message对象对应的handler对象的 handleMessage()方法对其进行处理。由于是在handl

2016-03-10 21:24:10 626

原创 使用afinal 中的finalhttp和finalbitmap访问网络资源+finalActivity

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

2016-01-20 14:17:15 614

原创 listview的优化

首先讲下ListView的原理:ListView中的每一个Item显示都需要Adapter调用一次getView的方法,这个方法会传入一个convertView的参数,返回的View就是这个Item显示的View。如果当Item的数量足够大,再为每一个Item都创建一个View对象,必将占用很多内存,创建View对象(mInflater.inflate(R.layout.lv_item, null)

2016-01-18 15:31:26 367

RichEditor

富文本编辑器

2016-07-22

代码量统计工具

代码量统计工具

2016-05-30

空空如也

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

TA关注的人

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