android studio
hnlgzb
所见即所得
展开
-
Launcher的大概布局
原创 2023-05-30 10:39:15 · 85 阅读 · 0 评论 -
Android studio profile的使用
Android studio profile的使用原创 2023-02-09 11:17:51 · 112 阅读 · 0 评论 -
Lambda expressions are not supported at language level ‘7‘
build.gradle 加如下。原创 2022-12-10 18:21:00 · 158 阅读 · 0 评论 -
解决报错:Errorjava.lang.NullPointerException(no error message)
Android studio 版本管理 git gradle原创 2022-09-06 08:33:41 · 457 阅读 · 0 评论 -
如何查看buildToolsVersion的版本
打开build.gradle 你会发现如下配置:android { compileSdkVersion 23 buildToolsVersion "23.0.1"}那么问题来你,你知道你23下面有哪些buildtool版本吗?首先找到你的sdk路径,然后cd build-tools,ls查看一下你都下载了哪些buildtools的版本。如果没有你想要的,可以通过Android SDK Manager进行下载转自:https://blog.c...转载 2021-05-26 19:53:06 · 2028 阅读 · 0 评论 -
@SuppressLint(“NewApi“)作用
在我们日常开发Android当中,经常遇到写了一段正常的代码,但是系统报错,然后根据系统提示,会帮我们自动添加一个@SuppressLint(“NewApi”),然后错误就撤销了原因是我们代码中使用了比我们所设置的android:minSdkVersion= (即兼容最低版本)要高的方法一般解决方法是在方法上加上@SuppressLint(“NewApi”)或者@TargetApi()或者设置更高的最低版本1.@SuppressLint(“NewApi”)屏蔽一切因版本而导致新api中才能使用的转载 2021-05-07 17:21:08 · 1224 阅读 · 0 评论 -
更新AndroidStudio3.3之后编译构建报错 Task ‘wrapper‘ not found in project ‘:xxxxxxxx‘
开始是有点懵逼的,全局搜索没有这个wrapper的task,百度谷歌也无果。试过删除gradle的环境变量,降低gradle版本,都不行。重新rebuild项目,报了一些包找不到。最终解决方法是: close项目,重新import,不是open,是import...转载 2021-05-07 10:38:50 · 6260 阅读 · 7 评论 -
安卓调试 模拟发广播 am broadcast -a ACTION_XXXXXXX
am broadcast -a ACTION_XXXXXXX原创 2020-12-22 16:00:56 · 502 阅读 · 0 评论 -
查看服务器谁在用
cd .. cd ..到home目录cat etc/passwd原创 2020-11-11 14:36:26 · 748 阅读 · 2 评论 -
悬浮球动画扩展时,边上被截的解决方法
一路父控件设置如下: android:clipChildren="false" android:clipToPadding="false"并注意父控件的长宽值,是不是不够大,除了xml文件还有动态设置的部分原创 2020-09-05 14:10:41 · 122 阅读 · 0 评论 -
获取USB信息的两种方式
UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE); HashMap<String, UsbDevice> deviceList = usbManager.getDeviceList(); Iterator<UsbDevice> deviceIterator = deviceList.values().iterator(); ...原创 2020-09-03 10:55:47 · 1752 阅读 · 0 评论 -
带你了解android的IPC机制
IPC机制简介IPC是Inter-Process Communication的缩写,含义就是跨进程通信。首先我们要理解什么是进程,什么是线程。按操作系统的描述,进程是资源分配的最小单位,而线程是CPU调度的最小单位,一个进程可以包含多个线程(主线程、子线程)。多线程需要考虑并发问题。Android中的主线程是也叫UI线程,在主线程执行耗时操作会ANR多进程的两种情况1 某个应用由于自身原因需要采用多进程模式来实现(如:某些模块由于特殊原因需要运行在独立进程)2 为了加大一个应用可使用的内存通.转载 2020-08-29 16:22:59 · 207 阅读 · 0 评论 -
Android的uid与UserHandle
Android的uid与UserHandle1.Linux uid/gidLinux下的用户id(uid)和群组id(gid)。Linux是多用户系统,每个用户都拥有一个uid,这个uid由系统和用户名做映射绑定。同时,为了便于用户管理(譬如管理文档权限),Linux引入了群组的概念,可以将多个用户归于一个群组。每一个群组拥有一个群组id(gid)。 root用户:Linux下的唯一的超级用户,拥有所有的系统权限。root用户所在的组即root组。2.Android uid(4.2(API Le.转载 2020-08-22 00:36:20 · 2632 阅读 · 0 评论 -
android:sharedUserId
android:sharedUserId1、前言Android给每个APK进程分配一个单独的空间,manifest中的userid就是对应一个分配的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者被其他应用程序影响)。通常,不同的APK会具有不同的userId,因此运行时属于不同的进程中,而不同进程中的资源是不共享的(比如只能访问/data/data/自己包名下面的文件),保障了程序运行的稳定。然后在有些时候,我们自己开发了多个APK并且需要他们之间互相共享资源,那么就需要转载 2020-08-22 00:35:20 · 2169 阅读 · 0 评论 -
Android中的PID,TID和UID
pid 是process进程id , uid 是user 用户id;如果你是root,那么你的uid就是0,0为最高权限;可以通过pid找到这个进程的uid,没有试过通过Uid找到所有Pid,大家可以试一下;每一个不同的程序都能有一个UId,但是一个应用里面可以有多个PId;一个用户可以打开多个进程(Pid),并且这些进程的uid是一样的;一个pid对应一个进程,每次打开时系统都会赋予不同的pid,但是uid是当你安装Apk时,系统赋予的,是不变的,除非你卸载了重装,又会赋予一个Uid;...转载 2020-08-22 00:33:59 · 4933 阅读 · 0 评论 -
Android中的PID,UID,TID
PID 指进程ID.PID是进程的身份标识,程序一旦运行,就会给应用分配一个独一无二的PID(ps:一个应用可能包含多个进程,每个进程有唯一的一个PID)进程终止后PID会被系统收回,再次打开应用,会重新分配一个PID(新进程的PID一般比之前的号要大)命令:adb shell + ps|grep(图1) 或 adb shell ps (图2)图1:图2:UID 指用户ID.UID在linux中就是用户的ID,表明时哪个用户运行了这个程序,主要用于权限的...转载 2020-08-20 18:28:33 · 2833 阅读 · 0 评论 -
系统编译三方apk,out目录有这个apk,但刷机不见踪影
记录一下这个apk没有签名,但而且编译的时候,配的Android.mk LOCAL_CERTIFICATE := PRESIGNED----------意思是已签名。。所以相冲突参数 改成platform就好LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)# Module name should match apk name to be installedLOCAL_MODULE := xxxLOCAL_MODULE_TAGS :..原创 2020-08-05 20:05:16 · 1129 阅读 · 0 评论 -
Android接收开机广播接收速度慢的原因
当前有个bug,看见桌面,但是还要过20秒才能接到开机广播。以下解决方法1.android:priority="1000" 接收者 的优先级很低 加上1000 或者Integer.max,越大效果越明显2.android:sharedUserId="android.uid.system"3.写Android.mk时,把apk,放在system/app 或者system/pre-app...原创 2020-08-04 20:21:06 · 2256 阅读 · 0 评论 -
在近期任务列表显示单个APP的多个Activity
用过微信小程序的人应该都可以发现,当我们打开一个小程序之后,在近期任务列表里面就会新创建一个页面(MIUI8 好像没有),感觉这个功能还挺有意思的。 研究一下,发现还挺简单的。 先上一个效果图:有两种方式可以实现效果第一种:代码实现即页面跳转的时候增加 Flag, Intent intent = new Intent(this, Main2Activity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW...转载 2020-08-01 17:07:51 · 742 阅读 · 1 评论 -
error: unused variable ‘a‘ [-Werror=unused-variable]
error: unused variable 'a' [-Werror=unused-variable]转载 2020-07-30 08:35:10 · 7058 阅读 · 1 评论 -
You are in the middle of an am session. 听提示 直接 skip 就好了
打完patch之后,可能会有些后遗症,只要按照提示就行了原创 2020-07-25 19:18:42 · 676 阅读 · 0 评论 -
中台
在现代,中台和前台、后台对应,指的是在一些系统中,被共用的中间件的集合。常见于网站架构、金融系统。原创 2020-07-23 10:42:13 · 107 阅读 · 0 评论 -
可以从一个安卓系统获取点什么
原创 2020-07-18 16:53:55 · 88 阅读 · 0 评论 -
查看patch里面修改的内容
直接用浏览器打开就好原创 2020-07-10 10:13:38 · 2267 阅读 · 0 评论 -
AndroidStudio 查看应用里面的sqlite数据库文件
一.点击右下角二.data/data/包名/xxx.db原创 2020-06-08 18:44:34 · 1308 阅读 · 0 评论 -
Android studio更改界面主题和界面菜单字体大小
原创 2020-06-04 19:44:12 · 856 阅读 · 0 评论 -
setComponentEnabledSetting 的使用
为什么要关闭组件?在用到组件时,有时候我们可能暂时性的不使用组件,但又不想把组件kill掉,比如创建了一个broadcastReceiver广播监听器,用来想监听第一次开机启动后获得系统的许多相关信息,并保存在文件中,这样以后每次开机启动就不需要再去启动该服务了,也就是说如果没有把receiver关闭掉,就算是不做数据处理,但程序却还一直在后台运行会消耗电量和内存,这时候就需要把这个receiver给关闭掉。如何关闭组件?关闭组件其实并不难,只要创建packageManager对象和Comp...转载 2020-05-09 18:13:03 · 885 阅读 · 0 评论 -
setComponentEnabledSetting的作用
android开机启动android.intent.action.BOOT_COMPLETED 遇到一个问题,就是开机启动我只需要第一次,类似于开机向导一样的功能 但是每次开机的时候都会接受这个BOOT_COMPLETED 这样会有一个开机的进程,这种属于资源浪费。 我们可以setComponentEnabledSetting,节约资源。设置了是否处于可用....原创 2020-05-09 18:12:02 · 2570 阅读 · 0 评论 -
如何查看AS不能引用类的源码
import android.media.Metadata;比如这个,AS直接查看Ctrl+Shift+N 即可原创 2020-04-29 11:41:07 · 339 阅读 · 0 评论 -
window10卸载软件 搜 控制面板
window10卸载软件 搜 控制面板吉他谱软件 天地良心 ,软件谱图标竟然还是Java图标原创 2020-04-26 22:00:09 · 148 阅读 · 0 评论 -
关于安卓高版本 广播收不到的情况
刚遇到一个问题:发出的广播,在另外一个应用收不到。发出的时候没指定包名,接收者是静态注册。为此我做了个实验,以下两种情况可接收。1.发出者 指定包名,接收者静态注册,可接收。2.发出者不指定包名,接收者动态注册,可接收。Mark一下。...原创 2020-04-25 15:40:23 · 358 阅读 · 0 评论 -
android.mk添加第三方jar包
在某一应用程序中有时候需要引用第三方jar包,那么怎么才能在编译app的时候把该jar包引入进入呢?在该app下的Android.mk文件中添加如下语句:------------------------------start-----------------------------------------------LOCAL_PATH := $(call my-dir)include ...转载 2020-04-22 16:54:45 · 1073 阅读 · 0 评论 -
Android 文字跑马灯控件,支持设置滚动速度,文字颜色,大小等,可设置任意长度文本及任意控件宽度
因项目需求,需实现文字跑马灯效果,且能动态设置文本的滚动速度、字体颜色、字体大小等,Android自带的TextView也能实现跑马灯效果,但有个问题,文字内容长度必须大于控件宽度才会滚动,且滚动速度不可动态设置;So,就参考了相关文档,自己实现了以上需求,使用方法与TextView差不多,在此以作记录,方便日后复习、优化。上代码:package com.xxx.test;import...转载 2020-04-21 09:42:12 · 1264 阅读 · 0 评论 -
安卓OS编译环境
原创 2020-04-20 08:38:13 · 107 阅读 · 0 评论 -
这样弹Toast挺好
Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { public void run() { Toast.makeText(context,context.getString(R.stri...原创 2020-04-06 15:15:00 · 189 阅读 · 0 评论 -
EDID
mark原创 2020-04-02 19:48:28 · 197 阅读 · 0 评论 -
记录一下,不是所有的韩语输入法apk,装到同一个系统,都能弹出软键盘
记录一下,不是所有的韩语输入法apk,装到同一个系统,都能弹出软键盘今天,业务给了一个韩语输入法apk,安装上去,软键盘一直弹不出来,安装在自己手机没问题,安装在公司产品,就有问题。我就一直怀疑系统不兼容,一直想找原因。问了主管,他说,可能是这个apk的问题。然后我换了一个apk,安装进去,是可以的。所以总结:不是每一个输入法安装到同一个系统,都是能用的。...原创 2020-04-01 10:58:52 · 250 阅读 · 0 评论 -
当LayoutParams 没有效果的时候
datePickerDialog.show(); WindowManager.LayoutParams layoutParams = datePickerDialog.getWindow().getAttributes(); layoutParams.width = 190...原创 2020-03-27 11:09:14 · 348 阅读 · 0 评论 -
超详细的cmake教程
转自https://blog.csdn.net/zhuiyunzhugang/article/details/88142908什么是 CMakeAll problems in computer science can be solved by another level of indirection.David Wheeler你或许听过好几种 Make 工具,例如...转载 2020-03-15 14:13:25 · 1652 阅读 · 0 评论 -
因为要针对一些低版本系统进行开发,如何拒绝AndroidX
继续使用Android.support吧原创 2020-03-06 09:00:55 · 629 阅读 · 0 评论