自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (11)
  • 收藏
  • 关注

转载 PageRank

一、 PageRank 的简化模型我们先来看下 PageRank 是如何计算的。我假设一共有 4 个网页 A、B、C、D。它们之间的链接信息如图所示:这里有两个概念你需要了解一下。出链指的是链接出去的链接。入链指的是链接进来的链接。比如图中 A 有 2 个入链,3 个出链。简单来说,一个网页的影响力 = 所有入链集合的页面的加权影响力之和,用公式表示为:u 为待评估...

2019-12-04 16:32:38 942

原创 Android 架构组件

Android 架构组件Android架构组件包括:LifecyclesLiveDataViewModelRoomPagingWorkManagerDataBindingNavigationLifeCycles&LiveData&ViewModel首先,请查看下图,该图显示了设计应用后所有模块应如何相互交互:每个组件仅依赖于其下一级的组件。例如,Acti...

2019-06-20 10:27:07 345

原创 WebView加载本地html设置屏幕设备自适应

package com.ui.view.web;import android.content.Context;import android.os.Build;import android.support.annotation.Nullable;import android.support.annotation.RequiresApi;import android.util.Attri...

2019-05-13 20:56:31 647

转载 23种经典设计模式UML类图汇总

23种经典设计模式UML类图汇总创建型模式1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,...

2019-03-23 16:33:43 313

原创 Combine multiple jar into one

just extract the two jar files and recreate a new one$ mkdir tmp$ (cd tmp; unzip -uo ../jar1.jar)$ (cd tmp; unzip -uo ../jar2.jar)$ jar -cvf combined.jar -C tmp .The stuff with tmp ensures tha...

2019-02-27 10:54:49 184

原创 MacOS 10.13 安装Virtualbox失败

最近在新版MacOS 10.13上安装vitral box的时候,遇到了如下图的安装错误:解决方法如下:1、Download VirtualBox 5.2 installer2、Run the DMG, this creates a device3、Attempt to install from .pkg file, it will fail at the validation step4、...

2018-03-28 11:50:02 6997

原创 Gradle上传aar到Maven

一.配置创建gradle.properties内容如下:BUILD_TYPE=releaseMAVEN_URL=仓库地址MAVEN_URL_SNAPSHOT=仓库地址MAVEN_USER_NAME=用户名MAVEN_PWD=用户密码SDK_VERSION_NAME=版本名SDK_VERSION_NAME_SNAPSHOT=版本名SDK_GROUP_ID=group id

2018-01-04 14:46:21 2891 1

原创 Android 监听屏幕旋转事件

一.Activity#onConfigurationChanged二.动态注册广播监听 Intent.ACTION_CONFIGURATION_CHANGED

2017-10-31 15:06:37 1811

原创 覆盖滑动ViewPager

覆盖滑动无限循环ViewPager

2017-09-13 21:47:58 648

原创 Android Studio Useful Plugins

1.GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。使用方法:快捷键Alt+S也可以使用Alt+Insert选择GsonFormat2.Android ButterKnife Zelezny配合ButterKnife实现注解,从此不用写findViewById,想着就爽啊。在Activity,Fr

2017-07-03 18:12:52 342

转载 Android访问/data/app/下文件方法

地球人都知道的:A) /data/app/目录本身要su的访问权限,所以无法new File("/data/app");或许你不知道的:B) 初始安装时,文件被保存在:data/app + [包名].apk覆盖安装N次后,文件名为:data/app + [包名]-N.apk用adb shell 进入 /data/app/目录

2017-03-31 16:44:37 14179

原创 Http简介

一.请求方法根据HTTP标准,HTTP请求可以使用多种请求方法。HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。序号方法描述1GET请求指定的页面信息,并返回实体主体。2

2017-03-07 14:45:55 416

原创 LayoutInflater使用classloader加载xml问题

在做动态加载时遇到更换插件的ClassLoader时对应的LayoutInflater的ClassLoader没有对应更换,造成xm中的自定义view出现类型强制转换错误,解决方法如下:@Override public Object getSystemService(String name) { Object object = super.getSystemServ

2016-08-12 14:15:28 814

转载 java.lang.NoClassDefFoundError: android.os.AsyncTask

这个Bug发生在这样的环境: 你有很多的线程在同时运行,并且每个线程都需要持续运行相当长一些时间; 其中一些是用AsyncTask去作的,并且AsyncTask在其他的线程执行顺序之后。          java.lang.NoClassDefFoundError:android.os.AsyncTask.这里暂时不贴出异常栈信息(出现在uncaughtException),通过大量的s

2016-08-08 11:23:46 1400

原创 RippleEffect波纹效果

Android L以下的Android 版本使用点击波纹效果可以使用这个libraryhttps://github.com/traex/RippleEffect在gradle中:dependencies { compile 'com.github.traex.rippleeffect:library:1.3'}如果不需要annotations:de

2016-06-30 17:31:03 1193

原创 在Android Studio中有六种依赖

Compile compile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中。Provided Provided是对所有的build type以及favlors只在编译时使用,类似eclipse中的external-libs,只参与编译,不打包到最终apk。APK 只会打包到apk文件中,而不参与编译,所以不能再代码中直接调用jar中的

2016-06-15 17:51:23 343

原创 设置SurfaceView背景透明

废话不多说,直接上代码:surfaceview.setZOrderOnTop(true);surfaceview.getHolder().setFormat(PixelFormat.TRANSLUCENT);一般会用上面这个,但上面这个有个比较蛋疼的是画图时会盖住它上面的view;如果想让surfaceview遵从view的层级关系,不盖住上面的view的话,可以用下面这个:surf

2016-01-15 17:07:38 13631 2

原创 Activity中定义Handler有警告

思考下面代码1 public class SampleActivity extends Activity {2 3 private final Handler mLeakyHandler = new Handler() {4 @Override5 public void handleMessage(Message msg) {6 // ...

2016-01-11 11:27:40 1535 2

原创 Package manager has died at android.app.ApplicationPackageManager.getInstalledPackages

造成Package manager挂掉的原因大概有一下两个:-- The user has too many applications installed, such that the list ofinstalled packages with the activity data exceeds 1MB, or用户装了太多应用了,导致存储所有应用的数组大小超过1MB;

2015-11-26 16:34:14 2598

转载 LinearLayout的android:layout_weight的真实含义

首先声明只有在Linearlayout中,该属性才有效。之所以android:layout_weight会引起争议,是因为在设置该属性的同时,设置android:layout_width为wrap_content和match_parent会造成两种截然相反的效果。如下所示:[html] view plaincopyprint?LinearLayout

2015-11-25 20:27:11 468

原创 String & StringBuffer & StringBuilder

String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常

2015-11-25 17:42:58 331

原创 Vector与ArrayList与CopyOnWriteArrayList区别

1. Vector & ArrayList 1)  Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。2) 当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50

2015-11-25 17:30:10 4240

原创 遍历List的同时对List进行修改

先上代码:Collection list = new ArrayList(); list.add("Android"); list.add("iPhone"); list.add("Windows Mobile"); // example 0 Iterator itr0 = list.iterator();

2015-11-24 20:10:59 20709

转载 Pattern和Matcher详解

结论:Pattern与Matcher一起合作.Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持. 单独用Pattern只能使用Pattern.matcher(String regex,CharSequence input)一种最基础最简单的匹配。java正则表达式通过java.util.regex包下的Pattern类与Matcher类实现(建议在阅读本

2015-11-13 16:47:10 482

原创 有趣有用的apk应用

下载链接:http://download.csdn.net/download/sxfda/9196343

2015-10-20 14:21:43 672

原创 字符串与正则表达式

字符串与正则表达式1、字符串String类对象是不可改变的,对于String对象的重新赋值在本质上是重新创建了一个String对象并将新值赋予该对象,其方法ToString对性能的提高并非很显著。 因为一旦创建了该对象,就不能修改该对象的值在处理字符串时,最好使用StringBuilder类,其.NET 命名空间是System.Text。该类并非创建新的对象,而是通过Append,

2015-10-15 17:59:04 466

转载 Android抓包方法(二) 之Tcpdump命令+Wireshark

前言做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等。学会抓包分析是测试人员必备的功课之一。最先想的基本上都会是Fiddler代理抓包,但Fiddler有局限,如果APP不支持代理呢?比如邮箱是Imap协议呢?好吧,我们换个思路,安卓是基于linux,那么linux的抓包工具命令是不是也能试用呢?本文主要对tcpdump进行

2015-09-21 12:54:44 834

原创 Android输入法back出现黑块

Android中弹出输入法界面不影响app界面布局默认情况下,输入法弹出的时候,原来的view会被挤扁,按back键退出输入法时,原先被输入法覆盖的部分回变成黑色背景。有些应用不想被挤,它们可以接受被输入法view覆盖在上面。这时候需要在 AndroidManifest.xml acitivty里面加上一句: android:windowSoftInputMode="adjustPan"

2015-09-14 19:40:43 1676

原创 Android进程内通信

什么是IPC?IPC(Inter-Process Communication,进程间通信)IPC ( Instruction per Clock 及CPU每一时钟周期内所执行的指令多少) IPC代表了一款处理器的设计架构,一旦该处理器设计完成之后,IPC值就不会再改变了。1、Android进程内通信Android为了屏蔽进程的概念,利用不同的组件[Activity、Servic

2015-07-30 19:58:29 722

原创 对象的强、软、弱和虚引用

1.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。图1为对象应用类层次。图1⑴强引用(St

2015-05-27 14:21:15 357

原创 Ant自动编译打包&发布 android项目

Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了。1  Ant自动编译打包android项目     1.1   Ant安装  ant的安装比较简单,下载ant压缩包  http://ant.apache.org  (最新的为1.9.3版本

2015-05-27 11:01:33 704

原创 android 将对象存储于本地

package com.jiubang.commerce.utils;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;

2015-05-26 15:43:16 2924

转载 Android项目使用Ant打包,自动生成build.xml

一、生成build.xmlEclipse中使用Ant为Android打包并且签名SDK自带文件 在tools/ant目录下这3个文件 其中build.xml和uibuild.xml中定义了大量基础构建方法和打包策略。我们只需要建立我们自己的build.xml并且存放在项目的根目录下,然后引用一下tools/ant/build.xml即可。当然也可以拷贝它然后

2015-05-15 11:10:13 419

转载 GitHub上最火的40个Android开源项目

此前,推出的GitHub平台上“最受欢迎的开源项目”系列文章引发了许多读者的热议,在“GitHub上最火的40个Android开源项目(一)、(二)中,我们也相继盘点了40个GitHub上最受欢迎的Android开源项目。对于GitHub上如此众多的项目,有人不断Mark,有人分享自己的经验,有人心生“看得眼花缭乱,果然是需要终身学习的时代”的感慨,不管怎么样,如果能让你真的有所学习有所收获,我们

2015-05-14 10:29:56 874

原创 Running标志--正在处于执行状态的判断与记录

[java] view plaincopyprint?public class RunningState {    private byte[] mLock = new byte[0];    private int mRunningCount = 0;        /**     * @return 是否正在运行状态     */    publ

2015-05-05 18:25:24 1171

原创 SurfaceView

首先我们先来看下官方API对SurfaceView的介绍SurfaceView的API介绍Provides a dedicated drawing surface embedded inside of a view hierarchy. You can control the format of this surface and, if you like, its size; the Su

2015-04-23 10:39:00 398

原创 如何让Service杀不死

1.在service中重写下面的方法,这个方法有三个返回值, START_STICKY是service被kill掉后自动重写创建@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {return START_STICKY;}----------------@Overridepub

2015-04-16 18:45:05 1484

原创 EditText 禁止输入中文字符

设置EditText 的属性android:digits,通过指定可输入的字符来过滤掉中文字符例子如下:strings.xml文件:0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`¬!"£$%^*()~=#{}[];':,./?/*-_+<>@&Ed

2015-03-23 17:10:13 3858

原创 JAVA获取控制台的输入的两个方法

1.比较传统的方法,得到字符串后要另行判断、转换[java] view plaincopyprint?package com.test;    import java.io.BufferedReader;  import java.io.IOException;  import java.io.InputStreamReader;    public class Mai

2015-03-20 14:18:30 2078

原创 反射

1.反射内部类Java代码  public class Outer{     public class Inner{     }  }  Class.forName("xxx.xxx.Outer$Inner");

2015-03-17 17:42:36 376

Alfred 3破解工具 keygen

下载解压后打开运行Keygen,点击patch按钮选择Alfred3,再点击save,Done!

2018-05-08

ApiDemos源码

非常非常有用的ApiDemos源码,很多实用,炫酷的效果例子

2015-11-25

有趣,有用的apk应用(新版本 )

TBox旨在为你提供各种各样有趣的服务和功能.TBox为你提供各种各样有趣的服务和功能,让你的生活每天都是不一样的颜色和体验; 成语查询能方便你随时随地的学习新的成语;TBox的应用管理能为你区分出哪些常用和不常用的应用,并且各个应用所占存储空间大小一目了然;从而能够及时卸掉冗余的应用,让你的手机更加轻便; 此外在\\\"节操去哪\\\"中还能看到许许多多的段子和趣图等,让你每天都笑口常开.

2015-10-23

有趣有用的apk应用

TBox旨在为你提供各种各样有趣的服务和功能.TBox为你提供各种各样有趣的服务和功能,让你的生活每天都是不一样的颜色和体验; 成语查询能方便你随时随地的学习新的成语;TBox的应用管理能为你区分出哪些常用和不常用的应用,并且各个应用所占存储空间大小一目了然;从而能够及时卸掉冗余的应用,让你的手机更加轻便; 此外在\\\"节操去哪\\\"中还能看到许许多多的段子和趣图等,让你每天都笑口常开.

2015-10-20

引导Demo-ViewPager示例

即是android引导界面实现的Demo,也是一个ViewPager用法示例

2015-04-01

eclipse识别手机方法

eclipse识别手机:解决eclipse上no permission和????等问题

2015-03-13

apkdecode------apk反编译工具

apk反编译工具----------------------apkdecode

2015-03-13

机锋市场源码---Android

机锋市场源码---Android源码

2014-12-31

opengl es 实现地球模型

利用opengl es 实现地球模型,包括绘制球体,贴图,点击缩放等

2014-07-29

MFC详细的教程

mfc是微软基础类库的简称,是微软公司实现的一个c++类库,主要封装了大部分的windows API函数,vc++是微软公司开发的c/c++的集成开发环境,所谓集成开发环境,就是说利用它你可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。有时人们说vc呢也指它的内部编译器,集成开发环境必须有一个编译器内核,要不有什么用,例如DevC++其中一个编译器内核就是gcc。 MFC除了是一个类库以外,还是一个框架,你应该试过,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。xx是版本,它封装了mfc内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西,因为MFC框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率但是MFC的封装很浅,所以效率上损失不大,灵活性还可以,虽然也有很多缺陷,但还是一个比较好的东西。

2014-03-06

空空如也

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

TA关注的人

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