- 博客(48)
- 资源 (2)
- 收藏
- 关注
原创 Android子线程更新UI
Android子线程更新UIView.post()方法Handler类runOnUiThread()方法 new Thread(new Runnable() { @Override public void run() { textView.post(new Runnable() { @Override public void run() { } });
2021-08-23 11:34:52
179
原创 解决Android Studio 在app主module,依赖module中的依赖库找不见类的原因
implementation声明的依赖包只限于模块内部使用,不允许其他模块使用。 api声明的依赖包时, 模块依赖于此模块,此模块使用api声明的依赖包是可以被其他模块使用在app 的build.gradle 中把依赖替换,替换如下: compile 要用 implementation 或 api 替换 testCompile...
2019-07-01 14:32:08
4625
原创 Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientatio
这个问题是Android 版本的适配问题;android 8.0 (API=26) 适配遇到的两个问题解决方法:有两种,根据需求选择其一,或者两个一起用也行(横屏方向问题)(1)去掉android:screenOrientation;(主题 样式)(2)android:windowIsTranslucent 改为false; 如果需要透明的设置加上android:window...
2019-06-21 15:40:24
3123
原创 EventBus 传值问题
EventBus3.0,Fragment 跳转到外部activity后,从外部activity传值到fragment,无法接收的问题首先分析一下问题的所在;解决这个问题的办法 有两个首先分析一下问题的所在; 通过debug fragment生命周期,我们发现如果我们把 EventBus的注册和注销写在onResume 和onPause中时,那么从外部activity传值过来时,就不会执行Eve...
2019-04-17 13:33:41
658
原创 软件测试之App测试-接口测试
接口测试服务端一般会提供JSON格式的数据给客户端,所以我们在服务端需要进行接口测试,确保服务端提供的接口并转换的JSON内容正确,对分支、异常流有相应的返回值。此块测试可以采用itest框架进行测试。最方便的是采用httpclient进行接口测试。进行服务端测试时,需要开发提供一份接口文档。常用的接口测试工具有charles,postman,jmeter等等客户端数据库测试...
2018-03-08 12:01:38
1431
原创 Fragment 嵌套 Tablayout+ViewPager+fragment 遇到的问题
Fragment各种空白的问题,这个让我头疼了两天得问题终于找到了解决得办法,主要就是处理ViewPager的Adapter; 1.如果是少量的固定的Tab和Fragment,那么正常处理就行; Adapter代码如下: public class Find_tab_Adapter extends FragmentPagerAdapter { private L
2017-11-04 01:08:26
3117
原创 Android 加载需要携带cookie的图片请求
工具类:package com.project.jiashihu.network;import android.content.Context;import android.view.View;import android.widget.ImageView;import com.bumptech.glide.Glide;import com.bumptech.glide.load.model.
2017-10-27 11:00:55
2149
原创 关于You must not call setTag() on a view Glide is targeting错误处理
该错误的产生原因: 是View使用setTag后导致Glide之前请求的标记被清除,强制转换过程中不能将你给定的类型判断为Request类型所致。if (tag instanceof Request) { request = (Request) tag; } else { throw new IllegalArgume
2017-10-27 10:53:59
504
转载 Android studio 多版本apk 打包
只需要在build.gradle中的 android{…….}中配置几行代码即可: //配置多版本的apk productFlavors{ Beta{ applicationId "com.stfalcon.mvphelpersample.beta" manifestPlaceholders = [app_name:"
2017-09-12 10:17:34
448
原创 关于kotlin插件 MVP Generator的使用方式
无意间在android studio中看到了 MVP Generator 插件,插件的github地址为:https://github.com/stfalcon-studio/MVPHelper;插件的作者没有说明这个插件的具体使用方式,导致做为新手折腾了好一段时间啊,现在记录一下这个插件的使用方式,该插件主要是快速创建mvp框架,其中使用了MVP + Dagger + Rx , 是编写Kotlin
2017-08-31 19:22:35
2744
原创 软件测试之App测试-硬件环境测试
手势操作测试1)手机开锁屏对运行中的App的影响2)切换网络对运行中的App的影响3)运行中的App前后台切换的影响4)多个运行中的App的切换5)App运行时关机6)App运行时重启系统7)App运行时充电8)App运行时kill掉进程再打开网络环境手机的网络目前主要分为2G、3G、wifi。目前2G的网络相对于比较慢,测试时尤其要注意此块的测试。1) 无网络时,执行需要网络的操作,给予友好提示
2017-07-11 11:21:29
4981
原创 软件测试之App测试-用户体验测试
用户体验测试以主观的普通消费者的角度去感知产品或服务的舒适、有用、易用、友好亲切程度。通过不同个体、独立空间和非经验的统计复用方式去有效评价产品的体验特性提出修改意见提升产品的潜在客户满意度。1)是否有空数据界面设计,引导用户去执行操作。2)是否滥用用户引导。3)是否有不可点击的效果,如:你的按钮此时处于不可用状态,那么一定要灰掉,或者拿掉按钮,否则会给用户误导4)菜单层次是否太深5)交互流程分支是
2017-07-11 11:18:27
4373
原创 软件测试之App测试-升级,更新测试
升级、更新测试新版版发布后,配合不同网络环境的自劢更新提示及下载、安装、更新、启劢、运行的验证测试。1)测试升级后的功能是否与需求说明一样2)测试与升级模块相关的模块的功能是否与需求一致3)升级安装意外情况的测试(如死机、断电、重启)4)升级界面的UI测试5)不同操作系统间的升级测试
2017-07-11 11:15:21
2203
原创 软件测试之App测试-回归测试
回归测试1)Bug修复后且在新版本发布后需要进行回归测试。2)Bug修复后的回归测试在交付前、要进行全量用例的回归测试。
2017-07-11 11:14:08
2367
原创 软件测试之App测试-兼容
针对智能终端应用的服务等级划分方式及实时特性所提出的测试方法。 交叉测试又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。如;App在前/后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。交叉事件测试非常重要,能发现很多应用中潜在的性能问题。1) 多个App同时运行是否影响正常功能2)App运行时前/后台切换是否影响正常功能3)App运
2017-07-11 11:12:25
545
原创 软件测试之App测试-性能测试
评估App的时间和空间特性 :1)极限测试:在各种边界压力情况下,如电池、存储、网速等,验证App是否能正确响应。--内存满时安装App--运行App时手机断电--运行App时断掉网络2)响应能力测试:测试App中的各类操作是否满足用户响应时间要求 。--App安装、卸载的响应时间--App各类功能性操作的影响时间3)压力测试:反复/长期操作下、系统资源是否占用异常。--App反复进行安装卸载,
2017-07-09 23:06:28
1165
原创 软件测试之App测试-功能测试
根据软件说明或用户需求验证App的各个功能实现,采用如下方法实现并评估功能测试过程:1)采用时间、地点、对象、行为和背景五元素或业务分析等方法分析、提炼App的用户使用场景,对比说明或需求,整理出内在、外在及非功能直接相关的需求,构建测试点,并明确测试标准,若用户需求中无明确标准遵循,则需要参考行业或相关国际标准或准则。2)根据被测功能点的特性列丼出相应类型的测试用例对其进行覆盖,如;涉及输入的地方
2017-07-09 23:02:25
1429
原创 软件测试之App测试-UI测试
测试依照标准—UI设计,原型,需求文档测试要点:测试用户界面(如菜单、对话框、窗口和其它可规控件)布局、风格是否满足客户要求、文字是否正确、页面是否美观、文字、图片组合是否完美、操作是否友好等。UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏觅功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。
2017-07-09 22:34:46
1648
原创 软件测试之App测试点-基础安全测试
1.软件权限1)扣费风险:包括发送短信、拨打电话、连接网络等2)隐私泄露风险:包括访问手机信息、访问联系人信息等3)对App的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测4)限制/允许使用手机功能接入互联网5)限制/允许使用手机发送接受信息功能6)限制/允许应用程序来注册自动启动应用程序7)限制或使用本地连接8)限制/允许使用手机拍照或录音9)限制/允许使用手机读取用户数据10)
2017-07-09 22:23:13
576
原创 app基本测试流程
1.测试的基本流程 1. 接收测试版本。 2.根据公司的流程,进行接收app测试,这里指的是送测流程,不同的公司,送测流程也有所不同。 3.符合公司的送测流程后,进行Ui走查测试,这就是基本界面测试工作。 4.符合基本的界面测试后,根据产品的需求文档,进行功能测试,如果公司的版本迭代很快,敏捷率很高,那么编写测试用例,基本不可能,只有进行基本的测试点划分。然后进行敏捷测
2017-07-07 18:14:34
929
转载 身份证号码验证的工具类,学习备用
import java.text.SimpleDateFormat;import java.util.Date;import java.util.Hashtable;public class IDCardValidate { public static final String[] ValCodeArr = { "1", "0", "x", "9", "8", "7", "6", "5", "
2017-06-01 11:34:00
943
原创 关于ButterKnife 8.4.0以后版本报空指针的使用注意事项:
关于ButterKnife 8.4.0以后版本报空指针的解决办法: 1. 新版的ButterKnife在使用是需要在app的build.gradle中1.dependencies{...}添加```compile 'com.jakewharton:butterknife:8.4.0'apt 'com.jakewharton:butterknife-compiler:8.4.0'```2.在
2017-04-11 17:27:07
382
原创 Android注解学习之事件注解
1.首先看下我们需要的效果: @OnclickInject(R.id.button) public void clickButton(View view) { switch (view.getId()) { case R.id.button: Toast.makeText(this, "点击了", Toast.LENGT
2017-03-31 12:22:03
832
原创 Android注解学习之了解Java动态代理Proxy
直接来看代码: 首先了解一下动态代理的关键词:InvocationHandler: 1.java.lang.reflect.InvocationHandler:这是调用处理器接口,它自定义了一个 invoke 方法,用于集中处理在动态代理类对象上的方法调用,通常在该方法中实现对委托类的代理访问。2. InvocationHandler 的核心方法第一个参数既是代理类实例,第二个
2017-03-31 11:46:17
376
原创 Android注解学习第二步,初探注解,注解view
我们要到的效果如下代码: /** * 使用的Xutils框架进行的注解使用 */@ContentView(R.layout.activity_main)public class MainActivity extends AppCompatActivity { @ViewInject(R.id.button) Button button; @Override
2017-03-29 16:22:59
221
原创 Android 注解学习第一步,了解注解
注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据),常见的作用有以下几种: 生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等 跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring 2.5 开始的基于注解配置。作用就是减少配置。现在
2017-03-27 17:01:55
261
原创 ScrollView中EditText报java.lang.IllegalArgumentException: parameter must be a descendant of this view
在ScrollView中嵌套RecyclerView,其中RecyclerView的item条目中如果有EditText,在输入文字后,出现界面退出,并报如下类似错误: Process: com.yuguo.thecarpenter.thecarpenterrepair, PID: 22957
2017-03-07 17:18:58
2628
原创 Android 报错android.view.WindowLeaked.....has leaked window com.android.internal.policy.
1. 在Android 开发中出现错误提示:/WindowManager: android.view.WindowLeaked: Activity 。。。。。。。 has leaked window com.android.internal.policy.PhoneWindow$DecorView{8363815 V.E...... R......D 0,0-960,1096} that wa
2017-03-03 10:56:01
930
原创 导入lib库时发生的错误:Manifest merger failed with multiple errors, see logs
原因:As的Gradle插件默认会启用Manifest Merger Tool,若Library项目中也定义了与主项目相同的属性(例如默认生成的android:icon和android:theme,android:label),则此时会合并失败,并报上面的错误。方法:在Manifest.xml的application标签下添加tools:replace="android
2017-02-22 17:02:58
764
原创 WebView加载H5页面及自动播放网页内置的音乐的方法
1.添加权限<uses-permission android:name="android.permission.INTERNET" /> 2.布局文件<WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" />3.简单的加载
2017-02-13 12:20:01
10539
原创 Android 图片压缩和缓存工具类
package com.example.xuzuowei.myapplication;import android.content.res.Resources;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.AsyncTask;import android.ut
2017-01-09 19:06:58
301
原创 合理的关闭所有Activity
为什么要合理的的管理Activity呢?相比不用多说了吧!我们在代码中经常写各种activity,对用Activity的管理经常凌乱,经常忘记释放资源,或者对多个activity要一次关闭,那么在每一个activity中写finsh(),或者递归关闭,相对都比较烦,既然非得这个干,那么干嘛不知道偷个懒,写个管理类,直接管理,多方便,看代码! 创建一个Activity的管理类:
2016-12-13 13:42:26
275
原创 优雅的开始Activity
为什么要优雅的startActivity()呢??在我们实际的开发项目中,和同事之间经常要进行代码的合并衔接,那么对于一个我们自己写的活动界面,我们知道需要什么参数,但是作为同事,他可能就不知道了,而是要重新看你的代码逻辑,看需要传递什么参数过来,无疑会浪费时间,而且看不全面,出现传递参数不对的问题,那么就需要优雅的开启Activity了,这里我借鉴郭霖书里面的写法在每一个要Activity的代码
2016-12-13 12:57:41
397
转载 Activity之AppCompatActivity与toolbar的结合
对于技术类的博客,我们永远追寻最新API脚步,在API22之前我们使用标题栏基本都是在ActionBarActivity的Activity中处理的,而API22之后,谷歌遗弃了ActionBarActivity,推荐我们也可以说是强制我们使用AppCompatActivity。然而ActionBarActivity与AppCompatActivity的使用大同小异,下面我们将介
2016-11-16 18:14:18
317
转载 Android studio无法关联源码的解决方案
android studio无法关联源码1,找到jdk.table.xml的路径:在C盘:\userName\.AndroidStudio2.0\config\options\jdk.table.xml2,用编辑器打开jdk.table.xml文件,如下图: 上面图所展示是是其中一个平台的结构, 在这个xml中,包含了所有配置好的源码文件。 而每一个
2016-11-09 10:03:41
465
原创 ListView的Item显示动画的简单实现
1.设置好ListView的Adapter后; 2.执行如下方法: private void startLayoutAnim() { //通过加载XML动画设置文件来创建一个Animation对象; Animation animation = AnimationUtils.loadAnimation(this, R.anim.slide
2016-08-09 15:39:41
1772
原创 android系统时间循环更新
package com.example.date;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;
2016-07-20 13:22:39
587
转载 Android-transulcent-status-bar
Android-transulcent-status-bar总结最近业务上看到一个设计图挺好看,所以研究了一下透明状态栏,注意不是沉浸式状态栏,在参考了网上的一些资料后,整理出了这篇博客.Github Demo 链接: StatusBarCompat参考文章:由沉浸式状态栏引发的血案Translucen
2016-07-20 10:58:51
310
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人