自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (5)
  • 收藏
  • 关注

原创 anr中trace文件的导出。

项目中经常会出现anr,排查的方法相信大家都知道,那就是通过trace文件进行问题的定位。有的同学可能并不知道trace文件怎么导出。很简单,通过adb命令查看本地是否存在trace文件。通过adb shell 进入adb命令中,然后通过 ls - al 查看adb下的所有文件,然后进入cd进入data/anr/然后查看是否有trace文件,如果存在的话,重新打开一个cmd文件,然后通过adb p...

2020-04-28 21:21:36 1053

原创 java类的执行先后

静态代码块---main方法---构造代码块---构造方法---new 对象 --- 普通方法。

2020-04-20 21:15:59 241 3

原创 查看adb调试端口号是否被占用,导致adb调试不显示机型

首先进入cmd 输入adb devices 是否安装了adb,是否配置了adb 环境。如果已经安装了,那可以通过输入netstat -aon|findstr "5037" 然后查看是否有进程占用了, 然后将占用的进程杀掉,就可以了。这个只是简便的方式,但是为了避免5037总被占用,我们可以自己自定义adb端口。...

2019-10-08 10:59:47 928 4

原创 butterknife的使用,以及点击右键没有提示。

首先我们在setting中的plugins里面搜索butterknife插件,然后进行下载,下载完成之后,我们的idea工具中就有了这个插件了,然后就是我们进行构建以及app的gradle以及project中的gradle进行配置,主要介绍gradle中的配置。下载完插件之后显示的是上面的图片示意。然后就是我们的配置,首先在我们的app中的gradle中:在我们的app.gradl...

2019-09-10 16:16:51 485

原创 极简易懂得mvp架构模式。

刚开始对mvp的架构模式很模糊,而且也有很多文章对mvp模式的介绍,说实话,看了那么多知道的都是一些文字上的东西。真的需要手动实际去操作,才能真正领悟mvp的极度舒适的感觉。话不多说,首先我们做一个登录的简单例子。首先是布局:布局文件:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:and...

2019-09-09 11:39:23 151

原创 处理Edittext限制字数提示,以及回车换行功能。

首先是edittext布局文件 <EditText android:inputType="text" android:imeOptions="actionDone" android:id="@+id/ets" android:layout_width="match_parent" android:la...

2019-09-06 13:23:35 409

原创 简单的substring用法。

非常简单,其实秉承着一句话,顾头不顾尾就ok了。所以如果我们想得到最后一个字符可以这样做。String urls = "http://120.20.3:8080/one/a/ht/v1/1/0";String substring = urls.substring(urls.lastIndexOf("/")+1, urls.length());然后得到的substring为“0”;...

2019-09-05 13:52:09 154

原创 android.view.WindowManager$BadTokenException: Unable to add window

遇到这种问题不用慌张,直接排查看是否是dialog或者popwindow中使用的上下文是 application么?如果是的话,那恭喜你中奖了,需要你使用宿主的activity的上下文才ok。...

2019-09-04 16:46:23 282

原创 学习git和下载git得网址。

https://www.liaoxuefeng.com/wiki/896043488029600/896827951938304

2019-08-30 16:44:42 133

原创 java生成随机数

随机数,在我们实际开发中非常可见,用法也非常简单。例如:取从a到b的随机数就是(int)((b-a)*Math.random()+a);

2019-08-29 13:31:58 106 1

原创 java处理html特殊字符转义,以及去掉空格,下划线,换行等操作。

直接上代码: /** * 处理特殊字符串 * * @param s * @return */ public String string2Json(String s) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < s.l...

2019-08-28 09:12:18 1879

原创 防止字符串传递过程中串码以及特殊字符转义。。。

推荐一个特别好用的方法,非常简单就是我们需要对传递的string对象进行encoder操作,然后后台或者h5拿到encode之后进行decode操作,得到未被转义的string了。传递方:String encode = URLEncoder.encode(url, "UTF-8");接收方:String decode = URLDecoder.decode(encode, "U...

2019-08-28 09:08:31 1064

原创 RSA前后台公钥私钥加密解密以及公钥私钥存储

不多说了,直接看代码吧首先需要俩个工具类package com.example.aasd;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.OutputStream;/** * Created by pw on 2019/8/14 11:04 * E-Mail Add...

2019-08-14 14:56:01 2860

原创 自定义的广播接收者,用来处理不同界面中的数据的交互。

Aactivity想要得到Bactivity回调中的数据。Aactivity:首先在onCreate中进行动态注册。 recevier = new Myreceiver(); intentFilter = new IntentFilter(); intentFilter.addAction("pw.163.com"); r...

2019-07-30 11:37:44 203 2

原创 自定义view实现手动签名

直接看代码就行了。自定义得viewpublic class CustomView extends View { private Path path = new Path(); private float prex; private float prey; public CustomView(Context context) { super...

2019-07-25 17:39:31 154 2

原创 butterknife最新版本地址

https://github.com/JakeWharton/butterknife

2019-07-25 16:35:00 865

原创 简单的自定义view

最近看到一个关于自定义view方面的介绍,觉得非常清楚明了,对最基本的理解是很easy的。然后获取view自身的宽高,根据图片得知width = getRight() - getLeft();height = getBottom() - getTop();View的源码当中提供了getWidth()和getHeight()方法用来获取View的宽度和高度,其内部方法和上文所示...

2019-07-25 13:11:38 161

转载 堆、栈、方法区。。。

JAVA的JVM的内存可分为3个区:堆(heap)、堆栈(stack)和方法区(method)堆区:(只存放类对象,线程共享)提供所有类实例和数组对象存储区域jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身栈区:(存放方法局部变量,基本类型变量,执行环境上下文,操作指令,线程不共享)每个线程包含一个栈区,栈中只保存基础数据类型的对象和自...

2019-07-24 13:55:00 107

原创 华为,小米,oppo,vivo,魅族,信鸽推送封装整合。

推送集成方案1.介绍:首先我们得aar包分为debug包,以及release包,其中release包做了混淆,开发者使用时候需要去混淆配置文件进行单独类配置,以防无法访问相应得类名。我们得aar包支持的推送分为(小米推送,华为推送,魅族推送,vivo推送,oppo推送,以及三方信鸽推送)。2.使用:1)将aar包拷贝到我们的项目的lib文件中,然后在我们的app build.gradle文...

2019-07-24 10:10:39 2823 1

原创 依赖aar包出现问题,提示Manifest merger failed with multiple errors。

首先,报错没有给相应的提示信息,所以我们需要得到报错的提示信息,这里需要自己在命令行获取日志信息。进入命令行,然后输入gradlew processDebugManifest --stacktrace然后我们等待日志出现,然后查看日志信息,很明显,我得日志信息显示minSdkVerson 14 can not be smaller sdk15 than the moudlelibr...

2019-07-23 18:30:42 778

原创 将gson窜转换成JsonObject然后直接获取里面的键值对。

JsonObject returnData = new JsonParser().parse(json).getAsJsonObject(); String key11 = returnData.get("key1").getAsString(); String key12 = returnData.get("key2").getAsString(...

2019-07-12 13:43:33 2424 2

原创 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.widget.Edit

这个是TextView点击跳转到长链接引起得bug,原因是调用了此方法。textView.setMovementMethod(LinkMovementMethod.getInstance());可以点进去看一下源码 public final void setMovementMethod(MovementMethod movement) { if (mMovem...

2019-07-09 11:30:02 4997 3

原创 TextView添加富文本图片的操作SpannableString的简单使用

直接看代码就okSpannableString spannableString = new SpannableString("图"+"青青子衿、悠悠我心");ImageSpan imageSpan = new ImageSpan(this, R.drawable.ic_lanuch);spannableString.setSpan(imageSpan, 0, 1, Spanned.SPA...

2019-06-18 15:36:03 707 1

原创 retrofit+rxjava的基本用法

首先添加依赖 //only Retrofit(只用Retrofit联网) api 'com.squareup.retrofit2:retrofit:2.1.0' api 'com.squareup.retrofit2:converter-gson:2.1.0' //Rxjava and Retrofit(Retrofit+Rx需要添加的依赖) api '...

2019-06-11 15:57:20 243

原创 RxJava介绍

不废话,直接集成 api 'io.reactivex.rxjava2:rxjava:2.0.1' api 'io.reactivex.rxjava2:rxandroid:2.0.1'然后就是主要的代码逻辑/** * Created by pw on 2019/6/3 09:57 * E-Mail Address: pw163.com */public clas...

2019-06-03 11:27:05 109

原创 TextView设置复制粘贴功能

非常简单设置属性就oktextIsSelectable = true 就可以了。<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TD201612120166" android:textIsSelectabl...

2019-05-29 17:01:34 1137

原创 魅族推送集成

首先在project下得build.gradle文件中添加魅族依赖仓库maven {url 'https://oss.jfrog.org/artifactory/oss-snapshot-local'}//魅族maven仓路径然后在app下得build.gradle下添加dependencies { api 'com.meizu.flyme.internet:push-i...

2019-05-28 17:12:20 2080

转载 Android软键盘的打开和关闭的监听

布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:to...

2019-05-17 16:01:32 2568

原创 textView动态设置颜色

textView.setTextColor(Color.parseColor("#FFFFFF"));

2019-05-10 16:26:07 1145

原创 rxjava+retrofit+okhttp+greendao加入混淆之后的配置。

上线的项目为了防止代码被反编译我们都会进行配置混淆。但是我们的三方sdk是不能进行混淆的,否则就会出现问题。这里说一下我项目中用到的三方典型,配置混淆问题。个别不能混淆的类或者方法,或三方库需要在我们的proguard文件里进行配置。首先所有的javabean不能混淆,需要在proguard中添加:(其中com.model是我们存放bean类的根目录)#保持某个类不被混淆如下 :-...

2019-05-09 10:35:58 941

原创 判断当前的机型(华为,小米,vivo,oppo,魅族等)

全部转换为小写,因为有的机型显示的大小写不规定 String manufacturer = Build.MANUFACTURER; if (manufacturer != null && manufacturer.length()>0){ String phone_type = manufacturer.toLowe...

2019-04-19 15:38:49 8373

原创 Android集成华为推送 错误码总是6003

可能是我们生成得签名文件与平台注册得签名文件不一致造成的。1.查看应用的sha256文件是否与平台的一致。(上篇文章有介绍,怎么查看应用的sha256)2.为了我们不用每次打包后安装所以做一下配置File -> project Structure -> app -> Signing 添加我们创建的jks然后-> Build Types -> debug -&...

2019-04-18 18:55:12 5173

转载 获取SHA1及“密钥库文件存在, 但为空”错误

获取SHA1打开cmd,输入命令keytool -v -list -keystore keystore文件路径及文件名1 错误1.1 错误:keytool -v -list -keystore {keystore的文件路径(没有文件名)}错误提示:密钥库文件存在, 但为空1.2 错误:不是因为执行命令时所在的目录导致“密钥库文件存在, 但为空”错误提示:密钥库文件存在, 但为空...

2019-04-18 14:41:05 2234

原创 解决fragment布局重叠的问题。

一般造成布局重叠的原因大多数的情况是,相同的fragment加载了多次造成的。最常见的就是使用了add和show方法。说一下解决方法,非常简单,直接在宿主的activity中重写方法【在此方法中将内存中缓存的fragment直接取出来附上】 @Override public void onAttachFragment(Fragment fragment) { ...

2019-04-11 16:17:27 587

原创 实现简单的跑马灯效果,前提是文字长度必须大于一行。

俩种方法都ok1.在textView的xml布局属性中 android:ellipsize="marquee" android:singleLine="true" android:marqueeRepeatLimit="marquee_forever"但是代码中必须要加上 textView.setSelected(true);2.直接只在textView的xnl的布局属性中...

2019-04-02 16:17:36 676

原创 实现一个广告栏(上下滚动的textView)

主要用的是android自带的TextSwitcher,很好用,结合着动画效果。首先是布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="...

2019-04-02 14:45:33 388

原创 Android(自定义图标)可拖动并带有吸附边缘效果

很简单,只需要自定义一个View就可以。布局:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" androi...

2019-03-29 20:46:12 2038

原创 来个activity之间传递集合数据(javabean)类型需要注意

首先javabean 必须 实现 serializable 接口package com.person.model;import java.io.Serializable;public class AddressModel implements Serializable { private String code; private String name; public Str...

2019-03-28 17:18:47 262

原创 非常简单的手势拖动得自定义View

package com.example.myapplication.initview;import android.annotation.SuppressLint;import android.content.Context;import android.util.AttributeSet;import android.view.MotionEvent;import android....

2019-03-28 13:31:15 134

原创 获取屏幕最大宽度,屏幕最大高度,以及沉浸式状态栏高度。

package com.example.myapplication.initview;import android.content.Context;import android.util.DisplayMetrics;import android.view.WindowManager;/** * Created by pw on 2019/3/27 13:57 * E-Mail ...

2019-03-27 16:53:59 591

push整合.zip

小米,华为,oppo,vivo,魅族,信鸽推送封装详细文档,以及资源的aar包。

2019-07-24

apach-2.2.15-win32-x86-no_ssl.zip

apach2.2.15,这个版本的apach也是非常的难找,在apach官网上也是找了很久没找到,很好用。

2019-06-11

php5.3.3-Win32-VC9-x86.rar

php5.3.3win32位的安装包,可以直接解压,然后解压完了之后,直接使用安装就ok。

2019-06-11

junit4.12.jar

junit4.12 jar包的下载。只要是android studio 升级到3.0之后的(我的是3.2)就会出现很多错误,然而替换junit.jar 包会解决很多问题。

2018-11-29

go输入法的apk

是一个非常好用的输入法apk直接安装在安卓手机或pad中就可以直接用,里面可以选择各国的离线语言用于我们内容中跨域语言的查询功能,很好用。

2018-10-18

空空如也

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

TA关注的人

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