Android
文章平均质量分 77
K_Hello
这个作者很懒,什么都没留下…
展开
-
Android 开发常用Color,Launcher图标的尺寸
文章目录Android 开发 常用ColorLauncher 对应的图标尺寸Android drawable/mipmap 文件夹对应的dpiAndroid 8.0 支持 自适应启动图标Android 开发 常用Color <color name="purple_200">#FFBB86FC</color> <color name="purple_500">#FF6200EE</color> <color name="purple_原创 2021-04-21 10:34:00 · 654 阅读 · 0 评论 -
Android LiveData + Retrofit 取消请求(二)
Android LiveData + Retrofit 取消请求(二)接着继续之前,我们来看Retrofit + RxJava 取消请求添加RxJava2的CallAdapterprivate static final Retrofit RETROFIT_CLIENT = new Retrofit.Builder().baseUrl(BASE_URL). addConverterFactory(ScalarsConverterFactory.create())原创 2021-01-19 18:27:17 · 636 阅读 · 2 评论 -
Android LiveData + Retrofit 取消请求
Android LiveData + Retrofit 取消请求(一)文章目录Android LiveData + Retrofit 取消请求(一)OkHttp 中取消请求OkHttp 创建、发送请求取消请求Retrofit中取消请求创建存放Tag的集合在Activity中管理页面状态创建请求Service Interface,添加Head注解创建Retrofit对象,并在OkHttpClient中添加Cancel 拦截器在Activity中发起请求我们先看看OkHttp是怎么取消请求的OkHttp原创 2021-01-18 18:06:26 · 957 阅读 · 0 评论 -
AndroidStudio升级4.1 后启动失败 Plugin问题
AS升级4.1 后启动失败 Plugin问题start fail 弹窗如下:Internal error. Please refer to https://code.google.com/p/android/issuesjava.lang.NoSuchMethodError: com.intellij.ide.plugins.PluginManagerCore.loadDescriptors()[Lcom/intellij/ide/plugins/IdeaPluginDescriptorImpl;原创 2020-10-16 16:25:59 · 1726 阅读 · 1 评论 -
Android 获取ICCID,IMEI
文章目录Android 获取ICCID,IMEI权限获取ICCID方法一:TelephonyManager二: SubscriptionInfoAndroid 获取ICCID,IMEI权限<uses-permission android:name="android.permission.READ_PHONE_STATE" />Android 6.0 以上需要动态申请获取ICCID方法一:TelephonyManager在Android Q之前 可用,在android Q(原创 2020-09-22 19:04:37 · 5201 阅读 · 2 评论 -
Kotlin的入门(一)
文章目录kotlin的入门(一)变量声明类型推断Null 安全条件语句函数简化函数声明匿名函数高阶函数类属性类函数和封装互操作性kotlin的入门(一)变量声明val 用于值从不更改的变量。使用 val 声明的变量无法重新赋值。var 用于值可以更改的变量val languageName: String = "Kotlin"var count: Int = 10count = 15类型推断Kotlin 编译器可根据所赋值的类型来推断其类型由于 "Kotlin" 的值为 String 类转载 2020-09-21 15:19:31 · 264 阅读 · 0 评论 -
Jetpack CameraX 入门
Jetpack CameraX文章目录Jetpack CameraX简介CameraX 结构权限权限声明动态申请要求声明依赖项[Getting Started with CameraX](https://codelabs.developers.google.com/codelabs/camerax-getting-started/#0)配置关于分辨率相机分辨率自动分辨率指定分辨率旋转方向实现预览使用 PreviewView配置 CameraXConfig.Provider将 PreviewView 添加到翻译 2020-09-17 16:44:58 · 543 阅读 · 0 评论 -
Android APP设置为Launcher 桌面 onCreate启动两次
Android APP设置为Launcher 桌面 onCreate启动两次解决方案:Activity添加configChanges属性android:configChanges="keyboardHidden|orientation|screenSize|locale|screenLayout|mcc|mnc"AndroidManifest.xml设置如下:<activity android:name=".MainActivity" android:screenOrientati转载 2020-09-03 11:24:15 · 948 阅读 · 0 评论 -
adb 启动Android 应用组件
adb 启动Android 应用组件启动服务adb shell am startservice -n 包名/.MainService启动Activityadb shell am start -n 包名/包名.MainActivity启动系统设置adb shell am start com.android.settings/com.android.settings.SettingsADB命令指令控制Android系统的WIFI连接开启/关闭状态1.在cmd中,进入shell指令模式 a原创 2020-08-31 18:01:32 · 473 阅读 · 0 评论 -
SQLite 简单使用(二)
创建表CREATE TABLE IF NOT EXISTS 'localuser' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id TEXT NOT NULL,location TEXT)改变表名ALTER TABLE '旧表名' RENAME TO '新表名' 删除表DROP TABLE '表名'增加一列ALTER TABLE '表名' ADD COLUMN '列名' '数据类型' ALTER TABLE case_ta转载 2020-08-31 16:42:41 · 301 阅读 · 0 评论 -
Retrofit 上传多文件几种方式
Retrofit 上传多文件方式:一 .Multipart & MultipartBody.Part:Api Service://上传多个文件.单文件就把List去掉@Multipart@POST(WX_URL)Call<ResponseBody> uploadGatherInfo(@PartMap Map<String, RequestBody> params, @Part List<MultipartBody.Part> files);pa原创 2020-08-31 13:07:34 · 1546 阅读 · 0 评论 -
Android 获取手机设备信息(厂商,型号等)
public class DeviceUtils { /** * 获取当前手机系统语言。 * * @return 返回当前系统语言。例如:当前设置的是“中文-中国”,则返回“zh-CN” */ public static String getSystemLanguage() { return Locale.getDefault().getLanguage(); } /** * 获取当前系统上的语言列表(Lo原创 2020-08-31 10:38:30 · 5965 阅读 · 0 评论 -
Android 代码控制手机数据网络的开关(5.0以上)
Android 代码控制手机数据网络的开关文章目录android 5.0以前5.0以后Codeandroid 5.0以前Android 5.0以前使用ConnectivityManager通过反射两个方法setMobileDataEnabled和getMobileDataEnabled来控制移动网络开和关。5.0以后Android 5.0以后使用TelephonyMananger类通过反射获取setDataEnabled和getDataEnabled类完成操作。注意:Manifest需要使用添加转载 2020-06-29 13:40:24 · 2228 阅读 · 0 评论 -
Dialog/DialogFragment 设置全屏/透明度相关属性
文章目录Dialog设置透明度和暗度一 设置Dialog Style二 代码设置DialogFragmentonCreateViewView占满屏幕一添加style二 设置参数onCreateDialog**DialogFragment设置透明度/暗度/大小属性**Dialog设置透明度和暗度一 设置Dialog Style<style name="load_dialog_style" parent="@style/Theme.AppCompat.Dialog.Alert">原创 2020-06-01 16:55:43 · 2979 阅读 · 0 评论 -
Android 导入Flutter模块(一)
文章目录Android 导入Flutter模块两种方式1.使用Android Studio2.手动整合创建Flutter模块Java 8要求添加Flutter模块作为依赖项1.AAR2.源代码模块(module)Android 导入Flutter模块Flutter可以作为源代码Gradle子项目或AAR嵌入到您现有的Android应用程序中。可以使用带有Flutter插件的Android S...原创 2020-03-20 20:00:14 · 775 阅读 · 0 评论 -
Android 静默安装
Android 静默安装文章目录Android 静默安装具有Root权限的安装设备可以获得root权限AndroidManifest 权限设置sharedUserId执行adb 安装命令无Root权限安装(需要系统签名)AndroidManifest 权限设置sharedUserId系统签名具有Root权限的安装设备可以获得root权限AndroidManifest 权限<uses...原创 2020-03-18 19:10:57 · 464 阅读 · 0 评论 -
AndroidStudio 3.6 视图绑定替代 findViewById
AndroidStudio 3.6 视图绑定替代 findViewById简要在 build.gradle 中就可以方便快捷地开启视图绑定且无须额外引入依赖库视图绑定会为 Module 中的每一个布局文件生成一个绑定对象(activity_awesome.xml → ActivityAwesomeBinding.java)布局文件中每一个带有 id 的视图都会在绑定对象中有一...转载 2020-03-25 13:55:52 · 1145 阅读 · 0 评论 -
CmakeLists文件说明
CmakeLists.txt#设置构建native library所需的最小CMake版本cmake_minimum_required(VERSION 3.4.1)#aux_source_directory(studyCPP DIR_SRCS)++file(GLOB allCpp.)#创建和命名一个库add_library( # 库名字 native-li...原创 2020-03-01 23:42:56 · 302 阅读 · 0 评论 -
AS 配置Git记录
AS 配置Git环境文章目录AS 配置Git环境[Git 安装](https://git-scm.com/)AS配置Git创建仓库添加/提交链接远程仓库扩展[gitignore](https://www.gitignore.io/ )git生成gitignore文件AS设置忽略提交文件问题Push to origin/master was rejectedGit忽略规则(.gitignore配置...原创 2020-01-07 14:15:27 · 530 阅读 · 0 评论 -
android中Timer的使用
android中Timer和TimerTask的使用文章目录code方法schedule(TimerTask task, long delay)schedule(TimerTask task, long delay, long period)不能直接更新UITimer 线程调度任务工具,以便在后台线程中执行任务。可用用来定时,延时,周期性执行任务code TimerTask ti...原创 2020-01-02 13:33:34 · 1045 阅读 · 0 评论 -
Android自启动整理
Android开机自启动APP设置文章目录Android开机自启动APP设置带有自启动广播的APP (低版本(5.0以下),模拟器,定制系统)关于sharedUserId:Code带有自启动广播的APP (低版本(5.0以下),模拟器,定制系统)1.预植入系统目录/system/app/应用目录/my.apk系统启动就会启动应用2.普通安装 第一次 系统启动不会启动应用 ...原创 2019-12-28 11:04:59 · 546 阅读 · 0 评论 -
Navigation 获取当前显示的Fragment
Navigation 获取当前显示的Fragment private Fragment getCFragment(){ Log.d(TAG,"Primary="+getSupportFragmentManager().getPrimaryNavigationFragment());//主要导航Fragment Log.d(TAG,"Fragment by i...原创 2019-12-10 00:32:45 · 5632 阅读 · 0 评论 -
AndroidStudio/LeakCanary中hprof的转换
AndroidStudio中hprof的转换文章目录AndroidStudio中hprof的转换Profiler 查看内存MATLeakCanary和AndroidStudio的hprof转换Profiler 查看内存Memory Profiler 是 Android Profiler 中的一个组件,它显示一个应用内存使用量的实时图表,让您可以捕获堆转储、强制执行垃圾回收以及跟踪内存分配G...原创 2019-12-06 00:46:52 · 716 阅读 · 0 评论 -
USB 检测外接摄像头
USB 检测外接摄像头文章目录USB 检测外接摄像头查找所有的摄像设备两个方法查找所有的摄像设备两个方法1.首先下载个安卓USB检测程序,插入UVC摄像头,在程序中检测看是在/dev/video中新增了节点,还是在/bus/usb下新增了节点。如果没新增video节点,则没有UVC驱动。2.如果可以连电脑,在Dos命令下:AndroidSDK\platform-tools\目录下: ad...原创 2019-10-12 16:05:08 · 2695 阅读 · 0 评论 -
Gradle Error
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details永久禁用,在AS中D:\AndroidStudio\plugins\android\lib\templates\gradle-projects\New...转载 2019-04-01 23:12:21 · 350 阅读 · 0 评论 -
Activity 设置全屏
Activity 设置全屏的方法文章目录Activity 设置全屏的方法设置window FlagsAndroidMenifest.xml文件中设置themestyle中设置设置window Flags在Activity的onCreate()方法中设置两个Flag:super.onCreate(savedInstanceState);this.requestWindowFeature(W...原创 2019-02-14 13:21:40 · 297 阅读 · 0 评论 -
小米手机设备相关
小米手机设备相关文章目录小米手机设备相关判断是否小米设备判断小米是否全面屏小米全面屏高度问题高度横屏状态虚拟按键显示全面屏显示判断是否小米设备 public static boolean isXiaoMi(){ return Build.MANUFACTURER.equals("Xiaomi"); }小米开放平台文档中心Android判断手机ROM判断小...原创 2019-02-19 11:48:45 · 389 阅读 · 0 评论 -
Bitmap 质量压缩 以及bitmap保存变大的原因
Bitmap的质量压缩摘要:文章目录Bitmap的质量压缩质量压缩描述质量压缩原理质量压缩实现所遇问题质量压缩描述 质量压缩主要借助Bitmap中的compress方法实现public boolean compress(CompressFormat format, int quality, OutputStream stream) {} 这个方法用来将位图的压缩变体写...原创 2019-02-19 10:12:05 · 4832 阅读 · 7 评论 -
Android ANR Trace 文件抓取
Android Trace 文件抓取摘要: Android 开发中有时会发生ANR情况,这个时候就要对anr文件进行提取.文章目录Android Trace 文件抓取问题描述解决方案实施示例问题描述Android 开发 ANR场景,Anr问题的Log一般都在/data/anr/目录下解决方案找到SDK目录SDK\platform-tools下,输入命令adb pull /dat...原创 2019-02-19 10:09:24 · 1718 阅读 · 0 评论 -
Android Activity 启动模式
Android Activity 启动模式文章目录Android Activity 启动模式standardsingleTopsingleTasksingleInstancestandard默认启动模式,不需要在AndroidManifest.xml 中的文件声明,每次启动一个该模式下的Activity,都会创建一个ActivitysingleTop该模式下的Activity存在并处...原创 2019-02-18 15:43:10 · 163 阅读 · 0 评论 -
Camera摄像头帧数据转为bitmap
Camera摄像头帧数据转为bitmap文章目录Camera摄像头帧数据转为bitmap帧数据转为bitmap关于YuvImage**compressToJpeg 方法**帧数据转为bitmapAndroid下摄像头预览数据默认为 ImageFormat.NV21 格式的,通过onPreviewFrame(byte[] data, Camera camera)返回的byte[]无法直接转为b...原创 2019-02-18 10:31:10 · 4035 阅读 · 0 评论 -
Android 图像格式ImageFormat 主要参数值说明
Android ImageFormat 主要格式说明文章目录Android ImageFormat 主要格式说明PictureCameraPicture格式名释义valueRGB_565RGB格式 用于编码的图片为RGB_5654CameraYUV 格式:此格式暴露给软件解码器和应用程序 ,常用如下:格式名释义valueAPI...原创 2019-02-15 19:09:31 · 6912 阅读 · 0 评论 -
ViewOutlineProvider 轮廓裁剪(5.0以上特性)
ViewOutlineProvider 轮廓裁剪(5.0 以上特性)需求: 需要把相机预览SurfaceView裁剪成圆形,ViewOutlineProvider 很好的实现了这个效果文章目录ViewOutlineProvider 轮廓裁剪(5.0 以上特性)关于ViewOutlineProviderView 相关的方法setOutlineProvider()setClipToOutline(...原创 2019-02-15 16:45:43 · 3732 阅读 · 2 评论 -
Program type already present: XXXXX
这种表示有重复的类导致Build Conflict,解决方法:1.查找:To run the task, proceed as follows:选择View > Tool Windows > Gradle (单击 工具窗口栏中的“ Gradle).展开AppName > Tasks> android并双击androidDependencies。Gradle执行任务...原创 2018-11-25 00:50:13 · 3772 阅读 · 2 评论 -
Android 中 MVC 的简单理解
Android 的当前开发MVP已成为开发主流模式,简单的总结一下MVC的模式,毕竟当前项目中还在使用MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。(wiki)说到MVC,不得不提三种组件的功能:模型(Model)负责处理数据和提供数据。用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法视图(View)能够实现数据有...原创 2018-11-02 18:36:03 · 726 阅读 · 0 评论 -
Android 开源项目收集
1.Android 开源项目分类汇总这个可真称得上大全了2.AndroidUtilCode常用工具类大全RxToolAndroid开发人员不得不收集的工具类集合 | 支付宝支付 | 微信支付(统一下单) | 微信分享 | Zip4j压缩(支持分卷压缩与加密) | 一键集成UCrop选择圆形头像 | 一键集成二维码和条形码的扫描与生成 | 常用Dialog | WebView的封装可播放视...原创 2018-11-03 13:48:13 · 144 阅读 · 0 评论 -
Java 通过GPIO控制LED灯的亮灭(一)
Java 通过GPIO控制LED灯的亮灭(Firefly-RK3399)(一)Note: 为Android 开发,开发工具AndroidStudio什么是,(General-purpose input/output)通用型之输入输出的简称,简单来说,就是一个接口,通过变换状态值,来达到设备的变化LED的亮灭是嵌入式中最简单的部分,可惜,没嵌入式基础,废话不多说先看一下RK3399的GP...原创 2019-05-09 13:51:23 · 4545 阅读 · 0 评论 -
Unable to load class 'org.gradle.api.internal.component.Usage
Unable to load class 'org.gradle.api.internal.component.UsageAndroidStudio 编译时出现的问题:Build Log :Your project may be using a third-party plugin which is not compatible with the other plugins in the p...原创 2019-05-14 14:08:06 · 2299 阅读 · 0 评论 -
开源工具/网站
Chrome 扩展程序(VPN):Http 请求插件:Restlet Client - REST API Testing脑图制作:免费在线脑图制作原创 2019-10-12 09:40:50 · 324 阅读 · 0 评论 -
SQLite 简单使用(一)
SQLite 使用//添加列"AlTER TABLE User ADD COLUMN sync_state integer NOT NULL DEFAULT 1"//创建表"CREATE TABLE IF NOT EXISTS 'localuser' ('uid' INTEGER NOT NULL PRIMARY KEY autoincrement,'user_name' TEXT , ...原创 2019-10-10 17:34:16 · 257 阅读 · 0 评论