自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cheweilol的专栏

android开发

  • 博客(78)
  • 资源 (4)
  • 收藏
  • 关注

原创 记录targetSdkVersion升级以后Android遇到的一些问题

Android7.0以后的文件读取Android7.0以后通过FileProvider在应用间共享文件步骤1:在res的文件夹下建立一个xml的文件夹,再建立一个provider_paths.xml,provider_path.xm的内容如下:<?xml version="1.0" encoding="utf-8"?><paths xmlns:android="http...

2020-03-19 23:07:53 386

原创 gradle2.3.3升级3.5.3

1.华为推送com.huawei.hms.api.xxx找不到的问题解决方案用这两行api 'com.huawei.android.hms:push:2.5.3.xxx'api 'com.huawei.android.hms:base:2.5.3.xxx'去替换implementation 'com.huawei.android.hms:push:2.5.3.xxx'2.canva...

2020-03-18 01:49:26 534

转载 Android 后台运行白名单,优雅实现保活

为了做到保活,出现了不少「黑科技」,比如 1 个像素的 Activity,播放无声音频,双进程互相守护等。这些做法可以说是很流氓了,甚至破坏了 Android 的生态,好在随着 Android 系统版本的更新,这些非常规的保活手段很多都已失效了。对于那些确实需要在后台运行的应用,我们如何做到优雅的保活呢?

2020-02-16 15:14:21 744

原创 在onCreateOptionsMenu中修改activity的menu颜色

@Override public boolean onCreateOptionsMenu(Menu menu) { LayoutInflater lInflater = getLayoutInflater(); if ( lInflater.getFactory() == null ) { lInflater.setFactory(n...

2019-07-25 15:34:18 645

原创 webView显示白屏的问题

webView加载酷狗音乐或者带视频的一些较大网页时显示白屏的问题修复记录: String mp4Path = "http://yoo.qq.com/m/video.htmlid=w003129iefx&hgptag=txvideo12&vuid24=R1SphDgpxeZ%2FR4p0L5%2Fleg%3D%3D&ptag=3_6.6.5.5533_qrcode&am...

2019-06-14 19:08:19 2687

原创 android 常用集合HashMap的使用和详解

Java的集合类由Collection接口和Map接口派生集合类的接口定义1) Collection一组"对立"的元素,每个位置只能保存一个元素(对象),通常这些元素都服从某种规则   1.1) List必须保持元素特定的顺序   1.2) Set不能有重复元素   1.3) Queue保持一个队列(先进先出)的顺序2) Map一组成对的"键值对"对象,就像一个小型数据库。我们...

2018-10-31 11:38:28 6298

原创 Android 之文件夹排序(基于名称、最近修改时间、大小)

基于名称:/** * 按文件名排序 * @param filePath */ public static ArrayList orderByName(String filePath) { ArrayList FileNameList = new ArrayList(); File file = new File(...

2018-08-23 15:08:53 1464 1

转载 Intent 启动方法和启动Action大全

1 Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”。 2 3 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的&amp;lt;intent-filter&amp;gt;元素来过滤。 4 5 Intent在由以下几个部分组成:动作(action),数据(data),分类(Category),类型(Type),组件(C...

2018-07-30 11:42:28 409

原创 popupWindow在android7.0以上显示全屏的问题

在Android7.0以上版本调用popupWindow的showAsDropDown()方法,始终显示全屏,或者遮蔽标题栏目, 解决方案:package com.example.view;import android.content.Context;import android.graphics.Rect;import android.os.Build;import andr...

2018-07-06 18:19:43 562

原创 依赖包后出现Failed to resolve: com.github.dkzwm.SmoothRefreshLayout:core:1.6.3.3错误

我们可能经常要用到一些github上的开源库(如何把自己的项目作为开源库这里写链接内容),然后可能会遇到上面图中的问题,原因是因为你将添加的maven { url “https://jitpack.io” } 添加至了buildscript 而不是allprojects解决方法为:在项目的build.gradle中添加:allprojects { repositories...

2018-03-26 22:04:06 5894

原创 CoordinatorLayout 嵌套Recyclerview,Recyclerview嵌套不同的Recyclerview滑动不了

RecyclerView嵌套横向RecycleView 要做一个界面,CoordinatorLayout嵌套AppBarLayout和RecyclerView来实现折叠滑动,我的RecycleView里面布局较多,计划再嵌入RecyclerView来实现,当我用到RecyclerView添加GrideLayoutManager实现GrideView时,怎么都滑动不了,参考官方demo,很容易使用...

2018-03-19 15:06:00 3124 2

原创 android 循环删除list中的满足条件的item

当我们使用for循环删除列表中的数据的时候,会存在问题,因为ArrayList的父类AbstractList里有个modCount的字段记录着List的总数,for循环的时候如果增加或者删除了元素,ArrayList的modCount也会变化,那么在下次for循环的时候检查到跟之前的长度不同,此时会报ConcurrentModificationException异常。解决方法如下:Iterator...

2018-03-14 15:38:28 1977

原创 android 优秀开源框架表单

UpdateDemo-android app自动检测更新库项目地址https://github.com/hugeterry/UpdateDemo

2017-12-27 21:11:49 1283

原创 Leet Code(一)两个数组元素的和为给定制值

给定一个整形数组和一个整数target,返回2个元素的下标,它们满足相加的和为target。 你可以假定每个输入,都会恰好有一个满足条件的返回结果。(时间复杂度O(n)):public static void main(String[] args){ int[] main = {1,2,5,6,8,7}; System.out.println("11111111

2017-12-01 09:39:20 334

原创 ExpandableListView长按事件怎么获取groupPosition和childPosition

在ExpandableListView的长按事件中这么写:final long packedPosition = ExpandableListView.getExpandableListPosition(position);final int groupPosition = ExpandableListView.getPackedPositionGroup(packedPosition);

2017-11-15 10:02:09 472

原创 android TextView 使用SpannableString数据源时,TextView的maxLines和ellipsize失效

有个需求,需要可以点击TextView的一部分,这时候就要用到SpannableString结合使用ClickableSpan来实现了,但是当TextView 使用SpannableString数据源时,就会遇到TextView的maxLines和ellipsize失效,所以遇到坑就总结下来以免下次再遇坑根据下面的两篇,进行总结的: 1、http://blog.csdn.net/x

2017-11-09 16:27:42 2499 1

转载 Android图片加载框架Glide用法及一些使用心得

Glide 的图片加载库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app,已经有三年了,郁闷的我最近才开始研究,好的东西经过了时间的考研,Glide和Picasso有90%的相似度,准确的说,就是Picasso的克隆版本。但是在细节上还是有不少区别的。导入Picasso和Glide都在jcenter上。在项目中添加依赖非常简单:

2017-09-22 11:12:56 1003

原创 Android TextView实现不同字体颜色并添加点击事件

SpannableStringBuilder span = new SpannableStringBuilder((TextUtils.isEmpty(dn.getCreaterName()) ? "" : dn.getCreaterName())+":"+dd); span.setSpan(new ClickableSpan() {

2017-09-05 09:50:08 918

原创 Android关于有些机型拍摄的照片在代码里调用图库照片显示翻转问题

有些机型我现在发现的有小米6和三星的机子,调用系统图库照片出现了翻转,但是在相册里却不会翻转,用户上传的图片显得很不友好,所以要想办法解决一下,查看了诸多的材料,下面的是我调用的工具类(代码里的注释写的很明显了,希望能帮到有用到的吧):package com.tr.ui.widgets;import android.content.Context;import android.graph

2017-07-24 10:14:15 799

原创 android 限制 EditText 最大输入字符数并显示已经输入字符数

int MAX_LENGTH = 500; //最大输入字符数100int Rest_Length = MAX_LENGTH;numTv.setText("0/500");editRemarkDescription.setFilters(new InputFilter[]{new InputFilter.LengthFilter(MAX_LENGTH)});

2017-07-06 10:00:11 665

原创 记录一下:Date、String、Long三种日期类型之间的相互转换

date类型转换为String类型 // formatType格式为yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒 // data Date类型的时间 public static String dateToString(Date data, String formatType) { return new SimpleD

2017-06-27 09:53:20 2010

原创 小总结之Android知识点(1)

1: /** * 禁止EditText输入空格 * @param editText */ public static void setEditTextInhibitInputSpace(EditText editText){ InputFilter filter=new InputFilter() { @Over...

2017-04-25 10:17:19 302

转载 AlarmManager详解

AlarmManager的特点1.AlarmManager是一种系统级别的定时提示服务,这允许app在一个给定的时间段上执行某一段代码。这可以运行在app的生命周期之外。2.一旦设置AlarmManager,它将一直调用,即使你的应用程序是不运行,甚至当你的设备是在睡眠。3.定时任务可以唤醒你的设备,但这会消耗更多的电池。因此,你必须小心那些执行频繁的定时任务。定时任务应该

2017-04-17 18:46:07 6425

原创 Android intent传递hashMap对象,遍历hashMap,改变menu状态

大家可以查看Intent可以传递的参数,有String,int,Boolean,Serializable等,就是不能直接传递HashMap时首先封装自己的HashMap对象:[java] view plain copypublic class SerializableHashMap implements Serializable {     

2017-04-17 10:14:53 3561 1

原创 Android studio使用过程中提示“警告: [deprecation] android.hardware中的Camera已过时”

在打包时你可能遇到这样的问题:警告: [deprecation] android.hardware中的Camera已过时虽然对于打包没什么影响,但对于我这样有点吹毛求疵的人可能就是忍受不了,解决方式:在module下的gradle加入了:android{lintOptions {checkReleaseBuilds falseabortOnError false

2017-03-21 10:29:34 13321 3

原创 提高Android studio编译(build)速度

大家已经使用Android studio已有好长见时间了,从1.0版本到2.0再到3.0,Android studio的编译速度实在是个梗,怎么也迈不过,我把我的经验和遇到的坑总结下来,大家一起讨论学习一下吧。1.使用Android studio的install runInstant Run点击“Run”或“Debug”时,Android Studio 的 Instan

2017-03-16 11:46:25 541

原创 http协议返回状态码

在开发web应用或者移动应用时都会用到http协议,那么http协议中一些常见的状态码表示的含义如下: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。代码   说明 100   (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余

2017-02-20 11:00:29 460

转载 Android性能优化系列之apk瘦身

这是我看过的App性能优化中的优化apk总结最好的文章,所以保存下学习学习为什么APK要瘦身。APK越大,在下载安装过程中,他们耗费的流量会越多,安装等待时间也会越长;对于产品本身,意味着下载转化率会越低(因为竞品中,用户有更多机会选择那个体验最好,功能最多,性能最好,包最小的),所以apk的瘦身优化也很重要,本篇博客将讲述apk瘦身的相关内容。包体分析在Android S

2017-02-10 15:40:04 577 1

原创 ScrollView中嵌套Listview

在写一个界面既包含ScrollView又包含listView时,你可能添加完数据后界面显示在listView的最低端,需要上划到最顶端,解决办法:scroll_view.smoothScrollTo(0,20);commentsRecycleview.setFocusable(false);//listView缺失焦点listView只显示一横解决办法:我在网上查了,好多人说

2016-12-05 11:15:32 293

转载 Android复制和粘贴的实现

main.xml如下: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"

2016-11-24 11:53:48 452

转载 Android中设置Menu菜单的文字颜色为白色

Android中设置Menu菜单的文字颜色为白色,一般情况下,Android中Menu菜单的title文字颜色为黑色, 如果在开发应用的过程中,自定义了ActionBar的颜色,比如一些比较鲜艳,清新的颜色,如青色,浅蓝色等 此时如果菜单的文字颜色仍未黑色,就会比较影响UI显示效果,可以通过修改Menu的文字颜色,达到较好的UI 显示效果,共有两种方式可以设置Menu文字颜色: (一) 通

2016-11-07 11:42:28 10926

转载 IntentFilter解读

当Intent在组件间传递时,组件如果想告知Android系统自己能够响应和处理哪些Intent,那么就需要用到IntentFilter对象。    顾名思义,IntentFilter对象负责过滤掉组件无法响应和处理的Intent,只将自己关心的Intent接收进来进行处理。 IntentFilter实行“白名单”管理,即只列出组件乐意接受的Intent,但IntentFilter只会过滤

2016-11-07 10:16:33 294

原创 Android在EditText光标所在位置插入和删除字符串

/**获取EditText光标所在的位置*/  private int getEditTextCursorIndex(EditText mEditText){   return mEditText.getSelectionStart();  }  /**向EditText指定光标位置插入字符串*/  private void insertText(EditText mEditT

2016-10-29 11:24:14 1191

原创 Android studio代码提交github管理

1.打开AS的配置面板,找到Git的选项点击settings2.在右边的 Path to Git executable 找到Git的可执行程序,点击右边的Test按钮。出现下图说明成功了。3.找到VCS菜单, 选择 Enable Version Control Integration,在下拉框中选择 Git , 点击 OK,Module 中的文件

2016-10-27 14:03:17 407

原创 Android观察者模式NotificationCenter,可以试试替换BroadCastReceiver

1、NotificationCenterNotificationCenter是一个单例类,即与Director类一样。它主要用来管理订阅/发布消息的中心。单例类的使用:通过 NotificationCenter.getInstance() 来获取单例对象。它有三个核心函数和一个观察者数组: 订阅消息: addObserver()。订阅感兴趣的消息。 发布消息: postNotifica

2016-08-30 15:32:17 1497

原创 Android好的开源库

图片属相处理库

2016-08-29 17:30:18 361

转载 Android广播机制

1.Android广播机制概述Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器)。广播作为Android组件间的通信方式,可以使用的场景如下:1.同一app内部的同一组件内的消息通信(单个或多个线程之间);2.同一app内部的不同组件之间的消息通信(单个进程);3.同一app具有多个进程

2016-08-24 18:01:26 251

原创 android 总结文件相关工具类

总结文件相关工具类,为以后开发简洁使用package com.blankj.utilcode.utils;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.Closeable;import ja

2016-08-24 17:14:28 542

转载 AlterDialog详细讲解

转载自:http://www.kwstu.com/ArticleView/kwstu_20139682354515前言  对话框对于应用也是必不可少的一个组件,在Android中也不例外,对话框对于一些提示重要信息,或者一些需要用户额外交互的一些内容很有帮 助。本篇博客就讲解一下Android下对话框的使用,在本篇博客中,将了解到对话框的一些常规属性的设置,以及各式的对话框的使用,

2016-08-10 17:38:09 9165 1

原创 Gson解析时对于不确定泛型的处理

今天写一个解析时后台返回的对象不确定,不能每个对象都去写个type(如第一个代码块)去解析,因为有好多个不一样的对象,于是写了个Object fromJson2 = gson.fromJson(readContext, type);然后把object对象强转给对应的对象,结果怎么运行都不行,报java.lang.ClassCastException: com.google.gson.inter

2016-08-02 22:48:50 17468

微信,支付宝支付

微信,支付宝支付封装的工具类,里面直接调用PayAliImp或者PayWXinImp来实现支付功能,里面直接实现异步任务处理

2017-09-13

Android dialog显示日期和时间并选择显示

调用系统的TimePicker和DatePicker来选择时间,其实效果也不错的

2015-05-29

android universal-image-loader图片下载

比较好用的图片下载 1.配置ImageLoaderConfigurationconfig参数 2.实例化ImageLoader.getInstance(); 3.配置缓存以及图像效果的参数DisplayImageOptions 4.调用displayImage或者loadImage下载图片

2014-12-24

由universal-image-loader-1.9.0下载图片在Viewpager显示+无限侧滑+定时侧滑--

由universal-image-loader-1.9.0下载图片在Viewpager(有框架可以自己摘)显示+无限侧滑+定时侧滑--框架好多,总有一样适合你

2014-12-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除