
Android
little-mouse
这个作者很懒,什么都没留下…
展开
-
打release包出错
打包失败出现以下提示:Gradle build finished with 101 error(s) in 1m 35s 424ms19:23:50 Generate Signed APK: Errors while building APK. You can find the errors inthe ‘Messages’ view.在build.gradle文件里加上这样的一...原创 2020-01-14 10:34:41 · 472 阅读 · 0 评论 -
ScrollView嵌套RecyclerView时只显示一行元素
有时候在ScrollView中嵌套RecyclerView会发现RecyclerView只显示一行元素,这可能是Android的一个bug,解决方法是在RecyclerView外层套一层RelativeLayout。并设置android:nestedScrollingEnabled="false"<RelativeLayout android:la...原创 2020-01-09 15:09:59 · 764 阅读 · 0 评论 -
隐式启动Activity以及Intent.resolveActivity的使用
打开Activity的方式打开Activity可以分为显式和隐式两种,显式调用需要明确地指定被启动对象的组件信息,比如包名和类名。隐式调用的规则1.隐式调用的核心:Intent可以匹配目标组件的IntentFilter中设置的过滤信息。这里,目标组件就是要启动的Activity,IntentFilter表示意图过滤,也被称为过滤列表。2.匹配过滤列表,就是匹配IntentFilter中...转载 2020-01-03 14:58:38 · 7535 阅读 · 0 评论 -
ImageView设置图片的方式
一:在xml里面设置设置前景:android:src=”@drawable/xxx”设置背景:android:background=”@drawable/xxx”二:在java里面的设置前景的方式包括:setImageResource,setImageDrawable,setImageBitmap。在xml里面设置实际上和在ja...原创 2020-01-03 14:23:59 · 731 阅读 · 0 评论 -
okhttp封装
原创 2020-01-03 13:43:13 · 199 阅读 · 0 评论 -
应用安全评测报告
应用安全评测报告下来了,做出对应修改原创 2019-12-26 19:04:44 · 412 阅读 · 0 评论 -
上架各个应用商店所需资料
之前没有整理过,现整理一下:软著 ipc域名备案 软件授权承诺书(华为要求)icon512*512px,图片格式:PNG,小于1M 直角和圆角的都要,圆角半径弧度:70PX16*16图片格式:PNG预览图竖屏规格:1080*1920480*800 各四张 png格式图片宽和高比例 1:2 (三星特殊要求 也是4张)(360)请去除截...原创 2019-12-23 19:16:50 · 975 阅读 · 0 评论 -
客服功能
不集成即时通讯,跳转qq推广号,巧妙应对客户需求。原创 2019-12-23 18:14:28 · 234 阅读 · 0 评论 -
从浏览器下载安装打开后点击home键退到后台再从桌面点击图标进入APP必定从启动页启动!(测试包是内网下载地址下载的)
2019/11/27没做处理的应该都会有以下问题:从浏览器下载安装打开后点击home键退到后台再从桌面点击图标进入APP必定从启动页启动!这种情况,退出App后再重新进入就么得了。一个是installer启动,一个是launcher启动。你退出后再次进入就是launcher启动了,就么得问题了因为系统安装器启动app和桌面启动app是两个不同的启动入口会导致Activity启动进入不同的任...原创 2019-11-27 10:09:02 · 750 阅读 · 0 评论 -
"INSTALL_FAILED_DUPLICATE_PERMISSION "错误解决
背景:直接复制老项目代码,新建新项目使用ide安装的时候,会提示:"INSTALL_FAILED_DUPLICATE_PERMISSION "错误解决使用terminal安装的时候,会提示:D:\ProjectsAiShu\LianShangYunShang\app\build\outputs\apk\release>adb install lian_v1.5.8_2019-...原创 2019-10-28 15:52:14 · 16447 阅读 · 0 评论 -
app启动优化
https://juejin.im/post/5d95f4a4f265da5b8f10714b转载 2019-10-21 10:41:24 · 202 阅读 · 0 评论 -
Android文件操作路径详解
1:内部存储 data文件夹就是我们常说的内部存储,当我们打开data文件夹之后(没有root的手机不能打开该文件夹) data下还有许多文件夹 一个文件夹是app文件夹,app文件夹里存放着我们所有安装的app 的apk文件 还有一个文件夹就是data文件夹,这个里面装的就是应用的数据信息 1.data/dat...原创 2019-10-18 18:30:35 · 611 阅读 · 0 评论 -
获取当前进程号和当前进程名
获取当前进程号和当前进程名int pid = Process.myPid();//import android.os.Process不然会报错! String processName = ""; ActivityManager activityManager = (Acti...原创 2019-10-18 18:26:59 · 260 阅读 · 0 评论 -
安卓应用图标和开机启动页大小
正文icon图标尺寸:drawable-ldpi-icon 36*36 drawable-mdpi-icon 48*48 drawable-hdpi-icon 72*72 drawable-xhdpi-icon 96*96 drawable-xxhdpi-icon 144*144 drawable-xxxhdpi-icon 192*192启动页:横屏 宽×高drawab...原创 2019-10-18 18:24:58 · 5136 阅读 · 1 评论 -
设置头像,手机拍照或从本地相册选取图片作为头像
像微信、QQ、微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式:1.让用户启动手机的相机拍照,拍完照片后裁剪,然后作为头像。2.让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像。遇到的难点:1.版本大于7.0,图片的路径是必须被封装了的,使用FileProvider内容提供器,将被封装过的URI共享给外部,FileProvider中的getUriF...原创 2019-10-16 15:35:06 · 1752 阅读 · 0 评论 -
如何使用arr
接入支付宝支付功能时遇到的:在Android Studio 项目里面引入xxx.aar包,主要有以下几个步骤:将目标aar文件,例如lyx-library-1.0.3.aar文件,复制粘贴在工程的app/libs/目录下。在app目录下的build.gradle文件中添加以下代码:android { repositories { flatDir { ...原创 2019-10-15 14:49:08 · 852 阅读 · 0 评论 -
布局保存成为图片-MyDrawableHelper.java
package com.horn.utils;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawab...原创 2019-10-14 11:41:00 · 239 阅读 · 0 评论 -
Android 实现中文按拼音排序方法
难点:汉字转为拼音。https://github.com/promeG/TinyPinyin是首先获取的Bean对象:for (int i = 0; i < dataList.size(); i++) {//将汉字转化为拼音,并以“,”隔开 如:北京市 -> BEI,JIN,SHIString s = Pinyin.toPinyin(dataList.get(i)...原创 2019-07-30 21:46:44 · 1435 阅读 · 0 评论 -
handler使用不当,内存泄漏
原因讲解2.1 储备知识主线程的Looper对象的生命周期 = 该应用程序的生命周期 在Java中,非静态内部类 & 匿名内部类都默认持有 外部类的引用2.2 泄露原因描述从上述示例代码可知:上述的Handler实例的消息队列有2个分别来自线程1、2的消息(分别 为延迟1s、6s) 在Handler消息队列 还有未处理的消息 / 正在处理消息时,消息队列中的Mess...转载 2019-07-30 22:26:23 · 196 阅读 · 0 评论 -
获得屏幕的宽度和高度
测试手机的屏幕分辨率 2960*1440//0、通过WindowManager获取 方法0已经废弃了!Display display = getWindowManager().getDefaultDisplay();int width = display.getWidth();int height = display.getHeight();//width = 144...原创 2019-08-05 21:03:52 · 1187 阅读 · 0 评论 -
EditText在手机弹出的软键盘中,将回车键变为搜索键和点击搜索键时,执行2次搜索解决
在手机弹出的软键盘中,回车键变为搜索键。1、修改EditText属性:<EditText android:id="@+id/et_search" android:layout_width="100dp" android:layout_height="25dp" android:textSize="12sp" android:hint="请输入...转载 2019-07-30 21:13:49 · 482 阅读 · 0 评论 -
Bundle传值,判断某一对(k,v)是否存在
A_Activity 分情况通过intent携带bundle,传到B_Activity:Intent intent = new Intent(A_Activity.this, B_Activity.class);Bundle bundle = new Bundle();bundle.putSerializable("bean1", bean1);intent.putExtras(bun...原创 2019-07-30 20:15:06 · 1280 阅读 · 0 评论 -
TextView设置行间距、行高,以及字间距
一. 设置TextView行间距、行高:Android系统中TextView有默认行间距,但是比较窄有的时候需要我们设置每行行间距。TextView为我们提供了相关设置属性android:lineSpacingExtra或android:lineSpacingMultiplier。在xml文件设置:1、android:lineSpacingExtra设置行间距,如”10dp”。...转载 2019-07-21 10:14:31 · 2253 阅读 · 0 评论 -
View事件分发机制与滑动事件冲突的解决(外部拦截法)
MotionEvent事件初探我们对屏幕的点击,滑动,抬起等一系的动作都是由一个一个MotionEvent对象组成的。根据不同动作,主要有以下三种事件类型:1.ACTION_DOWN:手指刚接触屏幕,按下去的那一瞬间产生该事件2.ACTION_MOVE:手指在屏幕上移动时候产生该事件3.ACTION_UP:手指从屏幕上松开的瞬间产生该事件从ACTION_DOWN开始到ACTION_U...转载 2019-07-24 22:24:07 · 515 阅读 · 0 评论 -
Android 设置android:clipToPadding的效果
系统默认:android:clipToPadding=true主要用途:常常用于paddingTop,假设 内部有个属性设置了PaddingTop但是滑动的时候就忽视paddingTop的 则使用该属性 如设置android:clipToPadding=false:<?xml version="1.0" encoding="utf-8"?><LinearLayout x...原创 2019-10-09 13:59:16 · 778 阅读 · 0 评论 -
Radiobutton的样式自定义
Radiobutton的样式自定义无非就是style,然后在radiobutton中引用。在style里面有相关属性:background 来设置radiobutton的背景button 来设置radiobutton的小框框, 当为null的时候,左边的按钮图片了textcolor 来设置radiobutton的文字颜色自定义的...原创 2019-05-23 11:41:25 · 9759 阅读 · 0 评论 -
ImageView加载本地图片资源
看了网上一些对于本地路径图片的读取,总结了两个小方法通过将图片路径转换成为bitmap 或者uri,将然后设置到控件上。1>或者将图片路径转化成Bitmap对象String s = Environment.getExternalStorageDirectory().getAbsolutePath() + "/downdown/123.jpg";Bitmap bitmap = Bi...原创 2019-08-08 22:15:24 · 5694 阅读 · 0 评论 -
json解析处理转移字符
//Java中把 " 替换为 \" String message="\"book\""; System.out.println(message); message=message.replaceAll("\"","\\\\\""); ...原创 2019-09-02 21:12:20 · 552 阅读 · 0 评论 -
接口文档规范的重要性
接口文档规范的重要性原创 2019-09-03 11:30:36 · 1501 阅读 · 0 评论 -
8.0还可以接受的隐式广播
隐式广播例外作为Android 8.0(API级别26)后台执行限制的一部分,针对API级别26或更高级别的应用程序无法再在其清单中为隐式广播注册广播接收器。但是,目前有几个广播免于这些限制。无论应用程序所针对的API级别如何,应用程序都可以继续为以下广播注册监听器。注意:即使这些隐式广播仍然在后台工作,您应该避免为它们注册侦听器。ACTION_LOCKED_BOOT_COMPLETE...翻译 2018-12-26 15:53:30 · 1274 阅读 · 0 评论 -
android7.0上新特性--(快捷方式) App shortcuts overview
先上官网了解一波https://developer.android.google.cn/guide/topics/ui/shortcuts?hl=enShortcuts是什么?Shortcuts是指在桌面长按App图标而出现的快捷方式,可以为你的App的关键功能添加更快速的入口而不用先打开App。Shortcuts分类及使用场景:静态快捷方式 动态快捷方式 固定快捷方式...原创 2019-10-11 15:29:49 · 208 阅读 · 0 评论 -
ViewGroup中clipChildren属性的用法
来自ViewGroup中的属性clipChildren用于定义一个子元素是否被限制在其父元素中进行绘制。通常用于动画效果中绘制需要超出原有尺寸限制的元素时使用。在这种情况下,需要将该属性值设置为false以确保该元素可以超出边界。缺省值为true,也即子元素不可以超出父元素的边界。需要重点注意的是,属性值clipChildren需要被设置到爷爷节点上。以下为布局的示例:<L...原创 2019-10-09 13:54:13 · 544 阅读 · 0 评论 -
禁止Edittext弹出系统软键盘 的几种方法
第一种方法:EditText的父布局中添加android:focusable="true" android:focusableInTouchMode="true"第二种方法:直接关闭输入法在onCreate中加上:getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDE...原创 2019-09-27 10:57:48 · 967 阅读 · 0 评论 -
懒汉界面处理
界面处理方案:1: 主Activity2: 主Activity +三个Fragment+搜索Activity原创 2019-09-19 15:36:29 · 119 阅读 · 0 评论 -
DataBinding
DataBinding入门与元素类型 "variable" 相关联的 "type" 属性值不能包含 '<' 字符。xml不能使用<应该用它的转义字符比如,<<import type="android.util.SparseArray"/><import type="java.util.Map"/><import ty...原创 2019-09-05 21:28:45 · 168 阅读 · 0 评论 -
懒汉报错--FileProvider冲突
C:\AndroidStudioProjects\LanHan\app\src\main\AndroidManifest.xml:568:9-55 Error: Attribute provider#android.support.v4.content.FileProvider@authorities value=(com.lanHans.FileProvider) from Androi...原创 2019-09-03 18:10:18 · 1048 阅读 · 0 评论 -
使用Glide加载图片 不显示
java.io.FileNotFoundException: No content provider:{ "code": 1, "data": [{ "beginTime": "2019-09-03 15:19:15", "contactPhone": "18557535931", "contactor": "root",...原创 2019-09-03 16:57:08 · 1213 阅读 · 0 评论 -
android 8.0静态注册的隐式广播接收不到
先说解决方法吧:(1)使用动态广播代替静态广播。(2)保留原来的静态广播,但是加入组件参数。(3)发送广播的时候携带intent.addFlags(0x01000000);即能让广播突破隐式广播限制。 在Android 8.0的平台上,应用不能对大部分的广播进行静态注册,也就是说,不能在AndroidManifest文件对有些广播进行静态注册,这里必须强调是有些广播,因...原创 2018-06-28 09:50:15 · 3639 阅读 · 0 评论 -
Activity四种启动模式及应用场景
面试的时候科大讯飞的一个面试官问我Activity的启动模式和具体的应用模式;我也一想是啊,平时不太注意,只知道有这几个启动模式,结果到了关键的时刻卡壳了,做个记录:一、Activity四种启动模式:(一)、基本描述standard:标准模式:如果在mainfest中不设置就默认standard;standard就是新建一个Activity就在栈中新建一个activity实例;si...原创 2019-03-29 10:47:18 · 3820 阅读 · 0 评论 -
图片加载库系列:Glide
Glide,就像 Picasso,可以从多个源去加载和显示图片,同时也兼顾缓存和在做图片处理的时候维持一个低内存消耗。它已经在 Google 官方 APP (如 Google 2015开发者大会的应用程序)中使用了,就和 Picasso 一样受欢迎。从一个 URL 中加载图片就像 Picasso, Glide 库是使用流接口(fluent interface)。对一个完整的功能请求,Gli...转载 2019-03-29 00:01:29 · 149 阅读 · 0 评论