自定义博客皮肤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 869

原创 Android 架构组件

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

2019-06-20 10:27:07 331

原创 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 641

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

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

2019-03-23 16:33:43 300

原创 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 177

原创 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 6981

原创 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 2879 1

原创 Android 监听屏幕旋转事件

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

2017-10-31 15:06:37 1805

原创 覆盖滑动ViewPager

覆盖滑动无限循环ViewPager

2017-09-13 21:47:58 646

原创 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 338

转载 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 13876

原创 Http简介

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

2017-03-07 14:45:55 412

原创 LayoutInflater使用classloader加载xml问题

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

2016-08-12 14:15:28 802

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

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

2016-08-08 11:23:46 1393

原创 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 1189

原创 在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 341

原创 设置SurfaceView背景透明

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

2016-01-15 17:07:38 13567 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 1521 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 2586

转载 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 466

原创 String & StringBuffer & StringBuilder

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

2015-11-25 17:42:58 328

原创 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 4223

原创 遍历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 20664

转载 Pattern和Matcher详解

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

2015-11-13 16:47:10 475

原创 有趣有用的apk应用

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

2015-10-20 14:21:43 655

原创 字符串与正则表达式

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

2015-10-15 17:59:04 465

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

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

2015-09-21 12:54:44 829

原创 Android输入法back出现黑块

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

2015-09-14 19:40:43 1643

原创 Android进程内通信

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

2015-07-30 19:58:29 715

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

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

2015-05-27 14:21:15 353

原创 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 700

原创 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 2919

转载 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 415

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

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

2015-05-14 10:29:56 871

原创 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 1161

原创 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 389

原创 如何让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 1457

原创 EditText 禁止输入中文字符

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

2015-03-23 17:10:13 3854

原创 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 2071

原创 反射

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

2015-03-17 17:42:36 374

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

Beginning Android——安卓开发初级教程

The Android development platform, created by Google and the Open Handset Alliance, is a platform in its truest sense, encompassing hundreds of classes beyond the traditional Java classes and open source components that ship with the SDK. With Beginning Android 2, you'll learn how to develop applications for Android 2.x mobile devices, using simple examples that are ready to run with your copy of the software development kit. Author, Android columnist, writer, developer, and community advocate Mark L. Murphy will show you what you need to know to get started programming Android applications, including how to craft graphical user interfaces, use GPS, and access web services. What you'll learn * Discover Android and how to use it to build Java-based mobile applications for a wide range of phones and other devices. * Create user interfaces using both the Android widget framework and the built-in WebKit-powered Web browser components. * Utilize the distinctive capabilities of the Android engine, including location tracking, maps, and Internet access. * Use and create Android applications incorporating activities, services, content providers, and broadcast receivers. * Support Android 1.5, 1.6, and 2.0 devices, including dealing with multiple Android OS versions, multiple screen sizes, and other device-specific characteristics. Who this book is for This book is aimed at people new to mobile development, but with some knowledge of Java. Table of Contents * The Big Picture * Projects & Targets * Creating a Skeleton Application * Using XML-Based Layouts * Employing Basic Widgets * Working with Containers * Using Selection Widgets * Getting Fancy With Lists * Employing Fancy Widgets and Containers * The Input Method Framework * Applying Menus * Fonts * Embedding the WebKit Browser * Showing Pop-Up Messages * Dealing with Threads * Handling Activity Lifecycle Events * Creating Intent Filters * Launching Activities and Sub-Activities * Handling Rotation * Working with Resources * Using Preferences * Managing and Accessing Local Databases * Accessing Files * Leveraging Java Libraries * Communicating via the Internet * Using a Content Provider * Building a Content Provider * Requesting and Requiring Permissions * Creating a Service * Invoking a Service * Alerting Users Via Notifications * Accessing Location-Based Services * Mapping with MapView and MapActivity * Handling Telephone Calls * Development Tools * Handling Multiple Screen Sizes * Dealing with Devices * Handling Platform Changes * Where Do We Go From Here?

2014-03-06

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关注的人

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