![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android番外篇
其子昱舟
挣扎出深渊前,得明白自己处于深渊中。
展开
-
获取“SHA1”信息,你可能会遇到的奇葩问题。使用百度地图API,获取SHA1出现的【java.lang.Exception:密钥库文件不存在】解决问题汇总
1、正常获取“SHA1”出现的问题官网获取“SHA1”说明:http://lbsyun.baidu.com/index.php?title=FAQ/SHA1问题截图:原因分析:没有定位到 “ .android ” 文件夹定位文件夹成功就会出现(在获取 “SHA1”即可):2、Keytool (jdk自带工具) 获取“SHA1”一开始没注意看,是用Keytool (jdk...原创 2020-04-18 14:27:29 · 1049 阅读 · 0 评论 -
java.lang.IllegalStateException: This Activity already has an action bar supplied by the window deco
异常信息:Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.问题原因:当在activi原创 2020-08-23 23:44:06 · 632 阅读 · 0 评论 -
Build成功,但虚拟机无法创建app,点击Logcat 弹窗显示Unable to create Debug Bridge:Unable to start adb server
今天虚拟机运行项目的时候,发现Build成功,但是虚拟机上面却无法成功创建APP的解决方法~查看提示是,需要我们手动启动运行ads.exe服务器度娘无结果之后,我使用了Window大法,重启电脑,就解决了ads.exe服务器启动失败的问题当然你也可以进入命令提示符,手动运行启动ads.exe服务器也能解决PS:当我们在app.buile下构建了abiFilters “armeabi-v7a”, "arm64-v8a"的时候可能提示无法构建与之同步的Gradle等等问题,也可以通过重启电脑解决原创 2020-08-17 10:19:44 · 384 阅读 · 0 评论 -
xml布局文件中,设计的整体布局底色为黑色 如何解决
问题上图:解决办法: 在总布局的代码块里面添加白色的背景色代码就可以了总结:我是个铁憨憨原创 2020-08-12 15:21:04 · 594 阅读 · 0 评论 -
Android studio3.3版本第一次安装出现无法加载项目问题探寻
安装好之后,新建项目出现红字样式,同时无法加载出可视化界面显示的是Loading(一直加载中)尝试第一次解决方式会长时间停留在这里然后就会出现超时更改之后还是出现超时的问题到这里,可以初步判断,gradle版本的问题导致?...原创 2019-12-20 12:01:04 · 298 阅读 · 0 评论 -
Android效率组件篇 设置长按响应时间(时长)
说明:1、XXXView:你需要长按的控件 2、2000:代表长按的秒数,1000为一秒。原创 2022-10-11 10:44:13 · 1085 阅读 · 0 评论 -
Android借鉴博客篇
一、主要用于记录某些功能开发Android快捷开关实现https://blog.csdn.net/stevenhu_223/article/details/9052083原创 2021-07-19 09:44:08 · 70 阅读 · 0 评论 -
Android借鉴博客篇 Android Studio各个历史版本
Android Studio各个历史版本下载地址:https://developer.android.google.cn/studio/archive#android-studio-3-0?utm_source=androiddevtools&utm_medium=website原创 2022-12-21 10:19:39 · 921 阅读 · 0 评论 -
Android番外篇 ‘gradlew‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
'gradlew' 不是内部或外部命令,也不是可运行的程序 或批处理文件原创 2022-08-31 11:24:35 · 701 阅读 · 0 评论 -
Android番外篇 “adb”不是内部或外部命令,也不是可运行的程序或批处理文件
一、情景再现在cmd中,输入命令 adb 命令之后,发现提示以下信息‘adb’ 不是内部或外部命令,也不是可运行的程序 或批处理文件二、解决方案(1)找到adb本机的目录,同时复制这个目录C:\AndroidSDK\platform-tools(2) 复制路径,进入环境变量,配置Path(3)最后cmd输入adb...原创 2021-12-23 22:50:06 · 2275 阅读 · 2 评论 -
Android番外篇 Android Studio 右上角Gradle不显示 Task
解决方案File -> Settings -> Experimental -> 取消勾选 “Do not build Gradle task list during Gradle sync”然后同步项目:原创 2021-12-14 17:05:17 · 1910 阅读 · 0 评论 -
Android番外篇 关于移动端开发的设备属性说明(下)
一、屏幕尺寸 - 详细图二、分辨率 - 详细图三、屏幕像素密度屏幕像素密度(DPI)指每一英寸长度中,可显示输出的像素个数,DPI的数字受屏幕尺寸和分辨率所影响,DPI可以通过计算所得四、什么是dp、dip、sp、px,它们之间的关系?px 构成图像的最小单位dip Desity Independent pixels的缩写,即密度无关像素android内部在识别图像像素时以160dpi为基准,1dip=1px或1dp=1px例:在下列三台设备上使用DP进行操作480原创 2021-12-09 17:19:20 · 709 阅读 · 0 评论 -
Android番外篇 关于移动端开发的设备属性说明(上)
一、何为 “尺寸”显示设备的物理尺寸(屏幕对角线长度) 单位 “英寸”英寸(inch,缩写为in)在荷兰语中的本意是大拇指,一英寸就是指甲底部普通人拇指的宽度。英寸单位和厘米的换算:1英寸 = 2.54厘米二、何为 “分辨率”分辨率决定了位图图像细节的精细程度图像的分辨率越高,所包含的像素就越多,图像就越清晰。同时,它也会增加该文件占用的存储空间。三、何为 “像素”像素即一个小方块,它具有特定的位置和颜色。像素可以作为图片或电子屏幕的最小组成单位。1、在css布局中使用的px单原创 2021-12-09 16:36:11 · 182 阅读 · 0 评论 -
Android番外篇 Activity绑定Service工具类 含自动重连功能
一、自动重连工具类import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.content.ServiceConnection;import android.os.Handler;import android.os.IBinder;import android.os.Message;import android.util.Lo原创 2021-08-30 18:03:55 · 421 阅读 · 0 评论 -
Android番外篇 ‘gradle‘ 不是内部或外部命令,也不是可运行的程序或批处理文件
一、情景再现在Terminal中,输入命令 gradle 命令之后,发现AS提示以下信息 'gradle' 不是内部或外部命令,也不是可运行的程序 或批处理文件二、解决方案(1)找到gradle本机的目录,同时复制这个目录C:\Users\(你的计算机).gradle\wrapper\dists(2) 配置GRADLE_HOME(3)配置Path(4)验证在cmd中输入 gradle -v,如果输出gradle的版本号,就代表配置正确。完成之后需要重启Android Stu原创 2021-08-25 16:14:18 · 1954 阅读 · 0 评论 -
Android番外篇 Android Studio Gradle 删除缓存的依赖库
(1) 关闭Android Studio 进入本地缓存依赖库所在的目录目录地址: C:/Users/Administrator/.gradle/caches/modules-2/files-2.1 里面就是缓存的依赖库(2) 删除你需要删除的包(3) 开启Android Studio,重新compileAndroid Studio找不到在本地缓存的依赖包,就会重新下载最新的依赖库。...原创 2021-08-25 16:02:09 · 1940 阅读 · 0 评论 -
Android番外篇 Android Studio查看第三方库依赖树
方法1:使用 Gradle View 插件(1) 搜索 Gradle View,然后安装,并重启Android Studio(2) 点击菜单栏上的View -> Tool Windows -> Gradle View ,就可以查看依赖了方法2:使用Gradlew 命令1、打开终端,cd 进入工程根目录,有 gradlew 文件的目录基本就是这个工程的根目录了。也可以直接在Android Studio的底部工具栏点击 Terminal,会自动进入工程根目录。2、一般情况,grad原创 2021-08-25 15:58:26 · 1605 阅读 · 0 评论 -
Android番外篇 华为手机APP闪退重启清空Log日志问题解决
问题一:没有Log.v和Log.d日志解决方案:进入拨号界面输入:##2846579##依次选择:后台设置—LOG设置—AP 日志重新启动手机问题二:闪退重启清空Log日志方式一 :错误出现后,迅速拔掉USB线 【偶尔有用】方式二 :1、找到手机设置 —> 开发人员选项 —> 在调试模块,打开USB调试;2、在调试模块内,找到日志记录器缓冲区大小,改为1M(也可选择更大)3、进入拨号界面输入:##2846579##---->选择USB端口设置---->选择原创 2021-08-24 17:45:04 · 2685 阅读 · 0 评论 -
Android番外篇 AndroidStudio独立运行Module
进入Module的build.gradle添加apply plugin: 'com.android.application'移除apply plugin: 'com.android.application'就能看见可以运行了原创 2021-06-24 09:43:15 · 1234 阅读 · 0 评论 -
Android番外篇 如何从一个EditText跳转到另一个EditText
一、Activitypublic class ActivityMain extends Activity{ private EditText edt_hour; private EditText edt_minute; private EditText edt_second; TextWatcher tw = new TextWatcher(){ //@Override public void beforeTextChanged(CharSequence s, int start,原创 2021-06-15 14:48:33 · 512 阅读 · 6 评论 -
Android番外篇 Dialog点击返回键及屏幕不消失 Dialog系列(一)
一、链式 Dialog 弹窗设置返回键及屏幕不消失 new XXXDialog.Builder(getContext()) //设置“在外部触摸时取消” .setCanceledOnTouchOutside(false); //设置为可取消 .setCancelable(false); .show();二、常规 Dialog ProgressDialog progressDialog = new ProgressDialog(getContext());原创 2021-06-04 14:47:48 · 1851 阅读 · 0 评论 -
Android番外篇 LruCache缓存机制
一、引言Android提供的使用了(Least Recently Used)近期最少使用算法的缓存类,内部基于LinkedHashMap实现。构造时需要确定Cache的最大内存 //获取程序最大可用内存 int max = (int)Runtime.getRuntime().maxMemory(); //取可用内存的四分之一做缓存 int size = max/4;sizeOf() 方法 在添加value到Cache时会被调用,需要返回添加进数据的字节大小原创 2021-06-03 14:52:43 · 1104 阅读 · 3 评论 -
Android番外篇 RecyclerView 移除飞行效果动画
一、移除飞行动画代码import android.animation.AnimatorListenerAdapter;import android.animation.ObjectAnimator;import android.view.animation.Animation;import android.view.animation.TranslateAnimation;import androidx.recyclerview.widget.RecyclerView;import andro原创 2021-06-03 14:41:17 · 559 阅读 · 0 评论 -
Android控件篇 实时显示时间控件 【TextClock】
效果图:代码如下:<TextClock android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginTop="@dimen/margin_largger_8x" android:layout_gravity="center" android:fo原创 2021-06-02 14:03:16 · 1604 阅读 · 0 评论 -
Android番外篇 Glide获取图片Path、Bitmap用法详解
(一)图片下载缓存好之后获取Glide.with(mContext).load(url).asBitmap().into(new SimpleTarget<Bitmap () { @Override public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap glideAnimation) { image.setImageBitmap(resource原创 2021-06-02 11:54:53 · 1224 阅读 · 1 评论 -
Android番外篇 NestedScrollView嵌套RecyclerView
(1)使用NestedScrollView嵌套RecyclerView时,滑动lRecyclerView列表会出现强烈的卡顿感解决方式:setNestedScrollingEnabled()方法//启用嵌套滚动mRecyclerView.setNestedScrollingEnabled(false);源码解析public class RecyclerView extends ViewGroup implements ScrollingView, NestedScrollingChild {.原创 2021-06-02 11:22:26 · 3663 阅读 · 2 评论 -
Android番外篇 ViewPager.setOffscreenPageLimit()
一、前言问题缘由:ViewPager.setOffscreenPageLimit()设置的预加载数量setOffscreenPageLimit() 方法设置的默认值是 1(1)ViewPager 会预加载几页(2)ViewPager 会缓存 2*n+1 页(n为设置的值)如设置为n=1,当前在第一页,会预加载第二页,滑倒第二页,会预加载第三页,当滑倒第三页,第一页会销毁,第四页会加载。所以ViewPager 中Fragment的生命周期:setOffscreenPageLimit 的转载 2021-05-17 10:05:53 · 1829 阅读 · 0 评论 -
Android番外篇 Eclipse配置android sdk
一、下载1、android开发者官网2、android中文网下载sdk二、安装安装前先要安装java jdkOracle官网安装过程基本就是点下一步,注意系统盘c盘如果容量比较小,就不要安装到系统盘,因为后面要下载许多东西,比较大.如下图我安装到d盘第一步 配置环境变量点这里详细介绍windows系统如何配置环境变量注意android sdk环境变量需要在path后面添加\platform-tools和\tools两条路径把这句;%ANDROID_HOME%\platform原创 2021-05-14 11:22:40 · 545 阅读 · 2 评论 -
Android番外篇 监听安卓手机中的应用安装与卸载
(一)原理解析在Android系统中,应用程序的安装与卸载均会由系统监听并进行"全局广播"。其中,BroadcastReceiver就是Android系统全局广播监听类。方式流程:实现监听应用的安装与卸载自定义一个类去继承BroadcastReceiver并实现相应的方法与逻辑处理对自定义广播进行注册(二)实战演示(1)自定义BroadcastReceiver自定义一个AppInstallReceiver 类继承系统的BroadcastReceiver类,实现其onReceiver方原创 2021-05-10 16:03:14 · 1027 阅读 · 3 评论 -
Android番外篇 如何针对获取的应用程序包访问应用商店返回该程序的分类类别
Document :https://developer.android.google.cn/reference/org/w3c/dom/Documentimplements Nodeorg.w3c.dom.DocumentElement : javax.lang.model.elementpublic class ApplicationClassificationUtil { //商店url public final static String GOOGLE_URL = "https原创 2021-04-29 15:05:21 · 74 阅读 · 0 评论 -
Android番外篇 获取 “Apk的包名” 和 “类名” 的实现方法
需要调用第三方APK应用【包名和类名】/** * 通过APK地址获取此APP的包名和版本等信息 * */private void getPackageName() { //输入APK地址 String FilePath="*.apk"; PackageManager pm = getPackageManager(); PackageInfo info = pm.getPackageArchiveInfo(FilePath, Packa.原创 2021-04-26 11:24:32 · 1100 阅读 · 0 评论 -
Android番外篇 获取当前Android系统的launcher包名 ( launcher : 启动器 )
由于定制的原因,不同手机的launcher包名不一样miui: com.miui.homehuawei: com.huawei.android.launchermoto and htc: com.android.launchersamsung: com.sec.android.app.launcherpublic String getLauncherPackageName(Context context){ final Intent intent = new Intent(.原创 2021-04-26 11:19:16 · 1391 阅读 · 0 评论 -
Android番外篇 SharedPreFerences使用
一、前言一种最轻量的储存类,储存为xml文件储存到/data/data/包名/shared_prefs下,一般用来存储一些比较简单的数据二、存储数据SharedPreFerences 储存数据分为四步新建sharedPreFerences对象通过sharedPreFerences.editor()创建editor对象储存数据,通过editor.putString()、editor.putInt()方法储存,括号内是以键值对的形式存在例如editor.putString(“teacher”,原创 2021-04-20 18:00:52 · 86 阅读 · 0 评论 -
Android番外篇 屏蔽返回键
在(Activity)活动中重写下面该方法即可(复制粘贴即可使用): @Override public boolean onKeyDown(int keyCode, KeyEvent event){ if(keyCode == KeyEvent.KEYCODE_BACK) { /** 不执行父类点击事件 */ return true; } /** 继续执行父类其他点击事件 */ re原创 2021-04-20 17:55:41 · 107 阅读 · 0 评论 -
Android番外篇 监听应用安装
public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_PACKAGE_ADDED)) { // install String packageName = intent.getDataString(); packageName = filterPackage(pac...原创 2021-04-16 14:25:17 · 335 阅读 · 0 评论