Android
文章平均质量分 57
Y X L
这个作者很懒,什么都没留下…
展开
-
手机屏幕的DPI和PPI有什么区别?
指每英寸长度上的点数。DPI又可细分为水平分辨率和垂直分辨率,例如一张1英寸x1英寸的图片,如果它的水平分辨率是100dpi,垂直分辨率是50dpi,那么就是说,它水平方向每英寸分成100小段,垂直方向每英寸分成50小段,就像米尺上的一格格那样。有很多人将二者混为一谈,错把PPI的计算方法当成DPI的计算方法,这显然是不对的,一般消费者根本不能分清两者的概念,网上关于手机DPI的解释又很少,所以有些商家会故意选用数字大的参数标出,当然也不排除某些网站在参数标注时出现概念混淆的情况。转载 2023-06-27 11:21:36 · 1747 阅读 · 0 评论 -
Android存储之分区存储适配
1.简介Android 存储分为内部存储(Internal storage)和外部存储(External storage)。有许多用户认为外部存储意味着SD存储卡或外部硬盘,这是完全错误的认识。内部存储内部存储是用于存储Android系统本身和应用程序的存储区域,Android设备中的Android系统和应用程序都是存在该内部存储区,例如手机的/system/目录、/data/等目录。如果没有这一块存储区域是无法运行Android系统和应用程序的。转载 2022-12-19 18:37:52 · 650 阅读 · 1 评论 -
vivo和oppo通知权限弹窗
在vivo和oppo部分手机上,首次安装app时,会弹出一个系统级的通知权限弹窗,(部分一加手机也会出现,是因为一加手机使用了OPPO的colorOS系统。这个通知权限弹窗比较坑,一来可能不符合产品对通知权限处理的逻辑;二来很可能会弹窗app的用户隐私协议弹窗。,开发者目前没有办法处理这个弹窗,厂商后续可能会提交相应的api。如果有同学有好的办法处理这个通知权限弹窗,欢迎评论交流。原创 2022-11-17 12:52:12 · 1360 阅读 · 0 评论 -
关于微信开发者平台移动应用(android)获取签名问题
关于微信开发者平台移动应用获取签名问题原创 2022-10-12 13:10:20 · 990 阅读 · 0 评论 -
Android 隐藏状态栏
Android 隐藏状态栏原创 2022-09-27 14:53:39 · 4264 阅读 · 0 评论 -
Android Studio 设置右侧Gradle面板中Tasks显示/隐藏
AndroidStuido Gradle面板中Tasks显隐原创 2022-09-21 21:07:47 · 1098 阅读 · 1 评论 -
Android项目 生成签名证书指纹
生成签名证书指纹 SHA256指纹原创 2022-09-21 20:42:22 · 1567 阅读 · 0 评论 -
mac adb命令报错“zsh: command not found: adb”
adb配置原创 2022-06-14 13:13:17 · 1143 阅读 · 0 评论 -
应用是非正式发布版本, 当前设备不支持安装。
今天后端同学要个安装包想体验下,结果apk发过去后,提示不能安装,具体报错如下。出现这个问题是因为Android Studio 3.0开始会在debug apk的manifest文件 application标签里自动添加 android:testOnly="true"属性。该属性导致在IDE中使用Run生成的apk在大部分手机上只能用adb install -t 来安装。如果使用apk直接安装就会报这个错误。解决办法:在gradle.properties 文件中添加如下指令:android.in原创 2022-02-10 11:17:42 · 4808 阅读 · 0 评论 -
对系统日历的日程进行增删改查等操作【android】
因为业务需求,需要获取系统日历的日程信息,并进行一定的增删改查操作,所以对这块进行了一些调研。这个知识点不难,但是比较冷僻,所以如果有个参考文章,研究起来比较方便点。如果有错漏的地方,欢迎指出,我们一起探讨。本文参考的是Android原生API和对Android手机系统日历数据增删改查操作详解,相关代码写了个Demo,Demo App的地址。日历提供程序是用户日历事件的存储区。您可以使用 Calendar Provider API,对日历、事件、参加者、提醒等执行查询、插入、更新和删除操作。一、相关知原创 2022-01-21 17:11:39 · 2600 阅读 · 0 评论 -
ARouter there‘s no route matched 解决办法
使用ARouter进行mudole内部或者module之间进行跳转的时候,如果出现ARouter there’s no route matched!报错,那大概率是自己的配置出现的问题,这里总结一下常见几个坑:1.这个是ARouter的使用文档大家可以先对着文档检查一下自己的配置;注意,每一个module 都要添加下图的配置依赖:2.第二点ARouter要初始化,在宿主module(第一个运行的Module)的applaction中初始化ARouter即可;3.path路径至少需要有两级,/xx/原创 2021-11-24 10:33:37 · 3839 阅读 · 0 评论 -
Android WebView隐藏H5页面的部分内容
一:需求产品突然提出个需求,想去掉一个H5页面中的一段文案,避免用户点击创建新账户,如下图。这个H5页面不是我们自己写的,要不然在H5中添加一个去掉这段文案的方法,在native这边直接调用这个方法就OK了,但是这个H5页面是别人的,怎么处理呢?二:思路webview不仅可以加载网页,同时网页的任何元素我们都是可以修改的。例如隐藏元素、替换元素、插入新的元素等等。那现在我们要做的就是:在J...原创 2020-04-16 11:19:53 · 939 阅读 · 0 评论 -
switch case 语句问题 (Duplicate branch in 'switch')
在android开发中使用switch case 时 , 如果有警告提示 Duplicate branch in 'switch' , 这个意思是说有两个case中的模块代码是相同的 , 没有必要把两个case分开写 , 可以放到一块 . 这是一个警告 , 不放一块写也可以 . 但是最好还是写一块 , 这样逻辑清晰 , 代码简约 , 而且不会有警告提示 .怎么写一块呢? 这个有个容易犯错的地方 ...原创 2019-11-28 16:05:31 · 13653 阅读 · 1 评论 -
TextView的点击效果---文字颜色改变
根据不同的需求 , 有时候当TextView被点击时 , 希望字体颜色改变 , 而不是背景色改变 . 先展示一下效果图:布局文件: <TextView android:layout_marginLeft="10dp" android:id="@+id/tv" android:textColor="@drawable/btn_bg"原创 2017-07-22 18:07:17 · 619 阅读 · 0 评论 -
枚举作为常量用法的案例
Java 枚举(enum) 常见的有7种用法 , 具体有哪七种用法可以参考Java 枚举(enum) 详解7种常见的用法转载 2018-12-06 10:39:46 · 1001 阅读 · 0 评论 -
含有多个按钮的自定义控件
先展示效果图: 根据不同的需求,可以含有N个按钮. 主要是为自己总结用的,所以不做详细阐述 , 感兴趣的可以下载代码. 代码地址:https://github.com/YongXiangLi/CustomButtonLayout原创 2017-12-11 19:06:32 · 376 阅读 · 0 评论 -
android中跑马灯效果的实现
android中常见的跑马灯效果实现的代码以及思路分析有些童鞋想用TextView实现跑马灯的效果 , 代码如下:<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="marquee"原创 2017-04-30 16:50:43 · 1668 阅读 · 2 评论 -
当点击一个View时,显示下面隐藏的一个View(折叠的动画效果)
先写一个简单的布局 , 用于点击和隐藏 , 如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" andro原创 2017-05-06 13:45:05 · 6030 阅读 · 1 评论 -
Android中自定义Shape小结
在开发中,我们经常会去用到Shape去定义各种各样的形状,很多时候是作为背景使用的 . 这里就作为TextView的背景来逐个展示shape的一些属性 . solid 一般是填充颜色 使用方式 : <solid android:color="#00ffff"/> 使用效果 : 如图一所示的填充颜色stroke 描边 使用方式 : <stroke android:width原创 2017-05-10 13:51:24 · 663 阅读 · 0 评论 -
Android 自定义有边框的背景选择图片
代码:原创 2017-05-19 13:21:39 · 604 阅读 · 0 评论 -
Android中TextView滚动显示信息的效果
废话少说 , 先展示下效果图: 图一是只有一条信息时 , 不滚动展示 ; 图二是有多天信息时 , 滚动展示信息. 图一 图二代码如下:☆☆☆自定义控件的代码:package com.eg.lyx.ctsscrolltextview;import android.content.Context;import android.graphics.Color;import android.text.原创 2017-05-27 17:10:52 · 2048 阅读 · 3 评论 -
Android中按比例显示的布局
布局的宽高按设置的比例展示 , 先给效果图: 自定义控件代码:package com.eg.lyx.dateutil;import android.content.Context;import android.content.res.TypedArray;import android.util.AttributeSet;import android.widget.RelativeLayo原创 2017-06-29 10:38:49 · 1142 阅读 · 0 评论 -
将ReadableArray转化成List
需求场景: 当用android封装一个UI组件给ReactNative使用, ReactNative端传递一个数组给android组件时 , android这边在接受数据时要使用ReadableArray对应js中的数组 , 要将ReadableArray转化成android中可以识别的集合 , 然后才可以使用 .注意 : 此案例使用的Json解析框架是FastJson具体代码:@Reac...原创 2019-02-21 17:06:20 · 2365 阅读 · 5 评论 -
ViewPager滑动方向
根据业务需求 , 有时候需要知道viewpager是向左滑动还是向右滑动 .思路 : onPageScrolled()三个参数:position代表ViewPager的下标,如果向左滑动position的值等于ViewPager当前下标,如果向右滑动position的值等于ViewPager当前下标减1(也就是上一页的下标),既然我们知道了position的值,我们就可以拿ViewPager.g...原创 2019-02-25 17:00:51 · 1872 阅读 · 0 评论 -
Android中的接口回调
在Android中到处可见接口回调机制,尤其是UI事件处理方面。举一个最常见的例子button点击事件,button有一个点击方法onClick(),我们知道onclick()是一个回调方法,当用户点击button就执行这个方法。在源码中是这样定义的: //这个是View的一个回调接口 /** * Interface definition for a callback转载 2017-06-12 10:52:54 · 627 阅读 · 0 评论 -
Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath'
在build.gradle(project)中加入mavenCentral()就没问题了,当然前提是要把gradle的offline禁用掉,不然会报一个无法下载.jar包的错误 .转载 2019-09-17 15:01:27 · 313 阅读 · 0 评论 -
比较Fragment中获取Context对象的两种方法
我们在使用Fragment的时候经常需要传递Context类型的参数,而Fragment自己又不是一个Context类型的对象,于是我们有下面两种方法获取Context对象。一、两种方法介绍1.this.getActivity()(可以不写this.)在Fragment中直接调用getActivity()方法,可以直接得到Fragment依附的Activity,而Activity是一个Con...转载 2019-07-12 11:38:46 · 1518 阅读 · 0 评论 -
Android项目.gitignore文件的配置
一、配置 .gitignore的原因被加进“.gitignore”的表示不会被Git跟踪,在实际开发过程中,有很多因素导致有些文件不应该加入版本控制中,如:不同的电脑,开发软件的版本不同,以及软件的一些配置不同,还有编译生成的文件等等~~并且在开发过程中会遇到很多冲突,因此就需要对“.gitignore"文件进行好好的配置。二、几个关键符号以及语法解释:1、#:用#来注释语句,在#后面的内...原创 2019-06-24 16:48:34 · 1230 阅读 · 0 评论 -
调整SwipeRefreshLayout触发(开始)下拉刷新的距离
SwipeRefreshLayout和ViewPager一起使用的时候,事件处理上会有冲突,比如当你想要左右滑动的时候,但是因为角度稍微斜了一些,极有可能导致ViewPager没有滑动起来,却触发了SwipeRefreshLayout的刷新动画。解决这个问题的思路就是继承SwipeRefreshLayout,在OnInterceptTouchEvent函数中拦截处理 , 增加触发下拉刷新的高度 ,...原创 2019-06-03 12:26:07 · 1119 阅读 · 1 评论 -
使用adb命令安装apk到手机
第一步让真机与电脑相连 , cmd打开dos命令窗口 ( 打开cmd的快捷键是Windows + R ) .第二步输入adb devices 查看手机与电脑是否连接成功 ,能看到设备信息就代表设备已经连接成功了.第三步紧接着就可以安装apk了 . 首次要知道自己的apk放在哪个盘符的文件里了 . 比如我的apk放在E:\data里.进入apk文件所在的目录:输入...原创 2019-06-13 14:28:53 · 21899 阅读 · 4 评论 -
Android 画三角形shape
正三角形: <?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/shape_id"> <!-- 正三角 --&...转载 2019-05-09 17:00:07 · 2387 阅读 · 0 评论 -
如何让CoordinatorLayout内容滚动到顶部?
我们在使用MaterialDesign中CoordinatorLayout控件的时候,有时会碰到这样的需求,就是让CoordinatorLayout里面的内容重新滚动到顶部。百度和google了一番,都没发现有人提出这样的问题和对应的解决方案,只好自己去看源码了。>–<功夫不负有心人,解决方案如下:以AppBarLayout被包在CoordinatorLayout里面为例:Co...转载 2019-05-09 16:53:54 · 1780 阅读 · 0 评论 -
设置ImageView中图片的的颜色
根据需要 , 有时需要动态修改ImageView中图片的颜色 . 注意是修改ImageView中图片的颜色 , 而不是修改ImageView的背景色 .布局文件xml中修改:就一个属性: android:tint="#ff0000"用代码动态修改颜色 , 这也是最常用到的.imageView.setColorFilter(Color.RED);注意 : imageVie...原创 2019-02-25 21:01:54 · 2161 阅读 · 0 评论 -
Android中半圆形背景
先展示效果图: 代码:<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <corners android:radius="30dp" />原创 2017-07-26 11:47:41 · 3035 阅读 · 0 评论 -
Android中圆环形背景图
先展示效果图:代码:<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" android:useLevel="false"> <solid andro原创 2017-08-02 15:59:53 · 2540 阅读 · 0 评论 -
Android五种数据传递方法汇总
1. 利用Intent对象携带简单数据利用Intent的Extra部分来存储我们想要传递的数据,可以传送String , int, long, char等一些基础类型,对复杂的对象就无能为力了。1.1 设置参数 //传递些简单的参数 Intent intent1 = new Intent(); intent1.s...转载 2018-08-09 21:57:13 · 19769 阅读 · 1 评论 -
android studio关于真机调试DDMS中的data文件夹打不开的解决方法
在开发用到SQLite的时候,想要查看数据库存放的内容,在android studio中打开DDMS下面找时发现点击data下拉按钮没有任何反应(如图),经过查询发现是权限问题,需要修改文件的权限 , 解决方案有两种: 方案一:这种方案也是比较简单的,就是代码在模拟器上运行(这个问题一般只在真机上出现),此时data文件夹可以打开,如果使用方案二,会涉及到手机root的问题,要先root手...原创 2018-03-02 15:01:37 · 473 阅读 · 0 评论 -
Android中资源文件String字符串拼接
一般我们的字符串资源文件都是放在values/strings.xml文件中,我们常用的方式如下: res/values/strings:<resources> <string name="app_name">Demo</string> <string name="tv_content">文本内容</string></resources>xml文件中使用方式: <Text原创 2017-10-29 11:22:50 · 4927 阅读 · 1 评论 -
Android 里的数据储存
关于数据储存,这个话题已经被反复讨论过很多次了,我是不建议把网络存储这种方式纳入到数据储存的范围的,因为这个和Android没多少关系,因此就有如下的分类:本地储存(也称之为数据持久化,包含文件储存,SharedPreferences,SQLite储存和ContentProvider(内容提供者));内存储存(静态变量、全局变量存值).适用场景 如果app内有些数据是需要使用到上次该app关转载 2017-10-19 14:37:07 · 308 阅读 · 0 评论 -
VideoView播放视频是出现黑边的问题
问题描述:在使用VideoView播放视频文件时,如果视频的分辨率较小就会出现视频跑偏(不在屏幕中央等情况)可以通过重写VideoView来解决该问题;public class CtsCustomVideoView extends VideoView { public CtsCustomVideoView(Context context) { super(context, nu原创 2017-09-30 10:09:23 · 1502 阅读 · 0 评论