Android
thiscopy
夫未战而庙算胜者,得算多也;未战而庙算不胜者,得算少也。
展开
-
Kotlin 使用 viewBinding 和 Kotlin objectbox 增删改查
Kotlin 使用 viewBindingKotlin 使用 objectbox:Kotlin activity 使用 objectbox、Kotlin recyclerview 使用 objectbox原创 2022-08-19 14:05:09 · 973 阅读 · 2 评论 -
Invoke-customs are only supported starting with Android O (--min-api 26)
Android O 错误摘要原创 2022-08-13 17:44:43 · 603 阅读 · 0 评论 -
ObjectBox 初探
ObjectBox 增删改查、模糊查询、分页查询原创 2022-08-13 16:50:29 · 1102 阅读 · 0 评论 -
ViewBinding 初探-在Activity和Adapter中使用
viewBinding 替代 butterknife原创 2022-08-11 10:22:27 · 1303 阅读 · 0 评论 -
Android Studio App报红×,并且创建不了Activity
创建不了Activity原创 2022-08-03 14:34:30 · 498 阅读 · 0 评论 -
Unable to get provider com.tencent.bugly.beta.utils.BuglyFileProvider
腾讯bugly 一直找不到那个类安装好程序后直接闪退,或者是点击更新时闪退,调试报错代码如下:06-28 09:17:32.928 5162-5162/com.buglytest.distributor E/AndroidRuntime: FATAL EXCEPTION: main Process: com.buglytest.distributor, PID: 5162 java.lang.RuntimeException: Unable to get provider co.原创 2021-08-17 09:55:23 · 1107 阅读 · 0 评论 -
android 音乐播放
import android.content.Context;import android.media.MediaPlayer;import android.media.MediaPlayer.OnCompletionListener;import android.net.Uri;import android.widget.Toast;import java.io.IOException;/** * 播放工具类 */public class MediaPlayerManager {.原创 2021-03-13 15:20:27 · 113 阅读 · 0 评论 -
android Glide 加载网络图片
import android.content.Context;import android.widget.ImageView;import com.bumptech.glide.Glide;import com.bumptech.glide.Priority;import com.bumptech.glide.load.engine.DiskCacheStrategy;import com.xolo.v6app.R;import java.io.File;import jp.wasabe.原创 2021-03-13 15:17:06 · 783 阅读 · 0 评论 -
android 应用程序Activity管理类
import android.annotation.SuppressLint;import android.app.Activity;import android.app.ActivityManager;import android.content.Context;import java.util.Stack;/* * 作者:iscopy on 2018/8/28 * 邮箱:iscopy@163.com * 版本:v1.0 * 应用程序Activity管理类:用于Activity管..原创 2021-03-13 15:14:47 · 206 阅读 · 0 评论 -
android 获取当前应用的版本信息
/** * @param context * @return 当前应用的版本信息 */public static String getVersionName(Context context) { try { PackageManager packageManager = context.getPackageManager(); PackageInfo packageInfo = packageManager.getPackageInfo( .原创 2021-03-13 15:12:21 · 288 阅读 · 3 评论 -
android 获取设备基础信息
/** * 获取设备宽度 * * @param context * @return */public static int deviceWidth(Context context) { return context.getResources().getDisplayMetrics().widthPixels;}/** * 获取设备高度 * * @param context * @return */public static int deviceHeight(Contex.原创 2021-03-13 15:10:44 · 141 阅读 · 0 评论 -
android 获取设备唯一 ID
/** * 获取设备唯一 UDID * @param context * @return */ @SuppressLint("MissingPermission") public static String getUDID(Context context){ String androidID = Settings.Secure.getString(context.getContentResolver(), Settings....原创 2021-03-13 15:06:11 · 665 阅读 · 0 评论 -
android 字符串大小写转换
/** * 将给定字符串中给定的区域的字符转换成小写 * * @param str 给定字符串中 * @param beginIndex 开始索引(包括) * @param endIndex 结束索引(不包括) * @return 新的字符串 */public static String toLowerCase(String str, int beginIndex, int endIndex) { return str.replaceFirst(str.substring(begi.原创 2021-03-13 14:46:32 · 2760 阅读 · 0 评论 -
android MD5加密
/** * 将给定的字符串MD5加密 * * @param string 给定的字符串 * @return MD5加密后生成的字符串 */public static String MD5(String string) { String result = null; try { char[] charArray = string.toCharArray(); byte[] byteArray = new byte[charArray.length].原创 2021-03-13 14:44:39 · 125 阅读 · 0 评论 -
当 android studio 依赖被墙时,可以尝试以下方法
一、设置加载依赖的储存库如下repositories { mavenLocal() maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' } maven { url 'http://maven.aliyun.com/nexus/content/原创 2021-02-23 17:08:29 · 396 阅读 · 0 评论 -
android studio快速集成 bugly 更新
一、在 build.gradle 添加 bugly 更新依赖//bugly更新implementation 'com.tencent.bugly:crashreport_upgrade:latest.release'implementation 'com.tencent.bugly:nativecrashreport:latest.release'二、在 build.gradle 设置 debug 构建类型不设置的话,链接数据线安装的应用和 release 打包的应用匹配不上,更新时下载的更原创 2021-02-22 14:53:07 · 357 阅读 · 0 评论 -
android WebView 实现播放腾讯视频解决全屏播放问题
解决办法是使用腾讯X5内核一、在 build.gradle 引入dependencies//腾讯内核WebViewapi 'com.tencent.tbs.tbssdk:sdk:43903'二、在 build.gradle 设置 ndkndk { // 设置支持的SO库架构 abiFilters 'armeabi', 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a', "mips"}三、在AndroidManifest...原创 2021-01-13 10:43:40 · 1089 阅读 · 0 评论 -
Android 手机屏幕分辨率
//获取手机屏幕分辨率的类DisplayMetrics dm =new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);//手机的宽度、高度像素单位为pxLog.d("宽度", dm.widthPixels + "");Log.d("高度", dm.heightPixels + "");...原创 2020-11-27 11:12:17 · 222 阅读 · 0 评论 -
android、 ios 与 H5 交互
H5判断是Android、IOS或是微信浏览器https://blog.csdn.net/weixin_41454168/article/details/107918848H5 与 android 交互window.Android.myMethods(相关参数)H5 与 ios 交互window.webkit.messageHandlers.myMethods.postMessage(参数)...原创 2020-08-19 09:26:47 · 110 阅读 · 0 评论 -
H5判断是Android、IOS或是微信浏览器
var u = navigator.userAgent;var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端if(isiOS || isAndroid){ var html = '<a class="end_btn bg-ff5858 android_pay" hre.转载 2020-08-10 18:04:19 · 708 阅读 · 0 评论 -
Android 首页双击返回桌面
//记录用户首次点击返回键的时间 private long firstTime = 0; @Override public boolean onKeyUp(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_BACK: long secondTime = System.currentTimeMillis();...原创 2020-05-21 16:52:38 · 291 阅读 · 0 评论 -
2020 Android 微信支付
一、参照文档 微信支付官网-文档中心-API文档-开发文档(V2版)-APP支付二、打一个项目正式包,用来生成应用签名 应用签名工具下载 在测试机中同时安装 项目正式包 和 应用签名工具 在应用签名工具中输入该应用的包名,生成应用签名 应用签名 和 应用包名 都在 微信开放平台申请开发应用 时需要用到 注意:如果不是正式包,可能导致上架发布后不可...原创 2020-04-16 13:39:25 · 586 阅读 · 0 评论 -
2020 Android 支付宝支付
一、下载支付宝支付SDK 下载最新版,下载之后解压,找到 alipaySdk-15.7.4-20200228192259.aar 文件(这里是15.7.4版本,看最新版是多少版本) 注意,支付宝 SDK 从 15.5.7 开始,打包方式更换为 AAR,替代之前的 JAR 打包二、导入 aar 包到项目 将 alipaySdk-15.7.4-20200228192259....原创 2020-04-16 09:44:41 · 830 阅读 · 0 评论 -
Android 未加密 APK 反编译,重新打包
一、下载相关工具-放在同一个文件夹下(android APK反编译) apktool.bat https://ibotpeaches.github.io/Apktool/install/ apktool.jar https://bitbucket.org/iBotPeaches/apktool/downloads/ dex2jar-2.0...原创 2020-04-09 11:53:39 · 883 阅读 · 0 评论 -
Android 下拉刷新、上拉加载 SmartRefreshLayout
在开发过程中,不可避免的会使用到 RecyclerView 展示数据,很多时候数据很多,需要分页展示,这样,就需要用到下拉刷新、上拉加载功能,以达到友好交互的效果,下面我们就来看看如何简单的实现这个功能!1、效果展示1、添加使用的依赖2、布局 activity_main.xml3、适配布局 recycler_refresh.xml3、数据适配器 RefreshAdapter....原创 2019-01-17 15:17:14 · 1753 阅读 · 0 评论 -
Android 常用布局控件 按钮 Button (一)
基础不够扎实,今天开始决定研究一下原生的基础控件今天研究的是按钮相关的控件,因为是学习,所以布局丑了点1、Button 普通按钮2、ToggleButton 开关按钮3、ImageButton 图片按钮4、RadioButton 单选按钮这些没啥好说的,直接上代码吧 (注意多选是:CheckBox 就另外研究了)...原创 2019-01-11 19:09:36 · 5272 阅读 · 0 评论 -
android调用系统拨打电话
思路1、获取拨打电话的号码;2、利用 Intent 调用系统拨打电话;实践1、layout布局<EditText android:id="@+id/input_tel" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入手机号"/&...原创 2018-03-12 12:20:55 · 1093 阅读 · 0 评论 -
Android 常用布局控件 TextView(二)
有时候,需要对 TextView 中的文字进行一些操控,主要用到 SpannableString 类1、部分颜色设置2、部分字体大小设置3、图片设置4、部分字体背景设置5、部分文字下划线点击设置6、所有文字下划线设置7、所有文字中划线设置8、所有文字中划线设置(加清晰)9、文字加粗10、段落首行缩进11、整体作用 12、补充TextView占据的行数and...原创 2019-01-14 14:20:51 · 365 阅读 · 0 评论 -
Android 常用布局控件 EditText(三)
有时候,需要对 EditText 中的文字进行一些操控,与监听,下面我们来看看又那些吧!1、禁止输入、允许输入2、设置输入限制3、设置只能输入数字4、光标位置设置5、输入监听6、默认进入界面不弹出输入框android:focusable="true"android:focusableInTouchMode="true" 实现代码activity_edit_text....原创 2019-01-14 19:30:49 · 294 阅读 · 0 评论 -
Android 常用布局控件 ImageView(四)
ImageView 是 APP 中常用的布局控件,几乎没有不用到图片的 APP ,所以自己写写记录一下,里面的内容有些是借鉴而来,如有侵权,请与我联系。1、图片的前景色2、缩放显示3、图片透明度4、自定义的原型图显示5、图片在 ImageView 的布局方式实现代码activity_image_view.xml<?xml version="1.0" encoding=...原创 2019-01-15 11:16:21 · 510 阅读 · 0 评论 -
android 动态注册广播、发送广播、接收广播、销毁广播
android 开发中,广播是经常会用到的我来记录一下动态注册广播的简单用法一、自定义一个广播+接收广播 public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent)...原创 2019-06-28 11:38:21 · 2658 阅读 · 1 评论 -
Android EditText 相关
1、EditText 隐藏下划线android:background="@null"2、EditText 限制输入条件android:digits="0123456789."android:inputType="number|numberDecimal"edittext.setInputType( InputType.TYPE_CLASS_NUMBER);3、将光标移至文字...原创 2018-12-13 16:25:59 · 129 阅读 · 0 评论 -
android 实现自适应布局 FlowLayout
在实际开发中,会出现如下设计:(实现效果)这样的布局用 RecyclerView ,等布局都不太好写,瀑布流布局的宽度是一样的,也不符合。所以只能自定义一个 FlowLayout 布局import android.content.Context;import android.util.AttributeSet;import android.view.View;import ...原创 2019-01-04 18:01:24 · 602 阅读 · 0 评论 -
Android ConstraintLayout 布局
就个人使用 ConstraintLayout 布局经验,逐步记录一、基本属性app:layout_constraintTop_toBottomOf="@+id/xxx" 这里 top 和 bottom 指当前布局的 top 对齐id为xxx的布局的 bottom更换其他方位可以达到不同的控制效果,其中有 top、bottom、start、end 分别对应上下左右二、失效...原创 2019-01-04 16:16:17 · 212 阅读 · 0 评论 -
android碎片简易实现方法(Fragment)
实现步骤:1、Activity 界面 xml 布局(界面导航栏和碎片片段容器)2、实现 Fragment 的 xml 布局 界面的布局(需要几个就实现几个)3、实现 Fragment 并和xml 连接(有几个就实现几个)4、在 Activity 中初始化各个 Fragment 5、实现添加和移除 Fragment 视图方法6、灵活的调用添加和移除 Fragment 视图的方法视图:详细实...原创 2018-03-14 18:28:35 · 845 阅读 · 0 评论 -
android调用系统发送短信
思路1、获取用户输入的将要接收短信的号码;2、获取用户输入的将要发生发送的短信内容3、利用 Intent 调用系统发送短信;实践1、layout布局<EditText android:id="@+id/tel" android:layout_width="match_parent" android:layout_height="wrap_content" an...原创 2018-03-12 13:53:03 · 4001 阅读 · 1 评论 -
android简易弹框
安卓的简易弹框非常简单1、普通的 ToastToast.makeText(ToastActivity.this, "普通的Toast", Toast.LENGTH_SHORT).show();2、带图标的 ToastToast toast = new Toast(this);toast.setDuration(Toast.LENGTH_SHORT); //设置持续时间...原创 2018-03-12 15:24:35 · 473 阅读 · 0 评论 -
android自定义消息提示框
自定义消息提示框主要分为两部分1、自定义消息提示框的布局想要怎样的布局都可以自己定义,主要是根据 id 来控制每一个控件创建 view_toast.xml 布局:<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gr...原创 2018-03-12 18:30:18 · 2408 阅读 · 0 评论 -
android自定义对话框
实现步骤:1、自定义需要的布局2、创建适配器,适配布局3、调用自定义对话框详解:1、自定义需要的布局我需要的布局(view_bomb_box.xml)效果是这样的其实自定义就是根据自己需要自己定义,相信大家都会布局的,下面是我的布局<?xml version="1.0" encoding="utf-8"?><!--自定义弹框布局--><LinearLayout x...原创 2018-03-13 11:59:28 · 1730 阅读 · 0 评论 -
Android 自定义滚动选择日期
实现步骤:1、实现一个滑动选择器2、自定义需要的布局3、为布局插入需要的数据,调用自定义滑动日历选择控件效果:详解:1、实现一个滑动选择器声明:这个滑动选择器是网上淘的,但现在没找到原创,如有疑议,可以留言import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;im...转载 2018-03-13 16:17:48 · 6560 阅读 · 0 评论