- 博客(124)
- 收藏
- 关注
原创 Android异常:Non-body HTTP method cannot contain @Body.
在使用Retrofit调用@DELETE接口的时候,会报如下错误。
2024-12-16 11:27:57
444
原创 Kotlin学习第四课
2.List的越界取值,getOrElse,使用这个函数需要提供两个参数,第一个是索引值,第二个是能提供默认值的lambda表达式。,如果索引值不存在,可以用来代替异常。Set集合不会对其元素做索引排序,这表明,它没有内置[]操作符供你按索引存取集合元素。1.List,List集合能存储一组有序的元素值,并且允许有重复的元素。5.集合的转换,toSet可以快速去重,toList可以快速排序。还可以通过_符号过滤不想要的函数,比如只想要第一个和第三个元素。4.Set,与List不同Set不允许有重复的元素。
2024-10-28 13:27:01
381
原创 Kotlin学习第三课
7.takeUnless,takeUnless和takeIf唯一的区别是,只有判断你给定的条件结果是false时,takeUnless才会返回原始接受者对象,建议使用takeIf而不是takeUnless。6.takeIf:takeIf函数需要判断lambda中提供的条件表达式,给出true或者false,如果判断结果为true,从takeIf函数返回接受者对象,如果为false,则返回null。5.also:also函数和let函数有些像,和let一样,also也是把接受者作为值参数传给lambda。
2024-10-28 10:12:35
334
原创 Kotlin学习第二课
13,@NotNull注解在很多java项目里都能看到,但从Kotlin代码里调用java方法时,它尤其有用,因为Kotlin编译器会使用它决定某个java方法的参数是否可空。1.支持Java互操作,在Kotlin文件中调用Java代码,但是Kotlin和Java各自有不同的保留关键字,不能用于函数名,使用反引号括住函数名就能避免任何潜在冲突。这种情况下,如果readline()返回空,则跳过函数调用,而不是返回null,也就是说当且仅当改变量不为空时,安全调用操作符才能保证针对该变量的函数调用成功执行。
2024-10-23 16:30:25
1031
原创 Kotlin学习第一课
只读变量也有返回不同值的特例,真有数据要保证绝对可读,考虑使用编译时常量,编译时常量只能在函数外定义(指包括main函数在内的所有函数),这是因为,编译时常量必须在编译时(程序编译时)赋值,而main和其他函数都是在运行时(程序运行时)才调用,函数内的变量也是在那时赋值。编译时常量要在这些变量赋值前就已存在。表达式先检查race的值,判断它是否等于->操作符左边的值,匹配的话,就将操作符右边的值赋给faction。Kotlin有一个语言特性叫类型推断,对于已声明并赋值的变量,它允许你省略类型定义。
2024-10-23 14:25:02
280
原创 android studio 添加aar包
按着以前旧的导包方式栽了大跟头,后面在留老板的的博客下找到了解决办法,记录一下。1.在新建libs目录,在app/libs目录下导入aar包(其实就是拷贝过去)2.在app/build.gradle文件依赖最后添加。
2024-06-27 10:11:57
1951
原创 Android Studio项目添加module依赖
3.在主项目的build.gradle(app)中引用该模块。1.将需要添加的module文件copy到项目文件夹下;2.在settings.gradle中引用该模块,4.点击sync now。
2024-06-05 13:43:00
351
原创 Android RecyclerView注册每项的单击和长按事件监听
2.在Activity或者Fragment中设置监听。1.在Adapter中定义监听接口。
2024-05-14 14:28:44
381
原创 Android RadioButton,定制按钮样式
1.定义选中和非选中的样式选择器;2.在布局文件中设置background,取消原生的button。
2024-05-09 13:40:26
1011
原创 Android studio 打开Device Mirroring方便调试
巧合下发现一个很好用的工具,在平时调试真机的时候在每次run app后都要低头找找手机看看效果。但是,用了AS上的Device Mirroring,你会发现根本不需要再低头点手机,调试方便一万倍啊。打开步骤为:Settings->Tools->Device Mirroring->Enable mirroring of physical Android devices.直接就可以在电脑桌面看到手机真机的镜像界面。
2024-05-08 10:10:50
1325
原创 在Android APP中使用鸿蒙字体HarmonyOS-Sans
四、在项目的xml中通过android:fontFamily 引入。二、在Android Studio中新建font目录。三、将字体资源copy进font目录中。一、下载鸿蒙字体资源包。
2024-04-08 14:16:23
2103
1
原创 Android Studio 打开Local Changes界面
在编写代码的过程中,经常要回顾本地仓库做了那些修改。打开Local Changes界面,能做到一目了然,不用再去使用git命令查看。把Use non-modal commit interface 选项 取消勾选 即可。
2024-04-03 17:38:30
1293
原创 Android Studio 打开Logcat界面
在平时调试过程中查看调试日志需要打开 Android Studio Logcat界面。每次安装AS都会忘记,自己备注一下。
2024-04-03 17:31:57
954
原创 Android Drawable - Shape Drawable使用详解
用xml实现一些形状图形, 或则颜色渐变效果, 相比PNG图片, 占用空间更小;相比自定义View, 实现起来更加简单.
2024-04-02 20:44:41
938
原创 Android studio第一次构建项目Gradle失败的解决方法
这是因为AS默认去下载gradle的网站是在国外的,而且国内的网络经常是访问不到那个网站的,能访问到有时候就跟中大奖一样的幸运。把AS下载gradle的路径切换到腾讯gradle的国内镜像,这样就能正常的把新建的项目跑起来了。每次在AS上新创建一个项目,gradle要下载半天或者是直接下载半天后以失败告终,抓狂并崩溃。
2024-01-12 13:00:02
1149
原创 荣耀Magic6及荣耀保时捷设计新品发布-亮点有哪些?
还有全球5G频段覆盖,环球行App和谷歌GMS都有的,经常需要跨境出差的用户有福。五种颜色可选,5款配色,各具特色:仿若祁连之巅,连绵雪峰的祁连雪;在低温、低电量综合续航能力,实现行业低温续航技术的新突破,让用户在恶劣环境、极限场景下,有更多的机会用手机与他人联络或处理紧急情况;年关将近时,荣耀Magic6终于在千呼万唤中拉开了发布会的帷幕,接下来我就带大家简单的看一下这次发布会都有那些亮点,还有荣耀Magic6/pro是否值得购买。眼动操控,实时扑捉你的视线,了解你的意图,无需您亲自动手,即可打开。
2024-01-12 12:59:19
8758
原创 Framework 获取apk中的资源方式。
1.首先在自己的apk中有一份黑名单的定义<string-array name="black_list"> <item>com.google.android.apps.chrome.Main</item></string-array>2.在framework中定义方法获取里面的字串private String[] ge...
2019-04-26 16:10:11
522
原创 gradle clean aR报错 Gradle not install please use "sudo apt-get install gradle --fix-missing"
更新Android Studio后之前老的gradle用不了,需要更新gradle才能使用,因为直接利用AS更新会更新不下来,这边记录一下自己手动将本地的gradle更新到最新的操作步骤。1.下载最新的Gradle;https://gradle.org/releases/个人下载了目前最新的v5.2.1 complete版本。2.本地找个一般你不会手贱去删除的目录,解压use...
2019-02-25 15:55:14
434
原创 Android P监听WIFI 状态的变化
1.需求:需要监听WIFI的的连接状态,之前在网上搜的一些老资料发现不能实现,获取的状态不够准确。故自己写个备份。package com.example.user.networkchangelistener;import android.content.Context;import android.content.Intent;import android.net.Network...
2018-12-27 11:04:13
1973
原创 Android 延时执行某个任务,未执行之前可以移除
1.需求:当前开启搜索设备任务,因为没有搜索超时的回调方法导致手机当没有可用设备连接的时候会一直在搜索设备。所以这边做了一个搜索超时回调,当搜索超时停止搜索给用户一个信息反馈。2.代码实现在开始搜索的时候将消息放入消息队列,规定超时时间为一分钟public static final int SEARCH_DEVICE_TIME_OUT = 60*1000;private st...
2018-12-27 10:03:17
1869
原创 Android 将图片保存到本地,并实时更新图库。
1.需求:需要将远程传回的文件保存到本地,并实时更新图库 2.代码实现: private void saveScreenshotPictures(Bitmap mScreenshotbitmap){ fileName = "/storage/emulated/0/smarttv/screenshots/"+ generateF...
2018-12-27 09:44:47
2579
1
原创 Android ActivityLifecycleCallbacks 监听当前是否处于应用中的某些特定Activity界面
1.需求:有一个新功能需要做一个悬浮球,在功能页面的时候,悬浮球隐藏,不在则显示。因为这个功能代码是放在了SystemUI里面。不能直接判断当前的包名,只能判断当前的Activity是不是我们写的那几个。2.代码实现:判断当前Activity是不是我们写的那几个Activity,如果在不修改AMS的前提下可以通过注册一个ActivityLifecycleCallbacks 回调。注...
2018-12-26 17:58:07
1496
原创 Android 调用摄像头拍照或者相册图片设置头像Demo
该文章来源第一行代码+ Android里面有自己想要的东西就写出来了,大家要是有用得着的也比较方便直接复制代码。1.布局文件activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"...
2018-06-08 09:54:32
1473
1
原创 Android 检测网络是否真的有效isNetworkConnected() 和ping()
1.isNetworkConnected() private boolean isNetworkConnected() { final ConnectivityManager connManager = (ConnectivityManager) mContext .getSystemService(Context.CONNECTI
2017-12-26 10:59:12
1895
原创 Android发送权限受限的广播,指定接受方!
本文实践代码是在Android7.1上的系统级源码上验证通过的。1.首先是发送方:在frameworks\base\core\res\AndroidManifest.xml中定义权限 <permission android:name="com.softmanager.permission.send.SOFTMANAGER" android:protectionLe
2017-10-11 15:11:14
5612
转载 Android应用在未启动的情况下无法收到指定广播的问题总结
原文链接:http://blog.youkuaiyun.com/a229413040/article/details/51791766一 、问题现象 最近项目上遇见这样一个需求,在程序安装之后,如果收到特定广播,需要程序做XXXX(具体的场景就不写了),我当时想到的方案是在AndroidMainfest文件里添加一个静态注册的广播,比如: receiver android:name=".rec
2017-10-10 15:20:30
836
原创 区分高通和MTK平台
public static boolean isHardWareVendorQualcomm() {String hardware = android.os.Build.HARDWARE;if (hardware.matches("qcom")) {Log.d(TAG, "Qualcomm platform");return true;}return false;}
2017-09-23 14:26:24
8867
原创 Android 判断当前手机中是否存在某一个action可以启动。
有的时候需要在某个程序里面由特定的条件跳转到设置或者其他的应用界面。我们一般采用的是根据某个特定的ACTIONT跳转到设置中去的。首先是判断我们的手机中是否存在我们要的这个actyion. private boolean isActionSupport(Context context,String action){ final Pack
2017-08-16 09:53:27
3397
原创 Android 读写文件转为String[]
1.写入文件中String filePath = Environment.getDataDirectory()+"/test"; private void writeData(){ String str = "com.android.mms"; try { File file = new File(file
2017-08-04 17:33:13
2468
原创 递归删除文件夹
删除一个文件夹。采取递归的形式调用的地方deleteDir(new File("/data/data/com.android.demo/databases"));private static boolean deleteDir(File dir) { if (!dir.exists()) { Log.i(TAG, "Not exists " + dir);
2017-07-31 16:35:26
293
原创 隐藏虚拟按键,但不进去全屏模式(沉浸模式)
新项目推出了有虚拟按键的机型。在某些界面上需要隐藏虚拟按键有几种1.Activity里面,在setContentView()方法之前使用一下方法可以达到隐去虚拟按键getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);2.在Dialog里面,在show(
2017-07-29 16:20:17
1507
转载 Android中的获取控件矩阵gethitrect方法
原文地址:http://souly.cn/%E6%8A%80%E6%9C%AF%E5%8D%9A%E6%96%87/2015/07/31/Android%E4%B8%AD%E7%9A%84%E8%8E%B7%E5%8F%96%E6%8E%A7%E4%BB%B6%E7%9F%A9%E9%98%B5getHitRect%E6%96%B9%E6%B3%95/getHitRect的作用
2017-07-28 12:00:20
1454
原创 Android添加自己的系统属性(反射调用SystemProperties)
我们可以通过调用SystemProperties.java类设置和获取系统的属性,但是这个类目前是hide的。也就是我们在开发的时候想直接调用时不可以的。除非你是在系统层上面的开发。这里通过Android的反射机制实现系统属性的设置和获取。1.setProp()private void setPropPlay(){ try { Class
2017-07-04 10:32:11
3035
原创 Android 反射机制备份
Class class = Class.forName("包名.类名"); Object object = class.newInstance(); Method setName = class.getDeclaredMethod("setName",String.class); setName.invoke(object,"eva");
2017-06-22 11:14:53
306
原创 利用Android源代码生成的签名文件给apk签名
系统开发工程师应该用得到。虽然我们是在平台上面干活,但是每次mm一下也是挺浪费时间调试的。这边的解决方法是获取到平台的签名文件之后直接运行脚步完成系统apk的替换1.获取平台签名build\target\product\security将这一整个目录拷贝出来“security”2.获取签名工具out\host\linux-x86\framework\sign
2017-06-20 14:21:25
3783
原创 Eclipse+JDK+SDK的Windows环境配置!
看来程序员做很多工作都是因为赖啊!换了两次工作,每都记不住怎么配置,厌倦了到网上找配置文章,所以这篇文章就诞生了。Eclipse+JDK这个配置完之后你就可以编写Java程序了。配置如下:下载平台Eclipse+JDKEclipse+SDK这个配置完就可以编写Android程序了。配置如下:一般下载下来的eclipse解压之后会有一个文件件名字-
2017-06-20 13:58:54
1033
原创 Android7.1自动对时时序图
NITZ:NITZ(Network Identity and Time Zone)或网络标识和时区,是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息。NITZ是自从PHASE 2+ RELEASE 96 的GSM中的可选功能,经常被用来自动更新移动电话的系统时钟。NTP:NTP(Network Time Protocol)提供准确时间,首先要有准确
2017-06-20 10:43:14
3445
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人