![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
andorid
liuxiaopang520
打好dota,撸好代码!
展开
-
Android Google登录接入
https://developers.google.com/identity/sign-in/android/start-integrating?hl=zh-cn配置 Google API 控制台项目需要使用google开发者账号,创建项目,在项目中根据包名和SHA1值创建应用。控制台: https://console.cloud.google.com/apis/credentials?hl=zh-cn代码3.1 获取GoogleSignInClient 对象3.2 登录3.3 登出3.原创 2022-06-28 19:47:53 · 4094 阅读 · 1 评论 -
Retrofit动态设置baseUrl和@url的使用
一. Retrofit动态设置baseUrl有四种方式:配置多个retrofit对象:即不同的 BaseUrl 使用不同的 Retrofit 对象来创建 ApiService 进行请求,这样只要新增一个不同的 BaseUrl ,那就需要重新创建一个新的 Retrofit 对象。缺点:代码冗余,浪费资源,ApiService太多,不好管理。@Get , @Post 全路径:这些标注到每个接口方法上的注解不仅可以传相对路径,还可以传全路径,这样我们就可以做到不同的接口使用不同的 BaseUrl ,使用全原创 2022-01-13 23:23:45 · 13779 阅读 · 0 评论 -
TextView实现水平滚动
当TextView的文字过长时,我们可以设置文字的显示方式。”start”—–省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动)使用marquee模式时还需要设置以下几点才能起作用:1.android:singleLine=“true”2.控件需要获取焦点,一般使用.setSelected(true)方法,这样可以动态的设置是否滚动。猜测是控件获取焦点后才能滚动最后可以设置滚动次数,这里是无限滚原创 2021-11-10 09:55:02 · 2830 阅读 · 0 评论 -
Android扩大ImageView的点击范围
开发时,我们经常使用ImageView显示图片,然后设置点击事件,但是会碰到一种情况,就是当图片很小时ImagView的点击区域很小,用户不容易点击到某个ImageView,那么我们怎么样在不改变图片大小的情况下,扩大ImageView的点击区域呢?通常情况下ImageView的布局写法: <ImageView android:background="@mipmap/ic_launcher" android:layout_width="wrap_content原创 2021-03-25 10:09:12 · 1297 阅读 · 0 评论 -
greendao数据库升级防止数据丢失
greendao配置好后,每次新增字段或者修改字段就会报错,提示字段不存在。以前总是删除app或者删除数据库重新初始化,但是这样就会导致原数据丢失。 要做到新增修改字段后,原数据不丢失需要使用greendao数据库的升级功能,其原理就是设置数据库版本号,根据数据库版本号判断数据库是否升级,当数据库升级的时候将老版本数据库的数据全部导入到新版本的数据库。 实现greendao数据库升级原数据不丢失,需要4个步骤: 1.自定义DaoMaster.DevOpenHelper类,这里我们自定义类继承原创 2020-08-21 15:39:07 · 683 阅读 · 0 评论 -
SpannableString的使用
//创建一个SpannableString对象 SpannableString sStr = new SpannableString("您好,在您使用本应用前,请您认真阅读并了解《用户协议》和《隐私政策》。点击同意即表示已阅读并同意全部条款。");/** * Spanned.SPAN_INCLUSIVE_EXCLUSIVE 从起始下标到终了下标,包括起始下标Spanned.SPAN_INCLUSIVE_INCLUSIVE 从起始下标到终了下标,同时包括起始下标和终了下标Spanned.SPA.原创 2020-08-12 17:16:31 · 146 阅读 · 0 评论 -
AndroidStudio生成签名文件失败时提示 key was created with errors JKS密钥库使用专用格式
当使用AndroidStudio生成签名文件失败时提示key was created with errorsJKS密钥库使用专用格式。建议使用"keytool -importkeystore -srckeystore /Users/dxn/Desktop/test.jks -destkeystore /Users/dxn/Desktop/test.jks -deststoretype pkcs12"迁移到行业标准格式PKCS12。上面错误提示的意思是Android希望我们将密钥从JKS专有格式迁移到PK原创 2020-08-12 17:13:07 · 2378 阅读 · 0 评论 -
获取当前连接的蓝牙设备的名称
首先需要在清单文件添加权限: <!-- 蓝牙权限 --> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />获取当前连接蓝牙设备名称需要先获取已绑定或已匹配的蓝牙列表,然后再一个一个判断是否在连接状态,但是因为android现在将获原创 2020-08-12 17:02:05 · 5615 阅读 · 2 评论 -
android 8.0系统创建文件夹失败
8.0出来后一直没有用过,最近的几个项目集中性的反馈了几个8.0手机的bug,直到今天公司弄来了一台8.0的手机,终于可以真机调试一下。发现问题很简单,就是创建文件夹失败,mkdir()返回false。可是我明明申请了权限的,也做了6.0以上系统动态申请权限的判断。 if (Build.VERSION.SDK_INT >= 23 && checkSelfPe...原创 2018-11-13 17:30:54 · 5088 阅读 · 0 评论 -
android studio生成和使用aar文件
生成aar步骤:1.用android studio打开一个工程,然后新建一个Module,如下图所示2.新建Module 类型为Android Library,如下图所示3.在新建的Module中编写完代码后,接下来编译整个工程后就会自动生成aar包,包的路径在新建的Module ==》 build ===》outputs ==>aar目录下。 如图使用aar步骤:1.将a...原创 2018-12-28 23:36:00 · 349 阅读 · 0 评论 -
android 获取wifi列表
获取WiFi列表方法:创建WifiManager,通过manager对象的getScanResults获取搜索到的结果,直接贴代码。 public List<ScanResult> getWifiList() { WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemSe...原创 2019-04-10 16:39:25 · 11603 阅读 · 12 评论 -
Android Studio 在调试模式下查看不了局部变量
网上搜到的都是说在gradle文件把testCoverageEnabled设为false buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguar...原创 2019-04-10 17:01:01 · 1585 阅读 · 0 评论 -
Inconsistency detected. Invalid view holder adapter positionViewHolder
原因是在进行数据移除和数据增加时,RecyclerView的Adapter中的数据集和移除/添加等操作后的数据集没有保持一致!这里,前者是在该Adapter内部,不妨叫做内部数据集,后者是开发人员传过给Adapter的,不妨叫外部数据集。更新RecyclerView数据时,需要保证外部数据集和内部数据集实时保持一致。1.使用notifyDataSetChanged同步外部数据集和内部数据集。该...原创 2019-04-10 17:28:19 · 12877 阅读 · 0 评论 -
adb指令大全
adb命令操作手机,需要手机需要开启USB调试(安全设置)1.adb命令打开手机设置页面:adb shell am start com.android.settings/cmdcmd列表:com.android.settings.AccessibilitySettings 辅助功能设置com.android.settings.ActivityPicker 选择活动com.android...原创 2019-04-10 20:50:31 · 958 阅读 · 0 评论 -
解决Mac上adb: command not found问题
转载原文地址:https://blog.csdn.net/weixin_38327562/article/details/71057276使用mac进行开发的时候,有时候需要使用adb指令来进行一些操作,但是如果没有配置过Android环境变量,可能会出现adb: command not found的问题,查了一些资料,这里记录一下mac上配置Android环境变量的方法:打开mac的term...转载 2019-04-09 22:20:59 · 156 阅读 · 0 评论 -
Android通讯录
Android中联系人的信息是通过ContentProvider来供外部应用获取的,我们使用时只需根据系统联系人ContentProvider的Uri即可获取所需数据。首先需要获取权限:在清单文件中注册相应权限, <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-...原创 2019-04-27 17:28:39 · 297 阅读 · 0 评论 -
打开相机拍摄照片onActivityResult不返回RESULT_OK
使用手机自带相机拍摄照片并存储的时候,在onActivityResult回调方法中,返回的resultCode不为RESULT_OK。在排除了调用系统相机方法的错误后,返回的resultCode还是不为RESULT_OK。最后发现照片保存的目录如果没有创建的话,会导致这个错误。这是因为我习惯将文件目录的创建放在application中,但是在6.0以上系统,是动态申请权限的,applicat...原创 2019-06-05 11:34:05 · 1510 阅读 · 0 评论 -
Android酷炫自定义控件
转载博客:https://blog.csdn.net/hudan2714/article/details/52435820来源Github:https://github.com/madongqiang2201/views阅读器Read View这一个分类,暂时叫做Read View,里面收集的都是一些方便阅读的自定义view,例如PDFView,代码高亮的Code...转载 2018-08-17 04:59:25 · 805 阅读 · 0 评论 -
Android沉浸式模式
转载至:http://blog.csdn.net/guolin_blog/article/details/51763825什么是沉浸式?先来分析一下叫错的原因吧,之所以很多人会叫错,是因为根本就不了解沉浸式是什么意思,然后就人云亦云跟着叫了。那么沉浸式到底是什么意思呢?根据百度百科上的定义,沉浸式就是要给用户提供完全沉浸的体验,使用户有一种置身于虚拟世界之中的感觉。比如说现在大热的...转载 2018-08-08 14:24:32 · 858 阅读 · 0 评论 -
从github上添加依赖出现无法解析的错误
今天从github上导入一个多线程多任务下载的开源框架,用添加依赖的方式导入后,一直报无法解析的错误,如图:弄了10分钟才弄明白是什么回事,解决起来就简单的多了,在你工程(注意是整个project)的build.gradle文件中添加一下代码即可:原创 2017-05-18 23:30:18 · 2043 阅读 · 0 评论 -
华为和魅族真机调试打印不出Log
在确定你的ADB调试桥是开启的后(默认是开启的,如果没有开启:Tools → Android → Enable ADB Integration勾上)。还打印不出Log日志那就是手机的设置问题了。1,华为手机:在你的拨号界面,请拨*#*#2846579#*#*,我们就进入了工程菜单。点击第一项,进入后台设置,很容易看到的就是LOG设置。进入LOG设置,将AP日志打钩并关闭,或者全部选中然后关原创 2017-05-10 15:31:34 · 414 阅读 · 0 评论 -
svn如何提交so文件
1.在mac电脑上,通过终端打开配置文件: open ~/.subversion/config,找到# global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo将“#”好去掉,删除“*.so”即可。2.在windows电脑上,右键桌面找到Tortoise进入Settings打开原创 2017-07-05 12:03:09 · 1300 阅读 · 0 评论 -
GridView使用笔记
最近做的项目用到的列表类控件使用GridView比较多,有些常用知识点这次用了下次又忘记了,每次搜索太麻烦了,因此写篇笔记记下来。 1. setSelector(new ColorDrawable(Color.TRANSPARENT)); 设置item点击背景透明。 2. XML布局中常用的属性 (1)android:numColumns设置列数原创 2017-08-23 22:16:04 · 228 阅读 · 0 评论 -
seekBar的分段显示
自定义seekBar的分段显示,这个以后也会用的到。下面的这个代码是自己在网上搜的(源链接:http://blog.csdn.net/lyj1005353553/article/details/77099578),然后自己把需要添加注释的代码都添加了注释,方便大家理解,自己也做了一些小改动现在可以直接拿去用,用的时候只需要在XML文件和代码中写几句代码就可以了。XML文件中配置属性 rs转载 2017-08-29 11:49:27 · 2182 阅读 · 0 评论 -
动态申请权限
在Android 6.0中,权限被分类为正常权限和危险权限: 1. 正常权限只需要在AndroidManifest.xml中申请即可。 2. 危险权限则需要单独申请。 对危险权限的处理步骤: 1. 判断当前版本并且检查是否已经授予了权限(以申请读取SD卡权限为例)//如果版本大于23并且检查是否具有读取SD卡的权限if (Build.VERSION.SDK_INT >= 23&& ch原创 2017-09-07 22:58:35 · 238 阅读 · 0 评论 -
导入工程时提示Your project path contains non-ASCII characters
今天导入新的工程时,出现: Error:(1, 0) Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See http://b.an原创 2017-10-13 11:25:47 · 979 阅读 · 0 评论 -
解决导入第三方框架v4包重复依赖的问题
导入第三方框架的时候经常会出现v4包重复依赖的问题,网上有好多种解决的方案: 1,在module的build.gradle文件中defaultConfig下添加multiDexEnabledtrue 2,在Project Structure的Dependencies中将导入的第三方框架中的v4包删除 这些都不能解决问题,最后我自己无意中尝试了一下将本地项目的v4jar包删除,然后在本地项目的b原创 2017-10-13 11:27:57 · 1805 阅读 · 2 评论 -
“Canvas: trying to draw too large bitmap” when Android N Display Size set larger than Small
编译时报了这个错,以前从没有出现过。网上搜索了半天都是一些错误的答案,实在是很想吐槽某度。。。 上Stack Overflow一搜就解决了,这里记录一下,怕忘记。 Stack Overflow上的原答案: I my case, moving the (hi-res) splash bitmap from drawable to drawable-xxhdpi was the solution.转载 2017-10-13 11:14:57 · 3816 阅读 · 0 评论 -
Snackbar的简单使用
Snackbar 是 Android design support library 中的另一个组件,就是屏幕底部快速的显示一条消息,大体与 Toast 相同,但是很灵活。使用的话需要先导入design库:compile 'com.android.support:design:26.0.0-alpha1'用法很简单:Snackbar.make(view,String,time).show();第一个参原创 2017-10-23 16:54:05 · 323 阅读 · 0 评论 -
获取签名证书的SHA1值和MD5值
android开发中,有时候需要在其他平台注册应用(例如实现分享功能),注册的时候有些平台会需要你提供SHA1值或者MD5值,以前用Eclipse开发的时候获取很简单:windows--> preferences,然后点击android下的Build就可以查看SHA1值和MD5值了。在android studio下,不能这么查找了,我这里采取的方法可能不是很方便,但是绝对可以获取到。1.首先将你的项原创 2017-10-31 17:39:28 · 2557 阅读 · 0 评论 -
怎么解决java.lang.NoClassDefFoundError错误
java.lang.NoClassDefFoundError错误经常与java.lang.ClassNotfoundException错误搞混,但其实这两个错误是完全不一样的,java.lang.ClassNotfoundException是发生在编译期的错误,这个很好解决。通常是代码或者manifest文件中写错了类名导致的。而java.lang.NoClassDefFoundError就比较复杂原创 2017-12-01 10:22:09 · 533 阅读 · 0 评论 -
使用第三方依赖多重引用的问题
使用shareSDK分享的时候,导入jar包后编译报错。一开始是提示:DexArchiveMergerException: Unable to merge dex. 说明引用了多个相同的类,但是不确定是哪个依赖或者是哪个类重复引用了。使用android studio的编译错误分析后提示:weibo sdk Multiple dex files define Lcom/sina/weibo/sdk/...原创 2018-03-13 16:10:11 · 540 阅读 · 0 评论 -
Plugin with id 'com.android.application' not found
有些时候在github上clone别人的工程时总是报这个错误,大部分是eclipse项目在android studio运行时导致的。这个错误的原因主要是eclipse和android studio的结构不一样,解决方案:在你工程的build.gradle文件中添加以下代码即可.buildscript { repositories { jcenter() } ...原创 2018-04-23 10:26:27 · 24422 阅读 · 0 评论 -
真机调试adb连接失败
用真机调试程序的时候,经常会出现adb连接不上,adb强行关闭的问题。一般来说都是端口冲突,例如:adb server is out of date. killing... ADB server didn't ACK * failed to start daemon * adb nodaemon server cannot bind 'tcp:5037'解决起来也很简单:1,在任务原创 2017-05-11 10:56:26 · 920 阅读 · 0 评论