自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 RecyclerView简单添加分割线

RecyclerView 并没有 divider 属性,但是我们可以通过 RecyclerView 的 addItemDecoration() 来添加分割线,该方法参数为 RecyclerView.ItemDecoration。当 RecyclerView 添加 ItemDecoration 后,RecyclerView 在绘制每个 item 的时候,会去绘制 decorator,也就是会调用 ItemDecoration 的 onDraw() 和 onDrawOver() 方法。RecyclerView.

2022-12-05 15:14:34 1748

原创 RecyclerView在ScrollView中完全展开

我们在开发过程经常会组合使用RecyclerView和ScrollView,但是它经常不兼容,后面发现只要给RecyclerView的外层加上一个RelativeLayout 就可以解决该问题。xml:Activity:至此,就可以实现想要的效果了。原文地址

2022-12-05 14:53:04 469

原创 onDestroy报空指针boolean androidx.fragment.app.FragmentManagerImpl.isDestroyed()‘ on a null object re...

原因:是因为自己在Fragment重点onDetach增加了如下代码,自己把它设为了空值导致的,新版本的Fragment不会再产生这个问题,可以直接把这部分代码去掉。原文地址

2022-12-05 14:47:18 492

原创 gradle 使用 exclude 解决jar包冲突

项目经常会引用第三用依赖库,比如主module有glide,引用的第三方库也引用glide,glide版本不一致,就容易冲突。1. 查看冲突的jar包;一眼能看出来的跳到第二步; 遇到隐藏比较深的就比较难受了,肉眼完全看不出来,此时打开AS的terminal控制台输入以下命令查看:gradlew -q app:dependencies 查看依赖树;比如: 报错信息:打开AS的terminal控制台输入:gradlew -q app:dependencies 右键find, 输入关键字dynami

2022-12-05 14:38:59 2998 1

原创 runOnUiThread()方法在线程中执行UI更新操作

如果你对于Android的Thread+Handler方式感觉繁琐,不妨试试Activity提供的另外一种简单的方法runOnUiThread,runOnUiThread可以帮助你在线程中执行UI更新操作,我们只需要在线程中写上类似的语句:这里需要注意的是runOnUiThread是Activity中的方法,在线程中我们需要告诉系统是哪个activity调用,所以前面显示的指明了activity。原文地址

2022-12-05 14:10:01 349

原创 HttpURLConnection中getInputStream()异常java.io.FileNotFoundException

在项目中遇到了一个HttpURLConnection网络请求报异常的问题 java.io.FileNotFoundException,后来通过debug定位到具体得问题出现在 urlConnection.getInputStream()上。HttpURLConnection POST请求时,当getResponseCode为HttpURLConnection.HTTP_OK(200)和HttpURLConnection.HTTP_CREATED(201)时正常连接,其他值时比如(403),httpURL

2022-12-05 11:57:52 2721

原创 使用Gson().fromJson数据总是返回null

混淆。

2022-11-21 11:56:48 2070 1

原创 限制EditText只能输入数字、限制输入类型、限制输入长度的小技巧

原文地址。

2022-11-21 11:43:27 1928 1

原创 (getStackTrace)将异常转化成String

有时候想获取异常日志详细信息上报(

2022-11-21 11:29:00 574

原创 java.lang.NumberFormatException: null的原因及解决方案

查找到了异常是出现在 paseInt() 方法中,在 String 类在转换成 Int 类时,

2022-11-21 11:20:22 6053

原创 使用Gson将Object转String出现\u003d 的原因

跟后台交互的时候,发现传过去的数据中有个 \u003d很明显,是=

2022-11-21 10:00:50 1169

原创 SharedPreferences保存List<T>数据

Sharepreferences是使用键值对的方式来存储数据的,但是Sharepreferences并不支持支持存储List数据。

2022-11-21 09:47:53 679

转载 Android List中带有时间String字段的排序

工具类://用来转换时间格式。

2022-11-09 15:32:35 548

转载 EditText进行字数的监听并且实施更改

【代码】EditText进行字数的监听并且实施更改。

2022-11-09 14:40:40 237

转载 android studio 连接svn 提示e170013

接着会依次让你输入电脑用户和密码,及SVN账号密码,输完就解决了,就可以重新用AS连接SVN了。快捷键win+R,输入cmd,打开控制台,输入。(svn地址) ,回车,然后输入p即可。

2022-11-04 15:25:56 226

转载 androidStudio使用真机调试,点击Run总是会进Debug模式

有时候通过debug模式定位问题完后,发现不管怎么run,进入的都是debug模式,而且总是停留在启动页面,有时候能启动app,有时候不能启动app,重启手机、重启电脑、重启开发工具,依旧不管用。

2022-11-04 15:13:54 578

转载 Java去掉数字字符串开头的0的方法

例如:”00001203” (字符串必须全为数字)result 结果:1203。

2022-11-04 14:59:59 458

原创 WebView清除缓存

// // 启动应用缓存 ws.setAppCacheEnabled(false);// // 设置缓存模式 ws.setCacheMode(WebSettings.LOAD_NO_CACHE);原本设置这两个属性,每次加载H5页面都是新的,但是这两个属性对localstorage缓存无效。一种十分简单的方法,只需要在删除的时候调用即可:WebStorage.getInstance().deleteAllData();...

2022-01-22 11:38:08 14205

转载 判断List中是否含有某个实体bean

注意:使用List.contains(Object object)方法判断ArrayList是否包含一个元素对象(针对于对象的属性值相同,但对象地址不同的情况),如果没有重写List的元素对象Object中的equals方法,将导致contains方法始终返回false。 查看ArrayList的contains方法的源码如下:@Override public boolean contains(Object object) { Object[] a = array; int

2022-01-15 11:01:49 705

转载 友盟推送包名与ApplicationId不一致导致报错 RESCLASS未初始化

一. 问题背景这是在接入友盟6.1.0 push的SDK时候出现的错误。因之前的版本未出现,所以应该可以算作是版本更新后,需要对友盟push接入做新的适配。(不一定任何一个项目接入都会出现这个问题,要不然这就不算一个合格的SDK产品。)表现出来的结果是:推送数据到了,顶部栏的通知无法显示出来。2.问题解决问题是拿到的packageName不是真正的“packageName”。扩展:通过context.getPackageName()获取到的是ApplicationId。默认情况下A

2022-01-15 10:39:42 498

转载 Glide加载图片查看报错信息

Glide为我们提供了listener()方法,加上它就能看到报错信息了,查看log:package com.kite.imageloader;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.widget.ImageView;import android.widget.Toast;import com.bumpt

2022-01-15 10:26:09 708

转载 Bitmap 和 File 相互转换

图片文件转为Bitmap对象String filePath=”c:/01.jpg”;Bitmap bitmap=BitmapFactory.decodeFile(filePath);如果图片过大,可能导致Bitmap对象装不下图片解决办法:String filePath=”c:/01.jpg”;Bitmap bitmap=BitmapFactory.decodeFile(filePath,getBitmapOption(2)); //将图片的长和宽缩小味原来的1/2private

2022-01-15 10:23:19 5977

转载 Fragment中startActivityForResult没有执行回调

在ViewPager中的Fragment不执行回调,解决步骤:1.检查Fragment中的onActivityResult()方法中是否写了super.onActivityResult,切记这里千万不要手贱给删了。不然就像我懵逼了半个多小时。2.检查Fragment中的startActivityForResult的调用方式,不要getActivity().startActivityForResult(),因为这样会让回调回到Activity中。直接startActivityForResult() 或

2022-01-15 10:19:10 539

转载 viewpager+fragment实现沉浸式状态栏

MainActivity中使用ViewPager+Fragment的方式作为首页,但是每个fragment有独立的状态栏颜色,同时还要适配刘海屏,水滴屏。直接上代码:<!--给APP设置为无标题栏样式,在style下--><resources> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:window

2022-01-14 17:26:32 889 1

转载 拍照功能横竖屏处理方法

1)、设置Activity强制横屏,成像效果不错,所见即所拍,但是系统组件一样跟着横屏,比如菜单,图片预览对话框等。//横屏 //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);2)、设置相机预览强制横屏,能解决竖屏变形问题,但是横屏又悲剧了。//设置相机强制横屏,防止预览变形 //mCamera.setDisplayOrientation(90);3)、吸收方法1)和2)的教训,我们来一个完全之策:设置Ac

2022-01-14 17:15:50 2477

转载 安卓中短信验证码倒计时的几种方式

发送短信验证码后,一般在界面上都会有一个倒计时的显示.在安卓中,实现类似的倒计时有多种方式,当然背后的基本原理都是设定一个初始值,然后每过一定的间隔时间执行操作.1.用安卓自带的CountDownTimer实现这是最简洁的实现方式.安卓提供了一个CountDownTimer类用于倒计时功能.其使用方法在注释里面写的已经比较清楚了.记时开启后禁掉控件的点击事件,倒计时结束后再开启.防止重复点击导致多个任务运行.private void countDownTime() { //用安卓自带的C

2022-01-14 17:06:17 1310

转载 yyyy年MM月dd日中提取出单独的年,月,日

public class DateDemo{ public static void main(String[] args){ String str = new java.text.SimpleDateFormat("yyyy年MM月dd日").format(new java.util.Date()); String yeah = str.substring(0,4); //取年 String yue = str.substring(str.index.

2022-01-14 16:31:05 1042

转载 android Studio keytool‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

//android Studio keytool' 不是内部或外部命令,也不是可运行的程序 或批处理文件解决方法步骤:①找到Java安装路径下的keytool:②打开运行先转到你的keytool文件夹路径下,然后回车。再运行它(输入keytool.exe 快捷键是Tab建和Linux一样),然后在后边输入命令 -list -keystore 输上后后边跟的就是你的debug.keystore文件的对象路径。然后提示输入密库口令 输入android ,再回车就看见你的Sha1了。

2022-01-14 15:48:37 750

转载 解决Android Studio 每次修改后,都要删除build文件,然后rebuild project才生效

1、 打开配置:2、配置3、设置Run Gradle task输入insallDebug再编译运行即可

2022-01-14 15:42:17 2179

转载 Gson字符串转换对象数组

public class Input{ private String title; private int formId; private String content; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public int get.

2022-01-14 15:39:44 2007 1

转载 double转整型

int n=3;我们用pow函数求出它的平方,此时数据类型为doubledouble s=Math.pow(n,2);我们要将其转化为整型数据,则应该如下操作int t=(new Double(s)).intValue();有时我们要求的数据范围比较大,int不能满足,则应该转化为long类型long x=(new Double(s)).longValue();...

2022-01-14 15:02:57 1684

转载 Java时间和时间戳的相互转换

时间转换为时间戳:/* * 将时间转换为时间戳 */ public static String dateToStamp(String s) throws ParseException{ String res; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = simpleDateFo

2022-01-14 14:44:18 2250

转载 两个double类型比较大小

/** * @return >0,第一位数大 */ public static int compare(double double1, double double2) { BigDecimal data1 = new BigDecimal(double1); BigDecimal data2 = new BigDecimal(double2); return data1.compareTo(data2);}...

2022-01-14 14:30:20 589

转载 android开发中要注意的细节

时刻注意单一职责原则,一个类专心做好一件事情更为清晰。 异常抛出,在合适的位置处理或者集中处理,不要搞的到处是catch,混乱且性能低。 注释,尽量去写足够的注释,去描述一下思路,达到看了可以明白某一块代码的效果。 ...

2022-01-10 16:58:21 78

转载 Android设置点击物理返回键后应用后台运行而不是退出

@Override public void onBackPressed() {//重写的Activity返回 Intent intent = new Intent(); intent.setAction("android.intent.action.MAIN"); intent.addCategory("android.intent.category.HOME"); startActivity(intent);}原文.

2021-07-23 15:55:47 331

转载 Android拍照/裁剪 保存完图片,系统相册不显示问题解决。

public String save(Context context) { String fileName = "mosaic_"+System.currentTimeMillis()+".png"; File file = new File(FileUtils.getMosaicDir(),fileName); try { FileOutputStream outputStream = new FileOutputStream(fi.

2021-07-23 15:49:35 510

原创 Gradle各版本下载地址

https://downloads.gradle.org/distributions/gradle-2.5-all.zip自己修改url里面的版本号,复制到浏览器访问就可以下载了

2021-07-23 15:23:40 144

转载 Android 底部导航栏中间凸起、越界显示

1、只需在根节点设置Android:clipChildren为false即可,默认为true2、可以通过android:layout_gravity控制超出的部分如何显示。3、android:clipChildren的意思:是否限制子View在其范围内一:实现效果:二:关键原理:1、只需在根节点设置Android:clipChildren为false即可,默认为true2、可以通过android:layout_gravity控制超出的部分如何显示。3、android:cl.

2021-07-23 15:20:52 1520

转载 利用DB Link两步搞定Oracle两个数据库间的表数据同步

这个方法可以实现两个不同oracle版本的表同步,而且会比imp语句导dmp效率高。一、实现目标: 要实现从源表(AAA)到目标表(BBB)的数据同步。二、在目标机上建立Oracle DB Link:1、 在network/admin/tnsname.ora文件中加入源库的连接信息,如:AAA= (DESCRIPTION = (ADDRESS = (PROTOCOL

2017-10-24 20:04:07 3079

转载 利用PLSQL Developer 修改同步数据库间表结构

PLSQL Developer Tools 菜单下有Compare User Objects功能。1、Tools –> compare user objects 该功能用于比较不同用户所拥有的对象(包括table、sequence、function、procedure、view等),并生成同步差异的sql脚本,用户通过执行该脚本,可保持两个用户的对象结构的同步,当然你也可以选择一个对象或

2017-10-24 19:48:31 3872

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除