Android开发
Dota_wy
Team is power,Dream is favor!
展开
-
AndroidStudio测试用例合集(一)
android单元测试UT用例原创 2022-04-10 16:47:24 · 5223 阅读 · 1 评论 -
超简单的扫描二维码功能
华为的一键集成扫描二维码功能参考地址:https://blog.csdn.net/winisit86/article/details/104807678原创 2021-03-10 18:16:18 · 406 阅读 · 0 评论 -
android仿知乎头条的截屏分享
仿知乎头条的截屏分享功能截屏首先无固定页面,那么直接写入BaseActivity中最稳妥步骤如下:1、在BaseActivity中private ScreenShotListenManager screenShotListenManager;private Context mContext; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { screenShotListenManage原创 2021-03-09 16:38:03 · 387 阅读 · 0 评论 -
android推送设置功能
推送推送分很多种,手机的厂商推送,手机系统自带的开关推送,这里我们说的是后者,如何打开和关闭手机系统后台推送设置代码如下:使用方式:直接调用下面这个方法,即可跳转进入android手机系统自带的设置中去开启或者关闭(注:isOpened为默认开启状态下不让跳转执行关闭操作,可根据需要做出调整) private void initSystemSetting() { NotificationManagerCompat manager = NotificationManagerCompat原创 2021-03-09 15:50:05 · 1296 阅读 · 1 评论 -
Html中加入文字和图片
TextView控件中的html语句中添加文字和图片1、创建添加png/jpg必要的类 public class ImageGetterUtils { public static MyImageGetter getImageGetter(Context context, TextView textView) { MyImageGetter myImageGetter = new MyImageGetter(context, textView); return m原创 2020-06-16 20:04:50 · 3932 阅读 · 0 评论 -
android扫码功能集成
android集成扫码功能1、zxing扫码集成2、zbar扫码集成3、华为官方提供的扫码集成(推荐使用)上面的三种集成中,相信集成过的都知道第一种zxing扫码集成,遇到多种机型和扫码识别成功率都有很多缺陷;第二种扫码可以,但是相册扫码功能有待挖掘,不支持业务需要,但是相比较于第一种来说,识别的成功率要高出很多而这里,我们在踩过上面的坑后,都要果断的抛弃他们,因为有更牛逼的更简单的操作集成来了,这里我们只介绍第三种,前二种大家可以百度看看华为扫码功能集成介绍整个项目的build.gra原创 2020-06-15 17:00:50 · 670 阅读 · 1 评论 -
Json格式转换
Json格式转换由于本人经常复制粘贴导致很多基本的工具的使用都不怎么记得住,现在特用csdn来帮助我恢复记忆!1、格式转换bean --> json --> JSONObject Gson gson = new Gson(); String jsonStr = gson.toJson(data); JSONObject datas = (JSONObject) JSONVal...原创 2020-01-20 17:58:25 · 875 阅读 · 0 评论 -
图片剪裁 --高清图压缩 -- Base64上传服务器
图片剪裁 --高清图压缩 – Base64上传服务器应用场景:1、webview界面与native的js交互中调用更改头像2、native的发布文章动态的添加多图此处我的应用场景主要为一场景,用于js交互使用,但是我调用native的剪裁功能后发现剪裁图片时如果取消,无法获取取消的回调操作,而且还存在很多机型的适配和系统剪裁的方形或者圆形的适配(比如:小米的data返回为null;华为手...原创 2020-01-17 16:14:00 · 370 阅读 · 0 评论 -
数据存储之GreenDao的使用
数据存储之GreenDao的使用1、Project的build.gradle中加入dependencies { classpath 'com.android.tools.build:gradle:3.2.1' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' clas...原创 2019-11-22 18:57:04 · 280 阅读 · 0 评论 -
RadioButton右上角带数量显示的电商框架必备
电商项目中必定会有购物车一栏,而购物车按钮的右上角又必定会有一个红色圆圈显示数量的小头标,如下图:面对这样的界面,我们有很多中选择来搭建框架,在这里我只说2种我觉得还可以的。第一:RadioButton+BadgeView配合显示1、底部按钮导航栏的布局:RelativeLayout xmlns:android="http://schemas.android.co原创 2018-01-27 14:41:17 · 1142 阅读 · 1 评论 -
自定义TextView实现内容自动调整字体大小
最近在调整一个自定义TextView实现文本内容自动调整字体大小以适应TextView的大小的需求,搜索了下发现还是下面这个封装的库好用,地址如下:参考Git库:https://github.com/GlenGithub/android-autofittextview...转载 2018-05-16 19:27:27 · 573 阅读 · 0 评论 -
Python学习篇章(一)
最近学习自动化测试工具Appium,在我完成环境配置后,又设计到了许多脚本的编写,这里,我首先使用的是python的最简单的脚本程序输出。1、首先你要知道python的不同版本之间会出现不同的情况,这里我下载的最新的python3,完成安装后按照配置java环境那样,去环境变量里面配置python的PATH路径,我的路径为:C:\Users\Dota.Wang\AppData\Local\...原创 2018-05-23 17:21:48 · 243 阅读 · 0 评论 -
JNI篇章一之实现原理
对于JNI技术 ,现在很多应用中也都有使用过,因为它可以兼容多种语言来实现,不同语言写出的功能会有不同的优势,所以JNI的应运而生也是毋庸置疑的,这里,我们使用C++的简单使用System的输出来实现JNI的功能使用。其实,说到底,跟封装成三方的sdk有着异曲同工之处,同样是将一个公用的功能封装起来,这样,每次只要调用该方法就能直接实现封装的内容并完成输出。下面这张是JNI的使用场景以...原创 2018-06-13 17:10:29 · 315 阅读 · 0 评论 -
JNI篇章二之功能实现
相信通过第一章节的图解,你应该有了一个大概的了解了吧,不了解也没关系,下面,我们将做的是JNI的一个简易demo。具体的操作步骤我参照一个老哥的帖子,然后照着后面写出来的完全没毛病,地址是:https://blog.csdn.net/ziyoutiankoong/article/details/79696279但是,我依然贴出自己的代码段,供自己记忆,也供你们参考。下面提供我的gi...原创 2018-06-13 17:37:10 · 229 阅读 · 0 评论 -
讯飞语音之语音转文字识别功能
应开发需求了解,项目中需要用到语音转换为文字的功能要求,所以调研了下讯飞和百度的语音功能,这里由于我是合肥人,所以我果断的用了讯飞的语音功能。下面,简单介绍下讯飞语音听写功能的强大和集成一、进入讯飞语音官网:http://www.xfyun.cn/?ch=bdtg然后完成注册登录步骤,在“产品服务”中有个“语音听写”功能,我们点击进入,往下面拉会有各个端的开发sdk集成文档,但这都...原创 2018-06-02 15:25:20 · 2494 阅读 · 0 评论 -
阿里热修复之Sophix——公有云发布版集成步骤
Sophix 公有云接入去年的时候写的一篇阿里云热修复的文章,那时它还是在公测阶段,一直没能投产,而今,公司项目需要集成已经投产的阿里Sophix功能,所以再次集成了一遍,记录下了步骤和遇到的一些问题。一、在app/build.gradle中添加依赖包dependencies { implementation 'com.aliyun.ams:alicloud-android...原创 2018-09-13 11:29:18 · 925 阅读 · 0 评论 -
阿里热修复之Sophix——专有云发布版集成步骤
阿里热修复之Sophix——专有云应公司业务需求,和阿里云的阿里热修复相关技术人员合作,整了波专有云的热修复集成Demo一、app/build.gradle下的代码注意:第二行的代码在集成中要开启的,这里注释掉是为让app可以本地run起来看到界面apply plugin: 'com.android.application'//调试无法安装时注释掉这行//apply plu...原创 2018-09-13 15:09:42 · 2071 阅读 · 0 评论 -
app调用手机其他应用打开文件
根据需求,app中展示的文件需要实现分享和用手机安装的相关软件打开查看,所以就用到了“其他应用打开文件”的功能,供用户不同途径的查阅。这里,我们直接上代码:Step1:首先是查看文件的格式,即type的判断import android.content.ActivityNotFoundException;import android.content.Context;import an...原创 2018-04-27 16:42:54 · 2274 阅读 · 0 评论 -
Android自定义View(广告栏上下滚动效果)
需求中涉及到的广告栏变化千变万化,这里,我们综合取材,有了下面的这篇文章。开始的时候,我们使用的是MarqueeView,继承的ViewFlipper,但是会有一些bug,比如刷新数据时的重叠阴影等等后来,考虑到后期的开发可能出现的修改,采用了自定义View继承LinearLayout来展示,代码实现如下:Step1:自定义LimitScrollerViewimport andro...原创 2018-04-20 15:04:44 · 742 阅读 · 0 评论 -
TabLayout的使用篇章一
TabLayout的使用一、tablayout的属性设置<android.support.design.widget.TabLayout android:id="@+id/tabLayout_issue" app:tabTextColor="@color/black" app:tabSelectedTextC...原创 2018-04-18 22:35:33 · 205 阅读 · 0 评论 -
android代码混淆的使用说明
为保护自身代码的安全性,混淆代码能有效防止被反编译,进而提高商业安全一般代码混淆我总结为以下几点:1、order指令区,即每次混淆时都必要导入的部分:-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontskipnonpubliclibraryclassme原创 2016-11-10 16:39:49 · 390 阅读 · 0 评论 -
Cookies中的User_Agent获取
User_Agent的获取方法1.网络请求令牌2.工具类实现Base64的加密解密一、网络请求令牌1、首先确定key(服务端返回)private final static String DES = "DES";private final static String key = "saas1.0_app*#!DesKey";(saas为项目名称,1.0为版本号)2、网络令牌的获取方式 pub原创 2017-05-16 19:53:49 · 636 阅读 · 0 评论 -
kotlin
kotlin学习:常量的定义 val2、变量的定义 var3、特殊符号的使用1)?的含义:在kotlin中单独使用?表示可为空特殊字符!!的含义,表示在kotlin中一定不能为空?:的含义,表示在kotlin中三元操作符原创 2017-07-25 10:56:39 · 8945 阅读 · 0 评论 -
RecyclerView使用案例二之初体验
RecyclerView使用布局中加入RecyclerView后,对应的程序中需要走三步:一、设置布局管理器三种布局管理器:线性布局LinearLayoutManager,网格布局GridLayoutManager,瀑布流布局StaggeredGridLayoutManagerLinearLayoutManager layout = new LinearLayoutManager(this, Li原创 2017-08-21 17:29:27 · 601 阅读 · 0 评论 -
阿里热修复之Sophix
阿里热修复之Sophix集成三步曲一、注册账号&创建热修复应用下面我们将创建热修复测试应用下面是我们创建的应用中的参数说明和使用二、代码集成1、首先就是在主module下的build.gradle下添加maven仓库地址:repositories { maven { url "http://maven.aliyun.com/nexus/content/reposi原创 2017-08-22 21:30:47 · 1572 阅读 · 1 评论 -
ExpandableListView的使用(一)
ExpandableListView的常用属性的使用(一)在使用过RecyclerView的朋友们再使用这个可能会发现,这TM怎么会这样,原因无外乎两点:1、 在从源头传递数据时RecyclerView是传递一个数据源过去,而ExpandListView是传递2个不同的数据源(前提是json数据不规范的情况下)2、 RecyclerView在它的adapter中可以实现多布局,但是一定要再套入Li原创 2017-09-04 21:01:53 · 461 阅读 · 0 评论 -
RecyclerView使用案例三之实例
RecyclerView使用相信看过RecyclerView使用案例二的都知道使用RecyclerView时必须先联动它的布局管理器,再使用adapter来绑定数据源。先上多布局的效果图:在MainActivity中://初始化数据源List<News> newses=new ArrayList<News>(); newses.add(new News(1,"qq"));原创 2017-08-28 11:05:44 · 587 阅读 · 0 评论 -
Studio改变背景色
Studio改变背景色使用了老久的没怎么研究这些鸡肋功能,一心扑在了代码上,相信看到这篇文章的你也是如此,下面我们去花几秒钟搞定下这些项目中的背景色的变换技巧。首先,Ctrl+Alt+S进入Settings的设置中,并找到Editor–>Colors&Fonts,到这里你会找到你需要调整的地方。下面,我们通过截图展示部分常用的颜色背景的变换特点:1、改变选中code的背景色2、自定义的Scheme格原创 2017-08-31 17:06:05 · 1082 阅读 · 0 评论 -
Android监听软键盘打开收起事件
一:了解软键盘上各类键名:电话键键名 描述 键值 KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYCODE_HOME 按键Home 3 KEYCODE_MENU 菜单键 82 KEYCODE_BACK 返回键 4 KEYCODE_SEARCH 搜索键 84 KEYCODE_CAMERA 拍照键 27 KEYCODE原创 2017-12-12 13:41:45 · 5488 阅读 · 1 评论 -
android上传多图片使用FileBody
在开发中曾经遇到一个问题,前端界面需要往后台CRM上传文字和图片,实现方法主要分三步:一:上传数据的接口参数当后台确定了上传时需要接收的参数后,你需要做的是用类似键值对的方式给它传递value值,如下:MultipartEntity entity = new MultipartEntity(); try { entity.addPart("source原创 2017-12-04 15:19:21 · 2011 阅读 · 0 评论 -
获取缓存大小和清除缓存功能
获取缓存大小和清除缓存功能一、功能开发需求中经常会有一个功能叫清除缓存,以前,项目周期紧张时就用了最牛掰的方法,Toast弹出“清除缓存成功”,功能神马的没见到,只有一个提示语。现在有空了给它填上功能,当然,后续还会有缓存机制的介绍。首先,我们了解下项目的功能需求界面:其次,我们了解下应用程序一般会产生以下几种类型的数据:file-普通的文件存储 database-数据库文件(.db文件) sh原创 2017-11-25 13:20:44 · 517 阅读 · 0 评论 -
三级缓存机制
本篇介绍Android中的三级缓存机制三级缓存指的是:内存缓存、本地缓存、网络缓存。其各自的特点是内存缓存速度快, 优先读取,本地缓存速度其次, 内存没有,读本地,网络缓存速度最慢, 本地也没有,才访问网络。对于网络缓存理解起来较为容易直接从网络中获取资源,本地缓存可以存在SD卡中,内存缓存一般存在数组或集合中。下面我们从三部分来透析缓存机制一、内存缓存内存中读数据需要用到最近最少引用的算法(lru原创 2017-11-25 18:21:23 · 1158 阅读 · 0 评论 -
Android下拉刷新框架大集合
本篇主要是记录了下网络上流行的下拉刷新的框架,主要介绍Android智能下拉刷新框架-SmartRefreshLayout。框架地址:https://github.com/scwang90/SmartRefreshLayout作者孜孜不倦的维护令我等后辈们躺着也能吃到鸡后续将继续整合各大潮流下拉刷新框架原创 2017-12-14 16:09:19 · 409 阅读 · 0 评论 -
Activity横竖屏切换和数据存储
一、Activity横竖屏切换对于横竖屏切换,我们一般是在AndroidManifest.xml中对Activity的属性进行配置。1)我们不希望屏幕旋转时重建,则需要对configChange属性做如下设置:android:configChanges="orientation"2)系统配置发生改变的时候Activity都会被重建,则需要对以下属性做如下设置: 用户插入...原创 2018-02-17 12:10:15 · 489 阅读 · 0 评论 -
Activity生命周期的剖析篇一
Android开发无可避免的要对生命周期有一个完整的掌握,以前没时间整理,正好趁这过年无聊之际,整理一篇Activity的完整生命周期。首先,先来了解一副图解Created with Raphaël 2.1.2Activity is launchedonCreate()onAttachFragment()onStart()onRestoreInstanceState()onPostCrea...原创 2018-02-18 13:54:17 · 241 阅读 · 0 评论 -
Fragment生命周期的剖析篇一
Fragment的生命周期无疑是代码经常出错的关键,所以,我们有必要弄懂Fragment的使用场景和对应的场景才会调用的方法。下面是Fragment的生命周期流程图:注:onAttach()在fragment第一次与Activity产生关联时调用,以后不再调用; 保存数据时依然和Activity一样,调用onSaveInstanceState()方法记录下需要传递和保存的数据,然...原创 2018-02-18 19:01:40 · 258 阅读 · 0 评论 -
描述Handler,Looper,MessageQueue,Message之间的关系
安卓开发中所需掌握的知识点之一,自行总结点原创 2016-06-21 08:56:46 · 1227 阅读 · 1 评论