安卓开发
杨Army
信仰:不想做将军的攻城狮,不是一个好的攻城狮。
展开
-
安卓开发常用的工具导航(持续补充)
1、自制.9图2、安卓颜色透明度换算3、安卓官方开发文档4、json在线格式化5、开发常用工具类6、base647、二维码生成器8、取色器原创 2021-08-30 15:01:35 · 128 阅读 · 0 评论 -
Recyclerview的网格布局的间距设置
/** * 网格布局的间距 */public class YjGridDivider extends RecyclerView.ItemDecoration { private int spacing;//水平方向上的间距 private boolean isIncludeEdge; private int vertivalSpacing;//垂直方向上的间距 private Drawable mDivider; public YjGridDivider(i.原创 2021-08-23 14:40:20 · 1036 阅读 · 0 评论 -
安卓动态权限申请工具类
依赖:// https://github.com/yanzhenjie/AndPermissionapi 'com.yanzhenjie:permission:2.0.0-rc12'工具类:/** * 权限工具类 */public abstract class PermissionUtils { public void checkPerm(final String permission) {// requestPermission(permission);.原创 2021-07-16 11:34:27 · 440 阅读 · 0 评论 -
glide加载不了图片,证书问题
问题:glide 加载不了这张图片:https://aliyun.vod.sgcctop.com/image/default/1A5EEAB153F549DF8C58CB6171273977-6-2.png错误信息:Message:java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.分析得知是证书问题!解决办法如下: 1、把链接放到浏览器,下载证书...原创 2020-10-29 14:16:15 · 1322 阅读 · 0 评论 -
安卓webview加载 图文显示不正常问题的解决方案
myWebView.getSettings().setJavaScriptEnabled(true);//支持javascriptmyWebView.getSettings().setUseWideViewPort(true);myWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUM...原创 2019-10-28 15:44:52 · 708 阅读 · 0 评论 -
流式布局FlowLayout可以直接使用
public class FlowLayout extends ViewGroup { private boolean centerHorizontal;//是否水平居中显示 public FlowLayout(Context context) { super(context); } public FlowLayout(Context conte...原创 2018-06-28 16:59:15 · 622 阅读 · 0 评论 -
弹窗
暂定原创 2018-06-25 17:43:29 · 204 阅读 · 0 评论 -
动画
暂定原创 2018-06-25 17:42:57 · 101 阅读 · 0 评论 -
拨打电话解决6.0以上版本权限问题以及实现拒绝权限后再次申请权限
import com.yanzhenjie.permission.AndPermission;import com.yanzhenjie.permission.PermissionListener;import com.yanzhenjie.permission.Rationale;import com.yanzhenjie.permission.RationaleListener;imp...原创 2018-05-24 21:13:46 · 1105 阅读 · 0 评论 -
安卓中简单实现截图功能:对View进行量测、布局后截图
截图功能/** * 对View进行量测,布局后截图 * @param view * @return */public static Bitmap convertViewToBitmap(View view) { view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), Vi...原创 2018-04-04 11:03:54 · 294 阅读 · 0 评论 -
性能优化(未完善篇)
自动拆箱和自动装箱的时候,可能会因为产生很多无用的对象而造成性能的消耗,比如:在for循环时,变量声明为一个integer对象,而在循环里又对这个变量进行赋值!...原创 2018-04-02 09:28:32 · 129 阅读 · 0 评论 -
Glide加载常用类型图片(带白色边框的圆形图、圆角矩形图片、圆形图片)
一:依赖包:Glide_githubimplementation 'com.github.bumptech.glide:glide:4.8.0'annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'二:要想使用GlideApp需要自定义AppGlideModule(需要放在工程目录下)/** * 用于gli...原创 2018-12-04 16:58:32 · 3140 阅读 · 0 评论 -
一行代码解决拨打电话权限问题
/** * 跳转到拨号页面 * @param phone */public static void skipCall(String phone){ Intent dialIntent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:" + phone)); BaseApplication.getCurrentActiv...原创 2018-12-04 17:12:00 · 815 阅读 · 0 评论 -
Android安卓应用自动更新
1.判断版本public static void judgeVersion() { ApiService.getAndroidAppVersion().subscribe(new CallBack<UpdateEntity>() { @Override protected void errorBody(String code, String m...原创 2019-07-02 10:38:46 · 1520 阅读 · 0 评论 -
极光推送自定义语音推送快捷实现方法
由于8.0版本手机的推送添加了渠道,可能会有些问题!所以想到了一种直接在JPushMessageReceiver的onNotifyMessageArrived方法中播放本地的音乐就好。方法如下:注意:在Assets文件下直接放音乐文件(最好是mp3格式,如果播放不出来,可能是音乐太长了的原因)/** * 播放本地音乐 */public class MediaPlayerUtils {...原创 2019-07-02 11:08:16 · 951 阅读 · 0 评论 -
安卓微信登录,分享,支付
1.准备工作在微信开放平台注册好账号,和获得WX_AppID。添加依赖 : api ‘com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+’在BaseApplication里注册微信登录wxapi = WXAPIFactory.createWXAPI(this, Configure.WX_AppID, false);...原创 2019-07-02 13:13:56 · 759 阅读 · 0 评论 -
安卓实现截图功能的两种方式
1.对指定的view进行截图(解决了getDrawingCache得到的bitmap为null的问题) public static Bitmap loadBitmapFromView(View v) { v.setDrawingCacheEnabled(true); //view转换成图片 v.measure(View.MeasureSpec....原创 2019-07-02 13:17:56 · 4634 阅读 · 0 评论 -
安卓实现高亮显示文字中的某段文字
1.高亮显示文字中的某段文字public static void lightShow(String content, String lightContent, TextView textView) { SpannableString spannableString = new SpannableString(content); Pattern p = Patter...原创 2019-07-02 13:30:10 · 644 阅读 · 0 评论 -
Android 带进度的圆形进度条
自定义viewpublic class RoundProgressBar extends View {/*** 画笔对象的引用*/private Paint paint; /** * 圆环的颜色 */ private int roundColor; /** * 圆环进度的颜色 */ private int roundProgressColor; /**...原创 2019-07-28 09:57:15 · 768 阅读 · 0 评论 -
IntelliJ IDEA 常用设置讲解
本篇内容为大家提供的是IntelliJ IDEA 使用教程中的IntelliJ IDEA 常用设置讲解,IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。 。感兴趣的同学可以参考学习下,具体转载 2018-02-02 11:26:13 · 305 阅读 · 0 评论 -
自定义组合控件:带drawableLeft 、删除、查看密码功能
自定义组合控件:带drawableLeft 、删除、查看密码功能! xml布局:item_clear_edittextLinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_heig原创 2018-01-17 10:23:50 · 233 阅读 · 0 评论 -
Android Studio快速开发不可或缺的插件Plugin整理
一、控件获取焦点12mText.setText("gfgss");mText.setFocusable(true);xml里面输入框设置默认获取焦点 12345AutoCompleteTextViewandroid:layout_widt原创 2017-01-03 16:44:10 · 333 阅读 · 0 评论 -
自定义控件——可拖拽排序的ListView (在ListView的item中没有EditText控件)
前言最经公司项目钟有一个需求:在ListView的item中有EditText控件,然后实现listview拖拽效果,研究了好久拖拽排序的ListView;目前还只会没有EditText控件的listview的拖拽,实现步骤如下:一:在MainActivity中;public class MainActivity extends AppCompatActivity { privat原创 2017-01-03 17:19:31 · 367 阅读 · 0 评论 -
自定义控件——可拖拽排序的ListView (在ListView的item中有EditText控件)
前言跟进上篇:拖拽排序的ListView;有EditText控件的listview的拖拽!实现步骤如下:一:在MainActivity中;public class MainActivity extends AppCompatActivity { private DragListView mLv; private ArrayList mDatas; @Ov原创 2017-01-04 09:57:41 · 405 阅读 · 0 评论 -
Android studio 如何打包项目,与版本升级
在使用高德地图时,申请key需要用到apk的SHA1值,以前用Eclipse的时候可以直接查看,现如今换成了AndroidStudio了,而且以前用的是keystore,现在却变成了jks!现在的jks文件为获取SHA1值准备!转载 2017-01-19 17:13:38 · 839 阅读 · 0 评论 -
解决butterknife添加依赖的时候报错
问题:Error:(16, 0) Minimum supported Gradle version is 3.3. Current version is 2.14.1 第一步:在app的build.gradle里添加最上面的地方apply plugin: 'com.android.application' apply plugin: 'com.neenbedankt.android-ap原创 2017-07-24 20:29:28 · 473 阅读 · 0 评论 -
Android 扩大ImageView的点击区域,解决按钮有效区域小的问题
问题:在开发项目时候,会有的场景(自定义的返回键,点赞,删除等)使用时,图标太小,点击事件的有效区域就太小!那么如何扩大点击事件的有效区域呢?解决:一行代码就能让自己的按钮像ActionBar的返回键一样,具有强大的有效点击区域!代码:android:scaleType=”centerInside”(高度,宽度设置成自己的需求,这个属性只适合ImageView控件)<ImageView原创 2017-08-02 13:50:03 · 6422 阅读 · 0 评论 -
为安卓应用申请更大的内存,android:largeHeap="true"的作用!
安卓设备对应用内存的限制,一般在/system/build.prop文件中可以查看到:dalvik.vm.heapsize=512m(最大内存限制)dalvik.vm.heapgrowthlimit=192m(普通内存限制)当设置为android:largeHeap=”true” 时 应用申请的内存最大为512M当设置为android:largeHeap=”false” 时 应用申请的内原创 2017-08-08 13:41:34 · 4200 阅读 · 0 评论 -
Okhttp使用详解
写的很好,多与人分享:http://blog.csdn.net/iispring/article/details/51661195原创 2016-12-20 17:54:25 · 251 阅读 · 0 评论 -
Android开发:仿微信和QQ空间发说说相册读取、拍照、图片裁剪和图片上传服务器等功能的实现
做一个项目中有这需求,当时找资料做的时候,感觉很麻烦!这里做个总结,与大家分享下,方便大家更容易的开发!第一步:添加依赖包:dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:23.2.1' compile原创 2016-12-28 11:49:08 · 5377 阅读 · 2 评论 -
Android 设计模式的详解
前言:封装、继承、多态(面向对象)!编程的重要思想,万变不离其中! 每个开发人员,都有一种同病相怜:“产品经理的频繁该需求,导致程序猿呐喊彷徨!更改需求,轻者:不吃中餐的修改;重者,废寝忘食通宵的修改;更甚者:代码推倒重来,直接吐血”! 然而,大家都明白:“产品的需求变动是必然的,只是或多或少而已!”;既然,“变是避免不了的,那么就让我们尽力为变做些准备,防范于未然!”...原创 2016-12-15 21:41:21 · 534 阅读 · 0 评论 -
代码规范和Android项目中的一些可用工具
这里主要讲一下关于代码规范的相关问题,和在Android项目中如何利用一些工具进行规范和检查。代码规范不是一个Android项目特有的问题,所以前部分内容是不单针对Android的。什么是代码规范?代码规范一般是指在编程过程中的一系列规则规范。一般来说代码规范可以分为两种。1.一是编程语言本身在设计时所规定的一些原则,这类规则大部分都是强制的,像Python里用缩进表示逻辑块,Go里用首字母大小写表原创 2017-09-02 09:52:49 · 403 阅读 · 0 评论 -
Android开发性能优化总结(一)
前言:安卓开发应用首先要讲究良好的用户体验,如果一款软件卡顿现象严重,不流畅,经常崩溃,那么将给用户带来极不良好的体验,从而损失用户。应用程序的性能问题体现在: 比如第一次启动速度慢,或者进入某一界面速度慢;动画执行过程不流畅,或者动画执行卡顿时间长;ListView列表滑动过程中卡顿,不流畅;应用程序自定义的某特定界面执行速度慢;响应某一用户事件时长时间无响应(ANR);操作数据库时,执行大量数原创 2017-09-01 20:46:05 · 196 阅读 · 0 评论 -
Android开发性能优化总结(二)
一、安卓UI性能检测与优化 UI是安卓应用程序与用户打交道的最直接途径,UI设计的好不好,直接影响到用户的体验,如果没有达到他们心目中的自然流畅细节,用户要是能够感觉出来,少则影响心情,多则卸载应用;所以一个应用的UI显示性能问题就不得不被开发人员重视。1.UI卡顿常见原因:在UI线程中做了耗时操作,导致UI线程卡顿;布局Layout过于复杂,无法在16ms内完成渲染;同一时间动画执行的次数过多原创 2017-09-01 20:52:27 · 413 阅读 · 0 评论 -
RecyclerView-错误收集:当你刷新RecyclerView程序崩掉的时候(1)
报错信息摸着后脑勺,一脸懵逼地看着Android Studio打印着下面这段日志: java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false isAttached:true at android.support.v7.w原创 2017-09-23 10:10:57 · 644 阅读 · 0 评论 -
安卓开发中实现替换webview加载网页失败时的页面和失败后点击后重新加载
项目需要在此记录!Activity中的代码:public class MainActivity extends AppCompatActivity { private WebView webView; private View mErrorView; private RelativeLayout loading_over; private String url = "h原创 2017-09-05 10:12:07 · 5449 阅读 · 1 评论 -
Listview Checkbox错乱问题
解决办法: 1、设置一个Map集合,用于保存第一个listview中数据的选中与否状态,然后根据这个状态设置给checkbox的状态,这样就不会混乱了。2、从数据源出发,在数据实体对象里(服务器没有返回判断的字段)加个字段判断!(简单高效)下面代码实现这个:第一步:数据源添加字段字段private boolean isSelect;public boolean isSelect() {原创 2017-07-28 10:11:05 · 323 阅读 · 0 评论 -
依赖ConstraintLayout报错
在进行布局转换时,我们需要添加依赖:compile'com.android.support.constraint:constraint-layout:1.0.0-beta5'但是同步的时候可能出现以下错误:Failed to resolve:com.android.support.constraint:constraint-layout:1.0.0-beta5或Could not find com.原创 2017-07-27 10:09:36 · 1974 阅读 · 0 评论 -
RecyclerView的使用介绍(一)
介绍RecyclerView与ListView原理是类似的:都是仅仅维护少量的View并且可以展示大量的数据集。RecyclerView用以下两种方式简化了数据的展示和处理:使用LayoutManager来确定每一个item的排列方式。 为增加和删除项目提供默认的动画效果。你也可以定义你自己的LayoutManager和添加删除动画。 Adapter:使用RecyclerView之前,你需要一原创 2017-07-27 06:29:49 · 383 阅读 · 0 评论 -
2016年安卓开发中最新手机号码、电话号码正则表达式
/** * 验证手机号码和固定号码类 */public class VerifyPhoneNumUtil { /** * 验证手机号码 * * 移动号码段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147 * 联通号码段:130、131、132、136、18原创 2016-12-21 11:51:35 · 945 阅读 · 0 评论