自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vincent的博客

开发者博客

  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android api升级到31 导致的兼容性问题

1.问题描述:android api升级到31的时候会引发很多兼容性问题,今天主要记录其中一个问题,Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some

2022-04-19 15:14:27 10687

原创 FaceBook第三方登录获取姓名,头像,邮箱等个人信息

最近项目新增一个需求:需要收集用户的邮箱信息。但是直接通过GraphRequest.newMeRequest去获取发现返回值为空,通过查阅资料得知facebook获取用户邮箱还需要授权。授权方式如下 LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile,email"));获取姓名邮箱信息监听事件如下 GraphRequest request = GraphRequest.ne

2020-12-30 19:42:19 8975 12

原创 java反射和泛型具体用法

/ 通过方法名和参数类型获取Method对象,其中String.class为方法返回值类型,没有返回值可以不写。//将A实体类相同字段的值赋值给B实体类,使用反射不再需要手动调用每个字段的set方法。//通过传入泛型T,执行统一逻辑,限制T的类型为RealmModel类型。// 使用Class.forName加载类。// 调用方法,传入实例和参数。//根据泛型类和json数据生成泛型类的集合。//通过反射根据一定规则替换实体类个别字段的值。三、反射场景二:动态调用类方法。二、反射场景一:动态赋值。

2024-05-22 14:47:47 274

原创 离线安装腾讯x5内核(附安装包下载地址)

背景:由于项目需要在一个定制android设备上播放RTSP流视频,设备自带的浏览器内核不支持RTSP流播放,这就导致我使用webview播放h5网址上的视频的时候,无法正常播放视频。在android手机上都是可以播放的,所以猜测是定制android设备自带的浏览器内核兼容性比较差。7.加载成功之后在页面直接使用sdk提供的webview就可以使用x5内核加载h5网页了。官网文档,发现流程写的并不清晰,而且没有提供离线安装包,所以这里做个整理。由于设备没有联外网的,所以只能通过离线安装的方式。

2024-02-21 18:11:02 1236

原创 如何使用sqlite将db文件转成txt文件

3. 打开cmd,在上述文件夹下输入命令,回车后会将.db文件转换为可以直接阅读并修改的.txt文件。其中database-file.db为需要修改的文件名,database-file.txt为转换后的txt文件。不想安装额外的软件查看修改.db数据,可以尝试以下方法,适合数据量较小的情况。6. 可将新生成的.db文件直接移动到指定文件夹。2.将所需要修改的.db文件复制到该文件夹中。5. 将修改后的.txt数据再转换为.db数据。4. 直接在生成的txt中修改数据。

2023-08-17 16:32:01 2079

原创 Flutter实现webview展示网页

项目开发中可以把页面标题和url通过路由框架从外面传过来,这个页面就可以作为通用的webview使用,这里为了好理解使用了固定的标题和url。这里第三方库的版本要自己判断一下,不同版本的api有一些变化,这里以2.0.8的版本为例。2.新建一个widget用作webview页面。

2023-03-07 11:10:14 1373

原创 Flutter实现富文本效果

【代码】Flutter实现富文本效果。

2023-03-07 10:53:43 1262

原创 使用java批量处理文件

使用java单元测试,执行这个文件的main方法,就可以对文件进行内容修改逻辑。不同的逻辑可以根据具体情况自己来编辑。

2023-01-29 17:50:57 970

原创 Android实现富文本展示

我们在开发的过程中可能会遇到这种一行文字有不通颜色的情况,如果用多个TextView去实现会让布局显得繁琐而且不利于扩展,那么我们可以使用android提供的SpannableString功能来实现我们的需求。下面我们就用一个TextView实现上述效果,并可以监《听注册协议》和《隐私政策》的点击事件。

2022-11-04 17:04:53 1926

原创 java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

最近在做一个统计网络耗时的功能,在运行一个网络请求项目的时候发起网络请求提示CertPathValidatorException异常,查询了一下,大多解决方案是说忽略证书信任或者是说重新安装服务器端证书,验证之后发现要么没有效果要么不是android层面的操作。最后推测原因是测试手机使用了代理工具,关闭代理之后果然可以进行正常请求了。

2022-09-13 11:52:05 4621 1

原创 StompProtocolAndroid 使用方法

STOMP是一个简单的可互操作的协议, 被用于通过中间服务器在客户端之间进行异步消息传递。它定义了一种在客户端与服务端进行消息传递的文本格式.

2022-08-03 14:45:20 1099

原创 Android性能优化之启动优化

我们一般项目常规的初始化都是通过同步线程逐个执行,或者个别耗时的开启一个子线程去执行,先不说效率会比较拖沓,在application的代码整洁度上面也不够美观,特别是任务比较多的时候,一个类会显得比较臃肿,引入这个库就可以解决这些问题,让任务变得清晰并且执行效率高。............

2022-08-01 13:54:53 234

原创 Could not determine the dependencies of task ‘:app:countDebugDexMethods‘

新版android studio运行老项目,报错Could not determine the dependencies of task ':XXX',解决思路。

2022-06-29 17:34:06 1527

原创 Kotlin高阶函数实现事件监听

一般自定义view里面的点击事件都是放在外部去处理,我们常规java里面的实现方式都是创建一个接口Listener,然后通过这个接口将监听事件传递出去。示例代码:```public void init() { textView.setOnClickListener(view -> { listener.onClick(view); });}public interface Listener { void onClick(View view);

2021-09-28 12:08:39 852

原创 Mac. Android studio. 常用快捷键

fn+option+F7. —— 查看文件调用位置Ctro+option+O. —— 移除无效引入文件fn+command+f12 —— 查看当前类的方法Control + H ———查看类的继承关系Android Studio常用快捷键汇总(mac)(一)查找/查看相关搜索任意内容 双击 sft1当前文件查找/替换 cmd + F / cmd + R 使用cmd + G,sft + cmd + G,跳到下一...

2021-07-02 15:02:38 404

原创 TextView 实现文字不同大小,不同颜色,不同字体

SpannableStringBuilder span=new SpannableStringBuilder("这是一个美好的世界");//设置字体不同大小span.setSpan(new AbsoluteSizeSpan(dipToPx(this,30)), 0, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);span.setSpan(new AbsoluteSizeSpan(dipToPx(this,20)), 2, 4, Spannable.SPAN_EXCLU.

2021-06-24 16:39:57 1246

原创 ConstraintLayout 约束布局 实现负数布局

以前相对布局RelativeLayout可以利用layout_marginTop="-320dp"达到自己想要的效果,但是ConstraintLayout是不行的,但是我们可以利用Space达到相同的效果 <android.support.v7.widget.AppCompatTextView android:layout_width="wrap_content" android:layout_height="wrap_content" andr

2021-05-10 16:23:33 800 1

原创 使用ValueAnimator实现view放大缩小动画效果

ValueAnimator valueAnimator = ObjectAnimator.ofFloat(1f, 0.8f);valueAnimator.addUpdateListener(valueAnimator1 -> { valueAnimator1.setDuration(300); valueAnimator1.setRepeatCount(INFINITE); valueAnimator.setRepeatMode(ValueAnimator.REVERSE).

2020-08-05 11:48:36 1511

原创 TextView动态设置图片,实现图文混排

通过这种方式不同每次设置drawable的大小 Drawable drawableLeft = mContext.getResources().getDrawable( R.mipmap.room_user_vip); contentTv.setCompoundDrawablesWithIntrinsicBounds(drawableLeft, null, null, null);...

2020-07-13 15:53:31 456

原创 Android TextView 一个字符串实现不同颜色支持设置不透明度

1.资源文件<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"><string name="room_ntf_type_diamond"><![CDATA[<font color="#94FFFD"><xliff:g id="USER_NAME">%1$s : </xliff:g></font> <font color="#80fff.

2020-07-06 19:51:31 893 3

原创 Android 实现google第三方登录 返回错误code 10

最近新接手了一个项目,其中有google第三方登录功能,测试反馈正式包可以正常使用google登录,测试包登录失败。如果第一次配置google登录,需要在官方网站配置相关信息,具体配置这里不做赘述,只提供一下官方地址:https://developers.google.com/identity/sign-in/android/start现有的项目是已经配置好了,只是出现了一些问题,进入firebase网站查看之前的配置信息:https://console.firebase.google.com/pr

2020-05-12 17:21:37 12092

原创 EventBus 3.1.1 源码解析

本文要解决的问题 1.什么是粘性事件?如何实现的? 2.Eventbus内部线程调度是如何实现的? 什么是粘性事件?如何实现的? 粘性事件,是指在发送事件之后再订阅该事件也能收到该事件,这就使得我们可以预先处理一些事件,让有消费者时再把这些事件投递给消费者.``` 发送粘性事件 public void ...

2020-01-16 19:22:59 187

原创 新项目DC Optoin中遇到的问题

1.k线范围图实现颜色渐变2.tablayout添加删减fragment时出现数据丢失3.fragment使用putString传输数据太大的问题4.使用recycleview实现二级菜单并实时刷新时卡顿的问题以及显示隐藏的问题,优化方案使用ExpandableListView...

2019-07-25 11:38:07 179

原创 使用viewpage+fragment无法彻底移除fragment的问题

因为使用FragmentPagerAdapter的时候,加载到viewpage的fragment是无法彻底移除的,只有清空内存时才会移除,所以在根据index获取fragment对象时会出现问题,如果想彻底移除fragment可以使用FragmentStatePageAdapter,就可以解决这个问题,但是使用FragmentStatePageAdapter的时候,如果销毁其中一个fra...

2019-07-17 20:47:07 608

原创 Android根据属性值自定义改变图片颜色

改变ImageView图片颜色<ImageView android:id="@+id/head_img_right" android:layout_width="@dimen/dp_40" android:layout_height="@dimen/dp_40" android:layout_alignParentRight="true" and...

2019-05-16 14:33:32 723

原创 json返回集合,key值动态改变时如何解析

1,一般接口返回的key值是固定的,我们可以写固定的实体类来解析,但是如果接口返回是动态的key,我们如何获取到所有的key和value呢,如图所示2.如图通过如下方式获取存好数据的map的集合JSONObject jsonObject = null;try { jsonObject = new JSONObject(t); JSONArray data = jso......

2019-04-01 14:27:01 2374

原创 Android 开发中使用getAssets获取不到文件的问题

1.通过获取笨的json文件进行解析,提示无法找到文件List<QuestionBean> data = new Gson().fromJson(getStringFromAssert(NormalQuestionActivity.this, "data.json"), new TypeToken<List<QuestionBean>>() {}.get...

2019-03-29 16:03:35 6269

原创 设置小数点保留两位

tvPrice.setText(String.format("%.2f",ss);

2019-01-17 15:10:42 1451

原创 解决Scrollview嵌套横向recycleview滑动冲突问题

1.重写Scrollview,拦截竖向滑动,不拦截横向滑动public class CustomScrollview extends ScrollView { private float mLastXIntercept = 0f; private float mLastYIntercept = 0f; public CustomScrollview(Contex...

2019-01-04 14:20:21 2663

原创 Android studio 出现No usages found in All Places

最近使用AS时,突然发现很多代码显示为灰色的未引用代码,但是确实该代码都有被引用。这对编码很不方便,容易误以为无用代码将其删除。最终解决方案如下:File -&gt; Invalidate Caches/Restart...

2018-12-28 14:46:05 6979 4

原创 在Android 7.0上PopupWindow.showAsDropDown不起作用的解决方法

使用popupwindow时在android7.0以上使用showAsDropDown方法不起作用,经查询需要做兼容性适配,方法如下:public class Solve7PopupWindow extends PopupWindow { public Solve7PopupWindow(View mMenuView, int matchParent, int matchParen...

2018-12-25 15:27:34 723

原创 使用greenDao时,出现 no such table的异常

出现这个异常是因为没有找到表,没有找到表的原因是之前的表已经建好了,而新增的表需要重新初始化数据库才可以建好,所以只需要把schemaVersion 改变一下版本号,重新sync运行一下就可以重新生成表了,另外修改表中字段都需要重新初始化数据库才会生效。greendao{ //数据库版本 schemaVersion 2 daoPackage 'com.android.p...

2018-12-13 16:10:59 4352 4

原创 当scrollview嵌套多个recyclerview时如何实现整个页面的下拉刷新和上拉加载

最近做的一个项目中有个布局比较复杂一点,整个页面是个srollview里面又嵌套了几个recycview,刚开始是有的滑动冲突卡顿的问题,通过如下方法解决了mRecyclerView.setLayoutManager(new GridLayoutManager(getContext(), 2) { @Override public boolean canScrollVerti...

2018-12-11 16:04:24 1758

原创 时间戳转换时间总是会差几个小时

项目中后台接口返回的时间戳,需要移动端动态转换成日期格式大致方法如下:String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(timestamp * 1000));但是运行效果日期却是错误的,后来才发现是模拟器本身的问题,用真机是正常的,用的genymot...

2018-11-30 15:05:53 4357

原创 dk\build-tools\23.0.3\aapt.exe'' finished with non-zero exit value 1

出现这个问题原因:1.图片命名出现非[a-z0-9_.]特殊字符2.布局文件中有找不到资源文件情况,比如找不到文字或者图片 先查找一下最新编辑的几个布局文件有可能更快找到问题。查到问题后重新sync一般就可以了...

2018-11-28 19:25:01 434

原创 android应用上架应用市场时需要注意的问题

最近公司刚刚开发完两个app,需要到各个平台去发布,我们公司暂时只发布360应用市场和腾讯应用市场,由于之前准备工作不足导致发布过程中遇到一些问题,今天在这里整理一下。1.首先最重要的是软著登记证书,现在平台审查严格,凡应用发布必须有各个应用的软著,360平台上有两个上传选项,一个是软著登记证书,一个是资质许可证明,只需上传软著即可,资质证明可以不传,由于之前公司没有提前准备软著,所以只能临时...

2018-10-16 17:50:49 3888 3

原创 华为部分机型对集合排序时会出现错乱的问题

项目中有一个页面需要对车辆品牌进行排序,但是遇到个别机型出现排序错乱的问题public static char getFirstLetter(String name) { String letter = "#"; if (!TextUtils.isEmpty(name.trim())) { String first = name.trim().substri...

2018-08-07 14:24:55 769

原创 Android 软键盘弹出时覆盖了dialog部分内容

如图所示,项目中遇到一个这样的问题,dialog中有输入框,当软键盘弹出时没有将dialog整个顶上去而是覆盖了下面的内容,用户体验不好,经网上查询得知是dialog布局的问题导致,因为顶层布局是使用RelativeLayout 而非LinearLayout导致布局有重叠问题,将顶层布局改成LinearLayout之后就可以将dialog整个顶上去了,效果如下图所示:...

2018-06-27 15:42:22 6002 2

原创 android studio意外重启后 原本的import全部报错

文件类找不到,但是项目可以运行。试了好几个方法都没什么效果,最后在网上看到解决方法,果然好了。解决方法如下:File -&gt; Invalidate Cashes / Restart这样重启一下studio就可以了...

2018-06-19 11:12:44 667

原创 Android Studio右键选项中没有Git?

最近发现有些项目右键没有git菜单,最后发现是在Version Control设置里面,对应的项目选择的是svn而不是Git,所以把svn改成Git就可以了

2018-05-25 10:20:47 4072 2

腾讯x5内核tbs安装包

可以通过这个安装包,应用于需要离线安装腾讯x5内核的场景。

2024-02-19

解析json文件jar包

阿里巴巴开发的json解析框架,通过离线依赖jar包导入项目使用

2015-07-10

空空如也

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

TA关注的人

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