- 博客(70)
- 资源 (11)
- 收藏
- 关注
转载 PageRank
一、 PageRank 的简化模型我们先来看下 PageRank 是如何计算的。我假设一共有 4 个网页 A、B、C、D。它们之间的链接信息如图所示:这里有两个概念你需要了解一下。出链指的是链接出去的链接。入链指的是链接进来的链接。比如图中 A 有 2 个入链,3 个出链。简单来说,一个网页的影响力 = 所有入链集合的页面的加权影响力之和,用公式表示为:u 为待评估...
2019-12-04 16:32:38 882
原创 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 642
转载 23种经典设计模式UML类图汇总
23种经典设计模式UML类图汇总创建型模式1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,...
2019-03-23 16:33:43 302
原创 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 180
原创 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 6985
原创 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 2880 1
原创 Android 监听屏幕旋转事件
一.Activity#onConfigurationChanged二.动态注册广播监听 Intent.ACTION_CONFIGURATION_CHANGED
2017-10-31 15:06:37 1805
原创 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 339
转载 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 13921
原创 Http简介
一.请求方法根据HTTP标准,HTTP请求可以使用多种请求方法。HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。序号方法描述1GET请求指定的页面信息,并返回实体主体。2
2017-03-07 14:45:55 414
原创 LayoutInflater使用classloader加载xml问题
在做动态加载时遇到更换插件的ClassLoader时对应的LayoutInflater的ClassLoader没有对应更换,造成xm中的自定义view出现类型强制转换错误,解决方法如下:@Override public Object getSystemService(String name) { Object object = super.getSystemServ
2016-08-12 14:15:28 804
转载 java.lang.NoClassDefFoundError: android.os.AsyncTask
这个Bug发生在这样的环境: 你有很多的线程在同时运行,并且每个线程都需要持续运行相当长一些时间; 其中一些是用AsyncTask去作的,并且AsyncTask在其他的线程执行顺序之后。 java.lang.NoClassDefFoundError:android.os.AsyncTask.这里暂时不贴出异常栈信息(出现在uncaughtException),通过大量的s
2016-08-08 11:23:46 1394
原创 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 1190
原创 在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 13573 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 2592
转载 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 4226
原创 遍历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 20669
转载 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
原创 字符串与正则表达式
字符串与正则表达式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 831
原创 Android输入法back出现黑块
Android中弹出输入法界面不影响app界面布局默认情况下,输入法弹出的时候,原来的view会被挤扁,按back键退出输入法时,原先被输入法覆盖的部分回变成黑色背景。有些应用不想被挤,它们可以接受被输入法view覆盖在上面。这时候需要在 AndroidManifest.xml acitivty里面加上一句: android:windowSoftInputMode="adjustPan"
2015-09-14 19:40:43 1650
原创 Android进程内通信
什么是IPC?IPC(Inter-Process Communication,进程间通信)IPC ( Instruction per Clock 及CPU每一时钟周期内所执行的指令多少) IPC代表了一款处理器的设计架构,一旦该处理器设计完成之后,IPC值就不会再改变了。1、Android进程内通信Android为了屏蔽进程的概念,利用不同的组件[Activity、Servic
2015-07-30 19:58:29 717
原创 对象的强、软、弱和虚引用
1.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。图1为对象应用类层次。图1⑴强引用(St
2015-05-27 14:21:15 354
原创 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 2920
转载 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 1165
原创 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 390
原创 如何让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 1461
原创 EditText 禁止输入中文字符
设置EditText 的属性android:digits,通过指定可输入的字符来过滤掉中文字符例子如下:strings.xml文件:0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`¬!"£$%^*()~=#{}[];':,./?/*-_+<>@&Ed
2015-03-23 17:10:13 3856
原创 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 2072
原创 反射
1.反射内部类Java代码 public class Outer{ public class Inner{ } } Class.forName("xxx.xxx.Outer$Inner");
2015-03-17 17:42:36 374
有趣,有用的apk应用(新版本 )
2015-10-23
有趣有用的apk应用
2015-10-20
Beginning Android——安卓开发初级教程
2014-03-06
MFC详细的教程
2014-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人