
Android App Develop
Donald Linux
日拱一卒无有尽 功不唐捐终入海
展开
-
2024-03-14 Android app runOnUiThread 函数,它的作用是让一个Runnable对象在主线程(UI线程)上运行。
例如,如果你在一个后台线程中获取了一些数据,然后你想要将这些数据显示在UI上,你就需要使用。此外,如果你尝试在主线程之外的线程中直接更新UI,Android会抛出一个。需要注意的是,如果你已经在主线程中,你可以直接更新UI,无需使用。方法将更新UI的操作放在主线程上执行。在这个例子中,我们在一个新的线程中获取数据,然后使用。方法将更新UI的操作放在主线程上执行。原创 2024-03-14 16:06:00 · 1026 阅读 · 0 评论 -
2011-11-14 解决“java.lang.OutOfMemoryError: Failed to allocate a allocation until OOM” app 申请内存过多导致
android:hardwareAccelerated = "true"的时候会牺牲内存来进行硬件加速。android:largeHeap = "false"会限制app应用申请的内存大小。原创 2023-11-14 09:05:14 · 2019 阅读 · 0 评论 -
2023-11-03 android app TextView 滚动,ScrollView 之外的另外一种方法
【代码】2023-11-03 android app TextView 滚动,ScrollView 之外的另外一种方法。原创 2023-11-03 14:02:31 · 298 阅读 · 0 评论 -
Android java Handler sendMessage使用Parcelable传递实例化对象,我这里传递Bitmap 图片数据
【代码】Android java 使用Parcelable传递实例化对象,我这里传递Bitmap 图片数据。原创 2023-11-03 10:21:24 · 360 阅读 · 0 评论 -
2023-04-28 Android AlertDialog的使用 修改标题、内容、按钮的字体大小和字体颜色,自定义界面带输入框等,实现点击AlertDialog上按钮时不关闭对话框的方法.
1.4 代码解析,下面这两行是不让两个按钮显示的字符都是大写,没有这两行,显示都是大写。1.3 代码解析,下面这一行是点击对话框外面的时候不退出。2.3 enterpassword 布局文件。1.5 代码解析,下面这两行是让按钮改变颜色。原创 2023-04-28 10:35:59 · 2512 阅读 · 0 评论 -
2023-04-18 android app获取assets内的文件转File方法,先把asset里面的文件复制到/data/data/.../files/
3.2 可以看到assets目录下的文件被copy到files目录下面。android 获取assets内的文件转File - 简书。原创 2023-04-18 11:03:23 · 2187 阅读 · 0 评论 -
2023-03-06 Android studio java获取当前app版本号(versionCode)和版本名称(versionName)
【代码】2023-03-06 Android studio 获取当前app版本号(versionCode)和版本名称(versionName)原创 2023-03-06 11:04:33 · 3054 阅读 · 0 评论 -
2023-03-02 Android app android studio在布局文件xml添加自定义属性,然后解析的过程,需求是限制某个EditText 输入的首个字母不能是0
Android中常常用到写自己的控件来满足自己的开发需求,自定义控件在布局中使用的时候,如何增加标签属性来配置控件属性,又如何在控件中使用自己添加的属性一、在资源文件中配置标签属性在资源文件res/values/attrs.xml中增加declare-styleable 节点,name为自定义控件名字;2.1、在res/values/目录下添加在资源文件attrs.xml,增加 declare-styleable 节点,name为自定义控件名字;2.5 这样输入的第一个字符就不能是0了。原创 2023-03-02 11:35:42 · 443 阅读 · 0 评论 -
2023-02-24 AndroidR app 调用系统文件管理器打开指定路径目录
网上找到普遍都是这样:[cc]Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.setDataAndType(...Android 调用系统文件管理器打开指定路径目录 | 码农家园。原创 2023-02-24 17:27:26 · 2139 阅读 · 0 评论 -
2023-01-13 Android app java 获取设置控件背景颜色用setBackgroundColor,获取控件背景眼色用getBackground 、.getColor()的形式
【代码】2023-01-13 Android app java 获取设置控件背景颜色用setBackgroundColor,获取控件背景眼色用getBackground 、.getColor()的形式。原创 2023-01-13 18:01:27 · 1651 阅读 · 0 评论 -
2022-10-13 Android APP 全屏幕显示全透明沉浸式主题android:theme样式 Theme.TranslucentTheme
1、res/values/themes.xml 文件添加TranslucentTheme。3、修改之后效果图,app所有的activity 都是全透明沉浸式主题。2、AndroidManifest.xml 里面调用该theme。原创 2022-10-13 11:26:39 · 2447 阅读 · 0 评论 -
2022-10-22 Android app获取当前android系统的launcher包名
【代码】2022-10-22 Android app获取当前android系统的launcher包名。原创 2022-10-12 17:35:26 · 1374 阅读 · 0 评论 -
2022-10-10 Android 在其他应用上的悬浮窗View
【代码】2022-10-10 Android 在其他应用上的悬浮窗View。原创 2022-10-10 11:26:29 · 2986 阅读 · 0 评论 -
Android NDK: Your Android application project path contains spaces: ‘C: Files/Android Studio/jre/jre
一、编译JNIso库的时候遇到下面的error。原创 2022-07-23 10:12:02 · 483 阅读 · 0 评论 -
2022-07-16 Android app获取drawable中图片的高度宽度
代码】2022-07-16Androidapp获取drawable中图片的高度宽度。原创 2022-07-16 14:29:18 · 1278 阅读 · 0 评论 -
2022-07-16 Android app获取屏幕分辨率
代码】2022-07-16Androidapp获取屏幕分辨率。原创 2022-07-16 14:23:43 · 1900 阅读 · 0 评论 -
Android 11 进入app后 隐藏状态栏和导航栏
代码】Android11进入app后隐藏状态栏和导航栏。原创 2022-07-15 14:55:33 · 3829 阅读 · 0 评论 -
2022-03-09 TextView 内容过长的话 跑马灯效果 省略号在结尾、开头、中间效果
一、textview中内容过长的话自动换行,使用android:ellipsize与android:singleine可以解决,使只有一行。EditText不支持marquee用法如下:在xml中android:ellipsize = "end" 省略号在结尾android:ellipsize = "start" 省略号在开头android:ellipsize = "middle" 省略号在中间android:ellipsize = "marquee" 跑马灯...原创 2022-03-09 17:35:53 · 2626 阅读 · 0 评论 -
2022-03-09 Android布局 ScrollView滚动界面
一、样例一:15个按钮竖直排列,一般的屏幕不可能全部显示,得用ScrollView滚动界面。<?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical"..原创 2022-03-09 15:25:02 · 6248 阅读 · 0 评论 -
2022-03-04 Android adb查看DDR 容量大小
一、方法一:adb shell procrank二、方法二:adb shell cat /proc/meminfo三、上面是机子DDR是4G的容量四、参考文章查看Android内存的8中方法 - lipeil - 博客园原创 2022-03-04 17:21:11 · 4558 阅读 · 0 评论 -
2022-03-04 adb install 安装apk的时候会调用的代码,简单分析记录。实际的需求是禁止用户通过adb install 安装第三方app
一、adb install 安装apk的时候会有下面的log,有install字样。二、从上面的log可以知道android\system\core\adb\daemon\abb.cpp里面的bin程序一直在读命令ReadProtocolString,abb这个程序开机就在后台运行。三、静默安装文章Android Apk安装过程解析 - 简书......原创 2022-03-04 11:55:49 · 1955 阅读 · 0 评论 -
2022-03-02 Android APP 自动调整 TextView 文字大小仅显示一行
一、效果图如下,TextView 文字大小仅显示一行,超过后自动调整大小。二、源码1、源码预览2、重载TextView类,SingleLineZoomTextView 文件package com.giada.textviewautozoom;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics...原创 2022-03-02 16:28:22 · 1781 阅读 · 0 评论 -
2022-02-26 AndroidR 11 调用文件管理器并返回选中文件的路径
一、Android8 调用文件管理器并返回选中文件的路径的时候可以参考这个文章。Android中调用文件管理器并返回选中文件的路径_潘侯爷的博客-优快云博客二、Android11的从图标打开ExternalStorage是跟之前一样的。但是是打开Recent、Images、Downloads的时候各种问题,同样的软件在android8的时候可以运行,到Android11就不行,这里简单总结一下在Android11的时候打开浏览器的demo。 1、打开文件管理器的效果。...原创 2022-02-26 11:47:17 · 7841 阅读 · 0 评论 -
2022-02-25 android java file:///storage/emulated/0路径通过Uri.parse(uriString).g形式转换/storage/emulated/0
一、有时候获取到文件的路径是这样一种形式file:///storage/emulated/0,通过Uri.parse(uriString).getPath()可以转换成/storage/emulated/0路径。二、实际运行效果如下原创 2022-02-25 11:25:10 · 3793 阅读 · 0 评论 -
2022-02-24 Java中的 split 函数是用于按指定字符(串)或正则去分割某个字符串,从字符串中 以单个或多个空格进行分隔 提取字符串。
一、split函数,regex -- 正则表达式分隔符。limit -- 分割的份数。public String[] split(String regex, int limit)二、测试代码 1、java代码public class Main { public static void main(String[] args) { System.out.println("Hello World"); String str = ...原创 2022-02-24 16:42:33 · 682 阅读 · 0 评论 -
2022-02-24 Android R11 之后外部存储权限获取,Android R11 里将会引入一个特别的权限叫做 MANAGE_EXTERNAL_STORAGE,跟之前的版本有区别。
一、因为Android新版本外部权限的问题,折腾了几天,百思不得其解,特意记录下来一下。二、针对文件管理器以及一些备份类的应用,它们需要获得共享存储的更广泛的访问权限。Android 11 里将会引入一个特别的权限叫做MANAGE_EXTERNAL_STORAGE,该权限将授权读写所有共享存储内容,这也将同时包含非媒体类型的文件。但是获得这个权限的应用还是无法访问其他应用的应用专属目录 (app-specific directory),无论是外部存储还是内部存储。二、如果是按以前的方法申请...原创 2022-02-24 11:39:31 · 25035 阅读 · 5 评论 -
2022-02-23 AndroidR 系统只允许安装本公司的应用apk,禁止安装其他第三方的apk的解决方案
一、有个新的需求,系统只允许安装本公司的应用apk,禁止安装其他第三方的apk。二、解决思路,只运行安装包含某种字符包名的apk,通过apk的包名识别是不是本公司自己的apk。三、解决方案1、安装apk的代码在frameworks\base\packages\PackageInstaller\src\com\android\packageinstaller2、实现代码,frameworks\base\packages\PackageInstaller\src\com\android\...原创 2022-02-23 17:47:10 · 2841 阅读 · 0 评论 -
2022-02-23 Android Log等级和Log.isLoggable使用方法,通过这个在调试的时候可以临时查看一些log。
一、android.util.Log 常用的方法有以下5个:Log.v() ,Log.d() ,Log.i() ,Log.w() ,Log.e() ,按照日志级别从高到低为ERROR, WARN, INFO, DEBUG, VERBOSE 。二、今天看到Log.isLoggable,想了解这个函数的作用。三、加下面一段代码测试一下。//android.util.Log常用的方法有以下5个:Log.v() ,Log.d() ,Log.i() ,Log.w() ,Log.e(...原创 2022-02-23 16:55:46 · 1755 阅读 · 0 评论 -
2022-02-22 AndroidN之后 app代码安装apk,以及提示“There was a problem parsing the package“的解决方案
一、看demo代码的架构二、详细源码 1、在清单文件AndroidManifest.xml 添加权限和provider。<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.topdon.installapkdemo"> <application...原创 2022-02-22 19:51:37 · 3546 阅读 · 0 评论 -
2022-02-22 Android 源码里面添加一个系统app,最简单的app demo实例,附加源码
一、主要目前是想在android系统的源码里面添加一个app,编译出来后有系统权限的应用,有时候需要用系统应用验证一些东西。二、这个demo的代码架构如下:三、详细源码1、packages\apps\InstallApkDemo\src\main\java\com\topdon\installapkdemo\MainActivity.javapackage com.topdon.installapkdemo;import android.app.Activity;imp...原创 2022-02-22 10:42:02 · 3133 阅读 · 1 评论 -
2022-02-18 Android LinearLayout布局常用的实现居中、左对齐、右对齐
一、效果一,居中、左对齐、右对齐。<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:id="@+id/activity_main" android:layout_width="match_parent"原创 2022-02-18 10:31:34 · 9618 阅读 · 1 评论 -
2022-02-18 Android app 二维码扫描demo,用zxing库,实测ok,记录一下所参考有价值的文章,有生成二维码的demo,但没有亲测。
一、Android中二维码扫描的最常用库是zxing和zbar,这里用zxing。二、实测效果图,扫描完成后会以Toast方式显示结果。三、测试代码的架构四、代码不细说,想看源码的可以download下面这个仁兄的代码分析学习一下,我的代码基本都是照搬这个来测试的。 GitHub - wangyisll/QRDemo: 纯的二维码扫描功能五、主要参考这个文章Android纯的二维码扫描界面和功能-zxing_喵了个呜的博客-优快云博客六、参考其他的...原创 2022-02-18 10:04:00 · 1194 阅读 · 0 评论 -
2022-02-17 Android11 删除系统某种语言,我这里删掉粤语,修改frameworks/base/core/res/res/values/locale_config.xml里面的内容。
一、系统语言在frameworks/base/core/res/res/values/locale_config.xml 文件里面定义。二、这里我需要删掉粤语,修改如下:三、参考文章安卓增加或删除系统语言_我爱一次性的博客-优快云博客_android 删除系统语言...原创 2022-02-17 20:28:23 · 1184 阅读 · 0 评论 -
Android APP获取系统当前语言代码
一、Android APP获取系统当前语言代码 Locale locale = getResources().getConfiguration().locale; String language = locale.getLanguage(); String local = Locale.getDefault().toString(); String country =getResources().getC..原创 2022-02-16 15:53:43 · 7947 阅读 · 0 评论 -
2022-02-11 Android 沉浸式全屏、透明状态栏与状态栏文字颜色。
一、布局文件里面定义一个ImageView。<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="原创 2022-02-11 15:26:18 · 9446 阅读 · 3 评论 -
2022-02-11 Android ImageView 用setImageURI、setImageBitmap、BitmapDrawable等显示本地绝对路径的图片方法
一、如果ImageView显示app里面的资源文件直接用setBackgroundDrawable或setImageResource。二、如果是ImageView要显示显示本地绝对路径的图片,有三种方式1、方式一用:setImageURIdynanic_trace_image.setImageURI(Uri.fromFile(new File("/sdcard/trace_photo.jpg")));2、方式二:setImageBitmapString img_path =...原创 2022-02-11 14:49:18 · 9689 阅读 · 0 评论 -
2022-02-11 Android 弹出申请访问权限,动态访问权限弹窗,比如存储权限
一、Android 弹出申请访问权限代码,动态访问权限弹窗。public Boolean checkPermission() {boolean isGranted = true;if (android.os.Build.VERSION.SDK_INT >= 23) {if (this.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)..原创 2022-02-11 13:56:27 · 7995 阅读 · 0 评论 -
2022-02-09 Android 实现每次点击图标都进入某个Activity
一、Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance。要想每次点击图标都进入某个Activity,用singleTask模式。二、实例测试1、src\main\AndroidManifest.xml2、点击一个text进入另外一个activity。3、进入另外一共activity后,按下home键,app后台运行,这个时候再次点击图标会打开这个MainActivity,不执行onCreate...原创 2022-02-09 17:52:47 · 944 阅读 · 0 评论 -
2022-02-09 Android setLayoutParams动态修改RelativeLayout控件layout_width、layout_marginTop等。实际应用实例:控件随手指移动。
一、修改大致方法如下:LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) textview.getLayoutParams(); lp.leftMargin = 0; textview.setLayoutParams(lp); 二、实际应用实例:控件随手指移动。 1、布局文件文件RelativeLayout中有个ImageVIew,id是code。 2、首先我们要给控件设置触摸...原创 2022-02-09 11:43:32 · 3095 阅读 · 0 评论 -
2022-02-08 java 获取前N天的日期时间时分秒,先用SimpleDateFormat格式化时间,PS 本人某个实用软件中运用到。
一、需求是这样,比如现在是2022-02-01,我要获取前两天的日期,结果应该是2022-01-30。二、核心代码public static void main(String[] args) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date day = sdf.parse("2017-01-01"); long ms = day.get..原创 2022-02-08 19:16:09 · 764 阅读 · 0 评论