
Android
平凡的威哥
这个作者很懒,什么都没留下…
展开
-
Android布局:ConstraintLayout-约束布局
威哥更新了Android Studio 的IDE后,发现每次新建Activity时,默认创建的布局文件是下面这样的:<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/...原创 2019-04-08 15:07:04 · 919 阅读 · 0 评论 -
Java验证手机号
威哥不废话,直接上代码:1.判断方法:/** * 判断是否手机号 * Author:William(徐威) * Create Time:2018-10-05 * @param phone * @return */public static boolean isMobilePhone(String phone) { boolean flag=true; Str...原创 2018-10-08 20:18:01 · 2392 阅读 · 0 评论 -
自定义AlertDialog消息提示框
自定义AlertDialog消息提示框,大家根据我的代码自行扩展。下图是威哥做的demo消息提示效果图:威哥不喜欢废话,直接上代码。1、消息提示java类:package com.msh.mshselfweighing.utils;import android.app.AlertDialog;import android.content.Context;import an...原创 2018-09-13 19:43:09 · 910 阅读 · 0 评论 -
AppCompatDialogFragment自定义模态弹框
很多时候系统自带的AlertDialog并不能满足我们模态弹框的需求,我们的app具体业务可能需要定制化的模态弹框,这个时候我们可以通过继承AppCompatDialogFragment来定制化开发我们需要的模态弹框。现在大家看看威哥在威哥开发的《妙生活自助称重》App上的继承自AppCompatDialogFrament的定制化弹框效果图:童鞋们,怎么样?威哥做出来的效果还不错吧。...原创 2018-09-13 17:11:22 · 4887 阅读 · 0 评论 -
AlertDialog、Dialog、AppCompatDialogFragment自定义弹框点击空白处自动关闭
AlertDialog、Dialog、AppCompatDialogFragment自定义弹框点击空白处自动关闭:方法一:setCanceledOnTouchOutside(false):调用这个方法时,按对话框以外的地方不起作用。按返回键还起作用。setCanceledOnTouchOutside(true):点击灰色空白处关闭弹框。方法二:setCanceleable(fa...原创 2018-09-13 16:50:52 · 3367 阅读 · 0 评论 -
Android Studio 开发功能快捷键简介
不啰嗦,直接大纲加截图介绍:1、在当前窗口查找文本【Ctrl+F】:注意上面的上下方向键可以向上和向下查找,也可以使用快捷键:F3 向下查找关键字出现位置;Shift+F3 向上一个关键字出现位置。2、在当前工程内查找文本【Ctrl+Shift+F】:在上面红框匹配查找3、查找类【Ctrl+N】:4、查找项目中的方法或变量【Ctrl+Shift+Alt+N】:...原创 2018-09-06 20:04:42 · 269 阅读 · 0 评论 -
EditText文本输入框使用完毕自动掩藏输入法
很多时候EditText文本输入框在输入信息完成操作之后后,我们希望能够自动收缩掩藏起虚拟键盘,以方便处理其他业务逻辑。比喻本文中EditText文本在输入商品编号完成商品检索之后,需要自动掩藏虚拟键盘,不要遮挡其他页面操作信息,当下次再检索商品信息时,再自动弹出虚拟键盘完成输入。看上图效果,晚上输入操作之后,自动掩藏了输入法,下次使用时再打开。关键代码如下:EditTe...原创 2018-08-30 15:06:31 · 882 阅读 · 0 评论 -
Fragment中的onCreateView()方法和setUserVisibleHint() 方法执行顺序
1、setUserVisibleHint(boolean isVisibleToUser)方法:根据方法名来看当前页面是否可见, 里面的boolean值就是判断当前页面是否可见的变量,可以isVisibleToUser来判断当前页面的状态,isVisibleToUser =true的时候代表当前页面可见,false 表示不可见;2、setUserVisibleHint(boolean isVi...原创 2018-08-21 21:09:58 · 2025 阅读 · 0 评论 -
MagicIndicator设置指示器Title字体大小
MagicIndicator设置指示器Title字体大小:MagicIndicator magicIndicator = (MagicIndicator) findViewById(R.id.magic_Category);magicIndicator.setBackgroundColor(Color.parseColor("#d43d3d"));CommonNavigator comm...原创 2018-08-28 17:15:58 · 5019 阅读 · 3 评论 -
RecyclerView空数据提示
ViewPager中使用RecyclerView绑定数据时经常会遇到没有数据时,需要显示“无数据”提示用户。下面是我的做法,先上图片效果 原理很简单,没有数据时显示图片和文字提示。1、xml布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://sche...原创 2018-08-28 16:33:23 · 5416 阅读 · 0 评论 -
Android开发之Glide图片加载介绍
Glide简介: Glide 是 Google 员工的开源项目, Google I/O 上被推荐使用,一个高效、开源、Android设备上的媒体管理框架,它遵循BSD、MIT以及Apache 2.0协议发布。Glide具有获取、解码和展示视频剧照、图片、动画等功能,它还有灵活的API,这些API使开发者能够将Glide应用在几乎任何网络协议栈里。创建Glide的主要目的有两个,一...原创 2018-08-23 16:05:55 · 745 阅读 · 0 评论 -
实现基于PopupWindow的数字软键盘
威哥工作中,需要再EditText文本框下展示数字软键盘,用于输入数字。效果图如下: 威哥从来都是一个直来直去的人,直接上代码实现,大家借鉴借鉴,自行修改。1.xml布局popup_number.xml:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://sch...原创 2018-10-23 11:18:02 · 455 阅读 · 0 评论 -
android 点击空白区域键盘消失&加载gif图片
威哥开发手机Pda系统,发现输入完用户名后,发现秘密文本框被软键盘阻挡,非常影响用户使用,如是,威哥想用户在完成用户名输入之后,手指点击空白处,自动消失软键盘,方便用户手指直接定位到密码框。威哥遇到的效果图如下:威哥希望输入完用户名,手指轻轻触碰下空白处自动收缩起软键盘。需要2步操作。1.封装类:/** * 窗体页面帮助类 * Author:William(徐威)...原创 2018-11-09 10:34:28 · 667 阅读 · 0 评论 -
Android存储数据5种方式&SharedPreferences存储泛型T数据
本文是威哥总结了Android存储数据存储方式和大家分享,同时重点是介绍威哥自行封装的SharedPreferences存储泛型T数据。Android存储数据5种方式:1 、文件存储数据; 2 、SQLite数据库存储数据;3、 使用SharedPreferences存储数据;4 、使用ContentProvider存储数据;5 、网络存储数据。1)文件存储...原创 2018-11-07 14:19:10 · 1078 阅读 · 0 评论 -
Android 让一个控件在另一个控件下方(layout布局属性)
如何让一个控件在另一个控件下面,直接操作下面代码:<LinearLayout android:id="@+id/ly_dialogPersonCode_Title" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginT...原创 2019-03-30 17:12:07 · 38110 阅读 · 1 评论 -
Android Gradle是什么?
威哥学习Java写了大半年的Android,今天打开项目,一直疑惑着项目里面这么多后缀.gradle,到底是干嘛的呢?汗颜啊!!!所有网上总结了下,和初学Android的同学一起分享下。首先我们的Android项目中会发现很多的后缀.gradle文件,如图: 现在威哥先介绍下这些.gradle是啥东东。Gradle官方定义:Gradle是一个基于Apache Ant和...原创 2019-03-25 10:46:31 · 19014 阅读 · 2 评论 -
Android Studio 升级之后项目报错:ERROR: Failed to open zip file
威哥最近升级Android Studio之后,发现项目崩溃了,什么都用不了,报下面该死的错误,可是威哥啥都没做啊?ERROR: Failed to open zip file.Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)Re-downl...原创 2019-03-02 10:39:37 · 1059 阅读 · 1 评论 -
Android Studio 更新最新IDE后SVN不显示
威哥把Android Studio更新最新的IDE之后,发现SVN图标没有了。威哥忙会了大半天,尝试了各自方法,终于解决了。下面直接上图和童靴们分享,虽说现在流行git了,不过威哥这边公司还没来得及迁移到Git,详细还是有好多同学在使用SVN。1.威哥更新完突然崩溃了,哥的大SVN哪去了?2.威哥找回了丢失的大SVN:按照威哥截图选中“Subversion”,美...原创 2019-03-01 18:02:16 · 1273 阅读 · 1 评论 -
Android Studio Sdk路径错误 找不到调试真机
威哥在项目开发时,因为团队各个Android Studio的SDK安装路径不一致,提交.iml文件重新定位指向的SDK位置不一致,但是在打开Android Studio时,会自动重新定位,弹出下面类似弹框:按照威哥的经验,这个时候点击“OK”确定即可自动更新本机SDK路径。但是有时候出了异常,不在弹出上面弹框,比喻你安装了sqlscout,这个破玩意安装需要购买正版验证码,而且一旦安装了该...原创 2019-02-02 15:21:41 · 2044 阅读 · 0 评论 -
获取Android系统版本号
威哥本次发布app更新时发现原来自己写到类里面的版本号时不顶用的,需要使用build.gradle里面的系统内嵌版本信息才能发布升级app。威哥这里和大家一起分享下,首先我们需要在build.gradle文件中配置每次升级的版本序号和版本显示名称,版本号必须大于上次发布的版本号。注意:系统内嵌版本序号为int类型。废话不多说,威哥直接上版本获取方法:/** * 系统帮助类...原创 2018-12-25 17:44:35 · 1306 阅读 · 0 评论 -
Android引入Java8 - lambda表达式使用
威哥发现java针对泛型List取值实在太麻烦,没有.Net方便。今天把Android Studio 做了升级,支持Android SDK 9.0,之后启用了java8.0。这之后发现世界变得好美好,java直接玩lambda表达式,和.net一样通畅。和大家一起分享一下。首先大家先升级Android Studio的IDE,升级到最新,把Android SDK 9.0的SDK也下载下来,当然,...原创 2018-12-10 18:17:13 · 1394 阅读 · 0 评论 -
Android数据持久化-Sqlite篇
威哥在本期妙管家项目中需要实现收货数据本地化存储,防止app意外崩溃,再次打开app时还能继续上次的收货数据,接着收货,比喻门店蔬菜100多个品类,正好收到99个Sku,各自原先导致app崩溃,或者不小心退出了app,总不能再重头开始收货。故威哥设计将收货实时存储在本地,之前使用的SharedPreferences不能存储大量数据,因为威哥的收货信息比较多,一个品类收货就有百来条数据信息需要存...原创 2018-12-19 17:59:52 · 403 阅读 · 0 评论 -
Android Studio 如何查看Sqlite数据文件
威哥本次的门店妙管家收货项目,需要考虑sqlite实现收货数据本地持久化,调试过程,读取数据出了些意外,威哥就考虑想直接查看下sqlite持久化的数据库文件,中间遇到些波折,想着大家可能也会遇到类似问题,就一起分享下。1、首先我们需要再Android Studio 上面sqlite数据库文件在哪里?如何将导出? i)可以先打断点调试,找到sqlite数据库文件地址,之后有目的的去查找;...原创 2018-12-19 14:27:42 · 25250 阅读 · 2 评论 -
代码设置标签背景图片:setBackground & 代码取色getColor
Android后台如何设置setBackground,之前有setbackgrounddrawable,参考代码:layout.setBackgroundDrawable(getResources().getDrawable(R.drawable.img_wstat_tstorm));但是该语法已经过时。可以使用下面方法替换实现:1.setBackground;2.setBac...原创 2018-11-20 18:59:58 · 9440 阅读 · 0 评论 -
BigDecimal 四色五入
原创 2018-08-20 19:35:01 · 653 阅读 · 0 评论 -
Android DecimalFormat 格式化数字
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够分析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。它还支持不同类型的数,包括整数 (123)、定点数 (123.4)、科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)。所有这些内容都可以本地化。 DecimalFor...原创 2018-08-20 19:33:14 · 2729 阅读 · 0 评论 -
获取商米本机SN码
如果有对接商米机型的同学可以参考,在Android环境下获取商米机型的SN码,参考如下代码:1.首先在AndroidManifest.xml中添加如下权限: <uses-permission android:name="android.permission.READ_PHONE_STATE" />2.在需要的地方用以下代码获取商米SN号:try { Cla...原创 2018-08-01 17:07:44 · 4721 阅读 · 0 评论 -
Android Studio 引入arr包
aar包是Android Studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件。Android Studio 如果需要引入arr资源包,参照。1、将AAR拷贝到app的libs目录下;2、修改app目录下的build.gradle:android同级增加代码:re...原创 2018-08-01 14:57:14 · 1866 阅读 · 0 评论 -
Java时间Date与字符串String转换
Java开发中经常涉及到时间Date与字符串String之间的相互转换,如何转换呢?主要是通过SimpleDateFormat类来操作的。 下面代码说明:1.日期转字符串格式化: Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); System.out.pr...原创 2018-07-28 10:44:17 · 2590 阅读 · 0 评论 -
Java BigDecimal类型的 加减乘除运算
Java BigDecimal类型的 加减乘除运算不能像C#一样简单,需要调用方法:加法:add减法:subtract乘法:multiply除法:divide 可参考下面代码:BigDecimal bignum1 = new BigDecimal("10"); BigDecimal bignum2 = new BigDecimal("5"); BigDeci...原创 2018-07-27 20:05:40 · 349303 阅读 · 2 评论 -
Java获取时间戳方法比较
Java获取当前时间戳有3种方法://方法 ASystem.currentTimeMillis();//方法 BCalendar.getInstance().getTimeInMillis();//方法 Cnew Date().getTime();其中效率从高到低排序:A > C >B,尝试些一个1000W次的循环,发现耗时如下:A:187 B:7032 ...原创 2018-07-27 19:42:15 · 2146 阅读 · 0 评论 -
android studio 打包apk发布
开发完Android项目,需要将项目打包成apk安装文件,才能在机器上安装和到应用市场发布。android studio 打包apk发布,打包步骤参照下面:1、点击Build->Generate,创建签名文件(如已经存在,直接选中):2、选择签名文件,如果没有生成过keystore,会弹出下面弹框 ,点击Create new,新建keystore:3、填写签名参数...原创 2018-08-09 12:57:16 · 952 阅读 · 0 评论 -
Android开发ListView事件:setOnItemSelectedListener、setOnItemClickListener、setOnTouchlistener3个不同监听区别
Android开发ListView事件:setOnItemSelectedListener、setOnItemClickListener、setOnTouchlistener3个不同监听区别,相信大家和我之前一样会有模糊,在手机上操作,感觉没什么区别,但是实际不是。首先从字面上理解,分别是:选择、点击和触摸,但是在实际中该如何使用呢?现在做android开发的,所使用的不论是真机还是模拟机...原创 2018-07-27 11:04:40 · 3578 阅读 · 1 评论 -
Android 以Json格式发送Post服务请求
package com.example.msh.utils;import android.text.TextUtils;import android.util.Log;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.Ou...原创 2018-07-21 21:38:17 · 11158 阅读 · 0 评论 -
gson.jar 转换Json格式数据
Android Java 开发,转换Json数据,绝对可用。代码如下:package com.example.msh.utils;import android.text.TextUtils;import com.google.gson.Gson;/*Json帮助类Author :William(徐威)Create Time:2018-07-21*/public class ...原创 2018-07-21 21:35:33 · 201 阅读 · 0 评论 -
Android ListView绑定数据
List服务一般有4种绑定方法:本文使用自定义适配器继承BaseAdapter来实现数据绑定,废话不说,直接上代码:1.自定义适配器:ShoppingProductAdapterpackage com.example.msh.ModelInfo.Adapter;import android.app.Activity;import android.view.LayoutInf...原创 2018-07-26 12:37:27 · 3166 阅读 · 0 评论 -
Android针对TextView文本框内容设置不同字体颜色
Android开发中,TextView文本内容有时候需要不同的文字需要显示不同的颜色,如下下:会员158****6317已登录,退出。那这如何实现呢?Java的Android环境这样写:SpannableString spannableString = new SpannableString(phone);spannableString.setSpan(new Foregr...原创 2018-08-10 15:01:43 · 2295 阅读 · 0 评论 -
Android开发EditText显示文字提示信息
Android开发EditText提示灰色文字显示,如下图:代码实现:1.xml文件中设置Ediitext的提示文字 android:hint="请输入"2.xml文件中设置Ediitext的提示文字的颜色 android:textHintColor="#fff"...原创 2018-08-10 15:12:58 · 32221 阅读 · 2 评论 -
Android开发EditText文本编辑框关闭软键盘
在EditText中软键盘的关闭软键盘:TextView etxtIndex_MemberLogin = this.findViewById(R.id.etxtIndex_MemberLogin);etxtIndex_MemberLogin.setInputType(InputType.TYPE_NULL); 关于EditText文本编辑框的其他属性可以参照如下:1、Ed...原创 2018-08-10 16:13:46 · 4962 阅读 · 0 评论 -
android:layout_weight权重使用
在布局中Layout_weight属性的作用:它是用来分配属于空间的一个属性,你可以设置它所占据屏幕的权重。Layout_weight的计算公式:实际宽度 = 控件原来的长度 + 剩余空间所占百分比的宽度。理论上控件标签的权重值越大,所分配的宽度越大,但是有时候不是,权重值越大,所分配的宽度比例反倒越小。我们可以设置android:layout_width为wrap_content和m...原创 2018-08-20 17:46:04 · 584 阅读 · 0 评论