- 博客(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 1108
原创 查看adb调试端口号是否被占用,导致adb调试不显示机型
首先进入cmd 输入adb devices 是否安装了adb,是否配置了adb 环境。如果已经安装了,那可以通过输入netstat -aon|findstr "5037" 然后查看是否有进程占用了, 然后将占用的进程杀掉,就可以了。这个只是简便的方式,但是为了避免5037总被占用,我们可以自己自定义adb端口。...
2019-10-08 10:59:47 1004 4
原创 butterknife的使用,以及点击右键没有提示。
首先我们在setting中的plugins里面搜索butterknife插件,然后进行下载,下载完成之后,我们的idea工具中就有了这个插件了,然后就是我们进行构建以及app的gradle以及project中的gradle进行配置,主要介绍gradle中的配置。下载完插件之后显示的是上面的图片示意。然后就是我们的配置,首先在我们的app中的gradle中:在我们的app.gradl...
2019-09-10 16:16:51 515
原创 极简易懂得mvp架构模式。
刚开始对mvp的架构模式很模糊,而且也有很多文章对mvp模式的介绍,说实话,看了那么多知道的都是一些文字上的东西。真的需要手动实际去操作,才能真正领悟mvp的极度舒适的感觉。话不多说,首先我们做一个登录的简单例子。首先是布局:布局文件:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:and...
2019-09-09 11:39:23 179
原创 处理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 445
原创 简单的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 179
原创 android.view.WindowManager$BadTokenException: Unable to add window
遇到这种问题不用慌张,直接排查看是否是dialog或者popwindow中使用的上下文是 application么?如果是的话,那恭喜你中奖了,需要你使用宿主的activity的上下文才ok。...
2019-09-04 16:46:23 308
原创 学习git和下载git得网址。
https://www.liaoxuefeng.com/wiki/896043488029600/896827951938304
2019-08-30 16:44:42 153
原创 java生成随机数
随机数,在我们实际开发中非常可见,用法也非常简单。例如:取从a到b的随机数就是(int)((b-a)*Math.random()+a);
2019-08-29 13:31:58 129 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 1916
原创 防止字符串传递过程中串码以及特殊字符转义。。。
推荐一个特别好用的方法,非常简单就是我们需要对传递的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 1129
原创 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 2944
原创 自定义的广播接收者,用来处理不同界面中的数据的交互。
Aactivity想要得到Bactivity回调中的数据。Aactivity:首先在onCreate中进行动态注册。 recevier = new Myreceiver(); intentFilter = new IntentFilter(); intentFilter.addAction("pw.163.com"); r...
2019-07-30 11:37:44 229 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 175 2
原创 简单的自定义view
最近看到一个关于自定义view方面的介绍,觉得非常清楚明了,对最基本的理解是很easy的。然后获取view自身的宽高,根据图片得知width = getRight() - getLeft();height = getBottom() - getTop();View的源码当中提供了getWidth()和getHeight()方法用来获取View的宽度和高度,其内部方法和上文所示...
2019-07-25 13:11:38 187
转载 堆、栈、方法区。。。
JAVA的JVM的内存可分为3个区:堆(heap)、堆栈(stack)和方法区(method)堆区:(只存放类对象,线程共享)提供所有类实例和数组对象存储区域jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身栈区:(存放方法局部变量,基本类型变量,执行环境上下文,操作指令,线程不共享)每个线程包含一个栈区,栈中只保存基础数据类型的对象和自...
2019-07-24 13:55:00 134
原创 华为,小米,oppo,vivo,魅族,信鸽推送封装整合。
推送集成方案1.介绍:首先我们得aar包分为debug包,以及release包,其中release包做了混淆,开发者使用时候需要去混淆配置文件进行单独类配置,以防无法访问相应得类名。我们得aar包支持的推送分为(小米推送,华为推送,魅族推送,vivo推送,oppo推送,以及三方信鸽推送)。2.使用:1)将aar包拷贝到我们的项目的lib文件中,然后在我们的app build.gradle文...
2019-07-24 10:10:39 2893 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 814
原创 将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 2468 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 5074 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 764 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 270
原创 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 134
原创 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 1166
原创 魅族推送集成
首先在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 2169
转载 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 2625
原创 rxjava+retrofit+okhttp+greendao加入混淆之后的配置。
上线的项目为了防止代码被反编译我们都会进行配置混淆。但是我们的三方sdk是不能进行混淆的,否则就会出现问题。这里说一下我项目中用到的三方典型,配置混淆问题。个别不能混淆的类或者方法,或三方库需要在我们的proguard文件里进行配置。首先所有的javabean不能混淆,需要在proguard中添加:(其中com.model是我们存放bean类的根目录)#保持某个类不被混淆如下 :-...
2019-05-09 10:35:58 987
原创 判断当前的机型(华为,小米,vivo,oppo,魅族等)
全部转换为小写,因为有的机型显示的大小写不规定 String manufacturer = Build.MANUFACTURER; if (manufacturer != null && manufacturer.length()>0){ String phone_type = manufacturer.toLowe...
2019-04-19 15:38:49 8548
原创 Android集成华为推送 错误码总是6003
可能是我们生成得签名文件与平台注册得签名文件不一致造成的。1.查看应用的sha256文件是否与平台的一致。(上篇文章有介绍,怎么查看应用的sha256)2.为了我们不用每次打包后安装所以做一下配置File -> project Structure -> app -> Signing 添加我们创建的jks然后-> Build Types -> debug -&...
2019-04-18 18:55:12 5248
转载 获取SHA1及“密钥库文件存在, 但为空”错误
获取SHA1打开cmd,输入命令keytool -v -list -keystore keystore文件路径及文件名1 错误1.1 错误:keytool -v -list -keystore {keystore的文件路径(没有文件名)}错误提示:密钥库文件存在, 但为空1.2 错误:不是因为执行命令时所在的目录导致“密钥库文件存在, 但为空”错误提示:密钥库文件存在, 但为空...
2019-04-18 14:41:05 2358
原创 解决fragment布局重叠的问题。
一般造成布局重叠的原因大多数的情况是,相同的fragment加载了多次造成的。最常见的就是使用了add和show方法。说一下解决方法,非常简单,直接在宿主的activity中重写方法【在此方法中将内存中缓存的fragment直接取出来附上】 @Override public void onAttachFragment(Fragment fragment) { ...
2019-04-11 16:17:27 614
原创 实现简单的跑马灯效果,前提是文字长度必须大于一行。
俩种方法都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 701
原创 实现一个广告栏(上下滚动的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 410
原创 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 2237
原创 来个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 292
原创 非常简单的手势拖动得自定义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 169
原创 获取屏幕最大宽度,屏幕最大高度,以及沉浸式状态栏高度。
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 628
junit4.12.jar
2018-11-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人