
android
文章平均质量分 53
weiweichelaixi
爱android
展开
-
记录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 · 498 阅读 · 0 评论 -
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 · 595 阅读 · 0 评论 -
Android 后台运行白名单,优雅实现保活
为了做到保活,出现了不少「黑科技」,比如 1 个像素的 Activity,播放无声音频,双进程互相守护等。这些做法可以说是很流氓了,甚至破坏了 Android 的生态,好在随着 Android 系统版本的更新,这些非常规的保活手段很多都已失效了。对于那些确实需要在后台运行的应用,我们如何做到优雅的保活呢?转载 2020-02-16 15:14:21 · 877 阅读 · 0 评论 -
Android studio使用过程中提示“警告: [deprecation] android.hardware中的Camera已过时”
在打包时你可能遇到这样的问题:警告: [deprecation] android.hardware中的Camera已过时虽然对于打包没什么影响,但对于我这样有点吹毛求疵的人可能就是忍受不了,解决方式:在module下的gradle加入了:android{lintOptions {checkReleaseBuilds falseabortOnError false原创 2017-03-21 10:29:34 · 13652 阅读 · 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 · 606 阅读 · 0 评论 -
AlarmManager详解
AlarmManager的特点1.AlarmManager是一种系统级别的定时提示服务,这允许app在一个给定的时间段上执行某一段代码。这可以运行在app的生命周期之外。2.一旦设置AlarmManager,它将一直调用,即使你的应用程序是不运行,甚至当你的设备是在睡眠。3.定时任务可以唤醒你的设备,但这会消耗更多的电池。因此,你必须小心那些执行频繁的定时任务。定时任务应该转载 2017-04-17 18:46:07 · 7013 阅读 · 0 评论 -
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 · 3638 阅读 · 1 评论 -
Android中设置Menu菜单的文字颜色为白色
Android中设置Menu菜单的文字颜色为白色,一般情况下,Android中Menu菜单的title文字颜色为黑色, 如果在开发应用的过程中,自定义了ActionBar的颜色,比如一些比较鲜艳,清新的颜色,如青色,浅蓝色等 此时如果菜单的文字颜色仍未黑色,就会比较影响UI显示效果,可以通过修改Menu的文字颜色,达到较好的UI 显示效果,共有两种方式可以设置Menu文字颜色: (一) 通转载 2016-11-07 11:42:28 · 11092 阅读 · 0 评论 -
记录一下: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 · 2047 阅读 · 0 评论 -
http协议返回状态码
在开发web应用或者移动应用时都会用到http协议,那么http协议中一些常见的状态码表示的含义如下: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余原创 2017-02-20 11:00:29 · 522 阅读 · 0 评论 -
Android性能优化系列之apk瘦身
这是我看过的App性能优化中的优化apk总结最好的文章,所以保存下学习学习为什么APK要瘦身。APK越大,在下载安装过程中,他们耗费的流量会越多,安装等待时间也会越长;对于产品本身,意味着下载转化率会越低(因为竞品中,用户有更多机会选择那个体验最好,功能最多,性能最好,包最小的),所以apk的瘦身优化也很重要,本篇博客将讲述apk瘦身的相关内容。包体分析在Android S转载 2017-02-10 15:40:04 · 617 阅读 · 1 评论 -
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 · 485 阅读 · 0 评论 -
ScrollView中嵌套Listview
在写一个界面既包含ScrollView又包含listView时,你可能添加完数据后界面显示在listView的最低端,需要上划到最顶端,解决办法:scroll_view.smoothScrollTo(0,20);commentsRecycleview.setFocusable(false);//listView缺失焦点listView只显示一横解决办法:我在网上查了,好多人说原创 2016-12-05 11:15:32 · 328 阅读 · 0 评论 -
Android在EditText光标所在位置插入和删除字符串
/**获取EditText光标所在的位置*/ private int getEditTextCursorIndex(EditText mEditText){ return mEditText.getSelectionStart(); } /**向EditText指定光标位置插入字符串*/ private void insertText(EditText mEditT原创 2016-10-29 11:24:14 · 1216 阅读 · 0 评论 -
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 · 451 阅读 · 0 评论 -
IntentFilter解读
当Intent在组件间传递时,组件如果想告知Android系统自己能够响应和处理哪些Intent,那么就需要用到IntentFilter对象。 顾名思义,IntentFilter对象负责过滤掉组件无法响应和处理的Intent,只将自己关心的Intent接收进来进行处理。 IntentFilter实行“白名单”管理,即只列出组件乐意接受的Intent,但IntentFilter只会过滤转载 2016-11-07 10:16:33 · 353 阅读 · 0 评论 -
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 · 810 阅读 · 0 评论 -
AlterDialog详细讲解
转载自:http://www.kwstu.com/ArticleView/kwstu_20139682354515前言 对话框对于应用也是必不可少的一个组件,在Android中也不例外,对话框对于一些提示重要信息,或者一些需要用户额外交互的一些内容很有帮 助。本篇博客就讲解一下Android下对话框的使用,在本篇博客中,将了解到对话框的一些常规属性的设置,以及各式的对话框的使用,转载 2016-08-10 17:38:09 · 9338 阅读 · 1 评论 -
Android好的开源库
图片属相处理库原创 2016-08-29 17:30:18 · 387 阅读 · 0 评论 -
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 · 712 阅读 · 0 评论 -
Android关于有些机型拍摄的照片在代码里调用图库照片显示翻转问题
有些机型我现在发现的有小米6和三星的机子,调用系统图库照片出现了翻转,但是在相册里却不会翻转,用户上传的图片显得很不友好,所以要想办法解决一下,查看了诸多的材料,下面的是我调用的工具类(代码里的注释写的很明显了,希望能帮到有用到的吧):package com.tr.ui.widgets;import android.content.Context;import android.graph原创 2017-07-24 10:14:15 · 839 阅读 · 0 评论 -
在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 · 722 阅读 · 0 评论 -
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 · 2784 阅读 · 0 评论 -
android 常用集合HashMap的使用和详解
Java的集合类由Collection接口和Map接口派生集合类的接口定义1) Collection一组"对立"的元素,每个位置只能保存一个元素(对象),通常这些元素都服从某种规则 1.1) List必须保持元素特定的顺序 1.2) Set不能有重复元素 1.3) Queue保持一个队列(先进先出)的顺序2) Map一组成对的"键值对"对象,就像一个小型数据库。我们...原创 2018-10-31 11:38:28 · 6578 阅读 · 0 评论 -
Android 之文件夹排序(基于名称、最近修改时间、大小)
基于名称:/** * 按文件名排序 * @param filePath */ public static ArrayList orderByName(String filePath) { ArrayList FileNameList = new ArrayList(); File file = new File(...原创 2018-08-23 15:08:53 · 1607 阅读 · 1 评论 -
Intent 启动方法和启动Action大全
1 Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”。 2 3 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的&lt;intent-filter&gt;元素来过滤。 4 5 Intent在由以下几个部分组成:动作(action),数据(data),分类(Category),类型(Type),组件(C...转载 2018-07-30 11:42:28 · 461 阅读 · 0 评论 -
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 · 611 阅读 · 0 评论 -
依赖包后出现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 · 6054 阅读 · 0 评论 -
android 循环删除list中的满足条件的item
当我们使用for循环删除列表中的数据的时候,会存在问题,因为ArrayList的父类AbstractList里有个modCount的字段记录着List的总数,for循环的时候如果增加或者删除了元素,ArrayList的modCount也会变化,那么在下次for循环的时候检查到跟之前的长度不同,此时会报ConcurrentModificationException异常。解决方法如下:Iterator...原创 2018-03-14 15:38:28 · 2043 阅读 · 0 评论 -
CoordinatorLayout 嵌套Recyclerview,Recyclerview嵌套不同的Recyclerview滑动不了
RecyclerView嵌套横向RecycleView 要做一个界面,CoordinatorLayout嵌套AppBarLayout和RecyclerView来实现折叠滑动,我的RecycleView里面布局较多,计划再嵌入RecyclerView来实现,当我用到RecyclerView添加GrideLayoutManager实现GrideView时,怎么都滑动不了,参考官方demo,很容易使用...原创 2018-03-19 15:06:00 · 3273 阅读 · 2 评论 -
小总结之Android知识点(1)
1: /** * 禁止EditText输入空格 * @param editText */ public static void setEditTextInhibitInputSpace(EditText editText){ InputFilter filter=new InputFilter() { @Over...原创 2017-04-25 10:17:19 · 339 阅读 · 0 评论 -
android 优秀开源框架表单
UpdateDemo-android app自动检测更新库项目地址https://github.com/hugeterry/UpdateDemo原创 2017-12-27 21:11:49 · 1350 阅读 · 0 评论 -
ExpandableListView长按事件怎么获取groupPosition和childPosition
在ExpandableListView的长按事件中这么写:final long packedPosition = ExpandableListView.getExpandableListPosition(position);final int groupPosition = ExpandableListView.getPackedPositionGroup(packedPosition);原创 2017-11-15 10:02:09 · 516 阅读 · 0 评论 -
android TextView 使用SpannableString数据源时,TextView的maxLines和ellipsize失效
有个需求,需要可以点击TextView的一部分,这时候就要用到SpannableString结合使用ClickableSpan来实现了,但是当TextView 使用SpannableString数据源时,就会遇到TextView的maxLines和ellipsize失效,所以遇到坑就总结下来以免下次再遇坑根据下面的两篇,进行总结的: 1、http://blog.youkuaiyun.com/x原创 2017-11-09 16:27:42 · 2637 阅读 · 1 评论 -
Android图片加载框架Glide用法及一些使用心得
Glide 的图片加载库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app,已经有三年了,郁闷的我最近才开始研究,好的东西经过了时间的考研,Glide和Picasso有90%的相似度,准确的说,就是Picasso的克隆版本。但是在细节上还是有不少区别的。导入Picasso和Glide都在jcenter上。在项目中添加依赖非常简单:转载 2017-09-22 11:12:56 · 1082 阅读 · 0 评论 -
Android TextView实现不同字体颜色并添加点击事件
SpannableStringBuilder span = new SpannableStringBuilder((TextUtils.isEmpty(dn.getCreaterName()) ? "" : dn.getCreaterName())+":"+dd); span.setSpan(new ClickableSpan() {原创 2017-09-05 09:50:08 · 976 阅读 · 0 评论 -
Android观察者模式NotificationCenter,可以试试替换BroadCastReceiver
1、NotificationCenterNotificationCenter是一个单例类,即与Director类一样。它主要用来管理订阅/发布消息的中心。单例类的使用:通过 NotificationCenter.getInstance() 来获取单例对象。它有三个核心函数和一个观察者数组: 订阅消息: addObserver()。订阅感兴趣的消息。 发布消息: postNotifica原创 2016-08-30 15:32:17 · 1557 阅读 · 0 评论 -
Android 实现QQ第三方登录
Android 实现QQ第三方登录转载请加地址:http://blog.youkuaiyun.com/jing110fei/article/details/39159491在项目中需要实现QQ第三方登录,经过一番努力算是写出来了,现在总结以下,以防以后遗忘,能帮到其他童鞋就更好了。首先肯定是去下载SDK和DEMOhttp://wiki.open.qq.com/wiki/mobile/S转载 2014-12-19 14:30:29 · 1271 阅读 · 0 评论 -
Android广播机制
1.Android广播机制概述Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器)。广播作为Android组件间的通信方式,可以使用的场景如下:1.同一app内部的同一组件内的消息通信(单个或多个线程之间);2.同一app内部的不同组件之间的消息通信(单个进程);3.同一app具有多个进程转载 2016-08-24 18:01:26 · 279 阅读 · 0 评论 -
android 数据库的操作总结
//创建数据库,数据库名称为mydata.dbDatabaseHelper dbHelper = new DatabaseHelper(MyActivity.this, "mydata.db");SQLiteDatabase db = dbHelper.getReadableDatabase();public class DatabaseHelper extends SQLit转载 2015-01-12 09:42:31 · 603 阅读 · 1 评论