- 博客(60)
- 收藏
- 关注
原创 Handler的正确使用姿势+解决内存泄露
在这个示例中,我们创建了一个静态内部类`MyHandler`,它继承自`Handler`。在`MyHandler`中,我们使用了一个弱引用来持有`MyFragment`的实例,以避免内存泄漏。在`handleMessage`方法中,我们通过弱引用获取到`MyFragment`的实例,并在其中处理消息。静态内部类不会持有外部类的引用。在`MyFragment`中,我们创建了一个`MyHandler`的实例`mHandler`,并在`onResume`方法中发送了一个空消息。
2023-08-24 19:49:07 185
原创 Android 中 Fragment判空
3. 判断 Fragment 是否已经被销毁,可以通过 Fragment 的 isDetached() 或 isRemoving() 方法来判断。1. 判断 Fragment 是否已经被添加到 Activity 中,可以通过 Fragment 的 isAdded() 方法来判断。2. 判断 Fragment 的 View 是否已经被创建,可以通过 Fragment 的 getView() 方法来判断。// Fragment 不为空。// Fragment 为空。
2023-08-24 19:46:47 862
原创 Android中正确使用Handler的姿势
如果您需要在后台线程中执行某些任务并更新UI,则需要使用Handler将任务发送回主线程。为此,您需要在后台线程中创建Handler对象,并使用post()或postDelayed()方法将任务发送回主线程。如果您需要在后台线程中执行长时间运行的任务,则可以使用HandlerThread。HandlerThread是一个带有Looper的线程,可以用于在后台线程中执行任务并使用Handler将结果发送回主线程。因此,如果您需要在后台线程中执行某些任务并更新UI,则需要使用Handler将任务发送回主线程。
2023-08-24 19:44:46 640
原创 手机debug模式无法连接AndroidStudio,或者Android项目运行失败
在开发中,经常会遇到手机开发模式无法连接AndroidStudio;或者连接后运行失败的问题,
2023-08-17 11:31:28 307
原创 Android项目引入aar(以及遇到的坑)
1.将aar文件复制到libs文件夹中;2.build.gradle的dependencies中加入 implementation(fileTree("libs/aaa.aar"));
2023-08-10 17:28:22 789
原创 Android 解决Gradle 三方依赖冲突方法
上面的代码中,我们使用了`dependencyUpdates`插件,并定义了一个`dependencyUpdates`任务来查找依赖冲突。4. 使用`maven-enforcer-plugin`插件强制执行依赖规则:在build.gradle文件中,可以使用`maven-enforcer-plugin`插件来强制执行依赖规则。使用`dependencyUpdates`插件查找依赖冲突:在build.gradle文件中,可以使用`dependencyUpdates`插件来查找依赖冲突。
2023-04-20 11:01:59 1124
原创 Andorid解析AAB为apk
背景:项目是海外项目,app需要在Google play提审,所以需要测试aab包。步骤说明:1.安装adb或Android Studio,以下使用的是adb,adb要配置环境变量,不然会导致报错2.下载工具bundletool-all-1.8.2.jar 地址:https://github.com/google/bundletool/releases3.将所需文件放到同一个文件夹下,红框中的文件是必须的文件,分别是:上一步下载的工具、手机参数配置文件、文件,其他文件下边会说明..
2021-12-15 14:21:46 876
原创 Android多渠道打包方式--CV就行
找到项目中的build.gradle 找到位置CV就行apply plugin: 'com.android.application'/*多渠道打包自定义日期*/def releaseTime() { return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC"))}/*多渠道打包自定义名称(英文)*/def ...
2020-04-30 17:16:04 454 2
原创 刘海屏去除任务状态栏 &APPGradle或者代码乱码
参考链接https://www.songma.com/news/txtlist_i39225v.html用法BaseActivity调用的(每个Activity都要继承)if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { val attributes = window.attributes; // 仅...
2019-11-26 17:38:25 287 2
原创 Android项目升级安卓x
迁移到Androidxandroid.useAndroidX=trueandroid.enableJetifier=true
2019-11-26 11:09:35 560
原创 按两次退出程序&改变不同字体颜色编辑&设置不同字体大小
private long mAppExitTime; //退出应用时间@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if (ViewUtils.getViewVisibility(flApply))...
2019-11-06 15:38:22 135
原创 Android动态权限申请工具类
package com.example.gaowen38.utils;import android.Manifest;import android.app.Activity;import android.content.Intent;import android.content.pm.PackageManager;import android.net.Uri;import andr...
2019-10-31 11:24:21 168 2
原创 git修改分支名称
假设分支名称为oldName想要修改为 newName1. 本地分支重命名(还没有推送到远程)git branch -m oldName newName2. 远程分支重命名 (已经推送远程-假设本地分支和远程对应分支名称相同)a. 重命名远程分支对应的本地分支git branch -m oldName newNameb. 删除远程分支git push --de...
2019-10-29 11:19:16 163 1
原创 ReboundScrollView仿ios回弹效果
package com.example.gaowen38.lib.widgets;import android.content.Context;import android.graphics.Rect;import android.util.AttributeSet;import android.util.DisplayMetrics;import android.view.Focu...
2019-10-08 17:36:37 726 1
原创 EventBus
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)public void onEventMainThread(EventBusBean event) { }onCreate中EventBus.getDefault().register(this);@Overrideprotected void onDest...
2019-09-17 10:11:56 188
原创 pickerView用法------代完善
导包implementation 'com.contrarywind:Android-PickerView:4.1.8'Bean回调package com.example.gaowen38.data.bean;import com.contrarywind.interfaces.IPickerViewData;public class ProvinceBean implem...
2019-09-16 10:33:21 1474 1
原创 学习-右拉功能
依赖//列表左滑功能implementation 'com.yanzhenjie:recyclerview-swipe:1.2.3'<com.yanzhenjie.recyclerview.swipe.SwipeMenuRecyclerView android:id="@+id/black_list_recycler_view" android:layout_w...
2019-09-12 10:31:27 174 1
原创 sign文件夹放入项目-----签名
signingConfigs { debug { storeFile file('../sign/ZhongLianChengJIng.jks') storePassword "JingchengUnited1" keyAlias "Jingzhi" keyPassword "JingchengUnited1" }...
2019-09-04 17:02:59 909
原创 一些应用1
1.Trinea, Focus on Android, Java, Open Source, Performance Optimizationhttps://www.trinea.cn/2.安卓开发-Didn't find class "" on path: DexPathList 错误http://blog.sina.com.cn/s/blog_c2aca7b10102wssi.ht...
2019-09-03 14:10:21 780
原创 手机邮箱验证工具类
package cn.view.viewlibrary.utils;import android.text.TextUtils;/*** 有效性校验类** @author zhangxiaoyang create at 2019/8/19* @Description 描述:*/public class CheckUtils { /** * 邮箱格式验...
2019-08-27 14:44:23 496 1
原创 半弧图片ArcImageView
package com.example.gaowen38.view.MyView;import android.annotation.SuppressLint;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import androi...
2019-08-22 16:16:13 357
原创 从manifest读取versionName
从manifest读取versionName的代码。。 PackageManager pm = context.getPackageManager(); PackageInfo pi; String versionName = ""; try { pi = pm.getPack...
2019-08-21 15:08:47 305
原创 关于Android的一些开发经验
1.多判空2.ViewPager//页与页之间的边距viewById.setPageMargin(20);3. 针对与bannr的错【Android】IllegalArgumentException: You cannot start a load for a destroyed activityhttps://blog.csdn.net/yingpaixiao...
2019-08-21 11:03:57 273 1
原创 微信支付分享回调
//分享回调WXEntryActivitypackage com.example.gaowen38.wxapi;import android.annotation.TargetApi;import android.content.Intent;import android.os.Build;import android.os.Bundle;import android.os.M...
2019-08-21 10:59:23 199
原创 微信支付分享功能
//微信接入--包括支付 登录 分享。。。导包implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'// APP_ID 替换为你的应用从官方网站申请到的合法appIDprivate static final String APP_ID = "wx5bfac4b79b650ac6";//微信初始化...
2019-08-21 10:48:43 657
原创 RecyclerView加载头尾布局专用工具类
package com.example.gaowen38.ui.adapter;import androidx.collection.SparseArrayCompat;import androidx.recyclerview.widget.RecyclerView;import android.view.View;import android.view.ViewGroup;/**...
2019-08-01 17:02:39 110
原创 Webview的各种属性
package com.example.gaowen38.view.activity;import android.annotation.TargetApi;import android.content.Context;import android.content.Intent;import android.content.pm.ActivityInfo;import android...
2019-06-24 18:07:31 1051 1
原创 好使的时间戳
/** * 将一个时间戳转换成提示性时间字符串,如刚刚,1秒前 * * @param timeStamp * @return */ public static String convertTimeToFormat(long timeStamp) { long time = (System.currentTimeMillis(...
2019-04-24 09:47:17 109 1
原创 long类型时间转换string
long commentTime = list.get(position).getCommentTime();SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+00:00")...
2018-12-12 14:39:30 4608
原创 上传头像
API@Multipart@POST("file/upload")Observable<TouXiangBean> touxiang(@Query("uid") int uid, @Part MultipartBody.Part part);@GET("user/getUserInfo")Observable<YongHuBean> yonghu(@Quer...
2018-11-23 08:05:43 166
原创 日期选择器
<TextView android:textColor="#FFF41414" android:id="@+id/edit_register_data" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="15" andro..
2018-11-20 10:31:05 95
原创 购物车Adapter&主页面
shopperAdapterpackage com.example.gouwuche20181117.adapter;import android.content.Context;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;imp...
2018-11-19 08:13:34 143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人