- 博客(100)
- 资源 (2)
- 收藏
- 关注
原创 鸿蒙第三方解析(一)
官方:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V14/arkts-fixes-style-dialog-V14。对应的官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/permissions-for-all-user。在获取相机权限、麦克风权限和位置权限后,如果开启了超级隐私模式,需要引导用户关闭超级隐私模式。固定弹框样式中的一种调用即可。
2025-03-25 16:41:09
566
原创 鸿蒙开发有救了,是月周模式可切换的日历
滑动切换日历模式的改变,需要修改onTouch事件里面TouchType.Up事件。第三方本身自带功能支持月周日历模式的切换,支持点击态背景渲染。(1)TabBar 即抬头部分,左右箭头切换。(3)日历下面的CustomLayout。2.点击日期需要选中,并且有特殊背景。1.滑动切换周日历模式和月日历模式。后续有详细的问题也会更新。
2025-03-24 15:58:29
121
原创 WebView H5支付跳转原生(支付宝微信平台)
网页里支付,如果嵌在webview内,支付是会出现问题的。1、支付宝支付现在很多解决方案的文章,都比较老旧,并不能完善解决问题。需要参考:https://opendocs.alipay.com/open/203/106493但是,该文档里面,对应的aar是16年的版本,需要自己去这个链接里找对应的最新版本的:https://opendocs.alipay.com/open/54/104509注意匹配sdk版本,修改manifest文件2、微信支付...
2022-03-02 09:08:35
3090
原创 指针问题解题思路
指针问题解题思路左右指针引入-- 反转字符串(简单)典型应用-快速排序思考题-三数之和前后指针(快慢指针)引入-环形引入删除有序数组中的重复项思考题-接雨水左右指针解决问题:数组的相向问题,指针相向移动引入-- 反转字符串(简单)编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,
2021-12-02 09:57:12
440
原创 Crash问题处理路线
Crash问题处理路线分析Crash的原因如何得到crash信息:Crash库封装原理如何才能够不上报crash如何长期的,有针对性的处理crash分析Crash的原因参考:https://juejin.im/post/6844903839292719117crash总的分成两大类,java层面和native层面。java层面的话比较好处理,native层面无论调试还是修改,难度都比较大,尤其涉及第三方或者系统级别的话,难度更大。如何得到crash信息:Crash库封装原理常见第三方:bugly
2020-11-10 15:50:16
846
原创 flutter爬坑记录
1、Target of URI doesn’t exist:修改方法:参考:https://blog.youkuaiyun.com/qq_25020915/article/details/86233093修改环境变量,同时注意用户的变量也已经修改了。有的时候需要科学上网。再不行,试试参考:https://github.com/flutter/flutter/issues/17016我添加了这个:sh...
2019-08-29 14:09:13
197
原创 非root手机如何脱壳?
如今,随着开发者的安全意识加强,加固加壳已经是基本的措施了。加固的apk,无法直接通过AS反编译,需要先脱壳。第一步:脱壳参考文章:https://blog.youkuaiyun.com/weixin_41508948/article/details/84835582按照文章的步骤,执行到最后,问题来了:dex文件无法分享,无法保存等各种。这种看着dex文章就在眼前,自己却无法用的感觉真难受。...
2019-05-27 15:59:39
1229
原创 Android更改包名需要注意的地方
第一步:在Android Studio中,右击包名,选择refactor name,确定更改。新版的AS当中,自定义View的引用中的包名也会一致更改。第二步:手动更改:Manifest文件,build.gradle中的包名相关第三步:查找静态字段,文件存储等包名相关的地方第四步:更改混淆文件中涉及到的包名...
2019-04-22 14:33:53
587
原创 如何应对接口数据异常
如何应对接口数据异常1 已知字段名一致,格式变化2 字段不存在或者Entity未定义字段1 已知字段名一致,格式变化参考1:https://www.jianshu.com/p/d6bd6bd5fce3(采取方法:自定义Gson响应体变换器和响应变换工厂,在请求错误时抛出异常并保存错误码和错误信息。参考2:https://mp.weixin.qq.com/s?__biz=MzIxNzU1N...
2018-12-17 17:10:48
4105
原创 项目上传svn(Android Studio)
上传前注意事项需要在AS的 setting–version control–ignored Files中设置忽略文件: Directory:.gradle/ Directory:.idea/ Directory:build/ Directory:app/build/ File:local.properties Mask:*.iml File:.idea/workspace.xml...
2018-06-22 09:41:07
298
原创 Android应用,debug版本与release版本区别在哪?
为了利用debug工具,大多数程序猿开发的时候使用AS的debug版本,最终发布版本是release版本,但是在这个转变的过程中可能会出现一些意外。1、releas版本与debug版本的applicationId不一样为了客户端上两个版本共存,通常debug设置不同applicationId,这会导致需要填写applicationId申请的第三方平台使用不正常,比如小米推送和微信分享等。
2018-06-22 09:03:25
17732
原创 是否应该开启WebView硬件加速?
是否应该开启WebView硬件加速android webview 在3.0+后显示flash要启用硬件加速,开启硬件加速也能够使绘制更加平滑。 开启硬件加速是在manifest中加入: android:hardwareAccelerated=”true” 可以是Activity级别的,也可以是Application级别的。 webView中设置: - * setLayerType...
2018-05-07 17:28:53
11957
原创 debug版本和release版本有区别么
为了利用debug工具,大多数程序猿开发的时候使用AS的debug版本,最终发布版本是release版本,但是在这个转变的过程中可能会出现一些意外。1、releas版本与debug版本的applicationId不一样为了客户端上两个版本共存,通常debug设置不同applicationId,这会导致需要填写applicationId申请的第三方平台使用不正常,比如小米推送和微信分享等。
2018-03-22 14:51:16
2934
原创 EventBus
一、EventBus优势:1、速度快,体量小。2、方便的单例:可以通过调用EventBus.getDefualt()方法获得一个进程作用域的事件总线实例。 也可以调用new EventBus()创建任意数量的本地总线。3、基于约定: 事件处理方法被称为onEvent二、EventBus和Android中的BroadCastReceiver/Intent 系统有何不同A: 不同于Android的Br...
2018-03-21 09:13:47
328
翻译 Gradle for Android 翻译--第九章 定制高级构建
这本书绝对是Gradle入门的最佳指导手册。在网上可以找到英文版的,但是没有中文版的。然后中文版的据说很薄但是很贵,所以就自己翻译了一下。全书一共9章,因为前7章有位大神已经翻译了,在此放链接https://segmentfault.com/a/1190000004229002,第8章涉及到的工具没有用过,跳过,所以直接翻译的第9章。大神翻译的比较简练,我有时间也会都翻译一遍的。第9章
2017-11-16 15:34:37
742
原创 滑动冲突问题
解决滑动冲突问题一般来需要必备的知识:点击事件的分配,滑动距离的判断 一般的解决方法:重写其中一个控件,放弃其中一个滑动事件 1、ScrollView 与 RecyclerView的滑动冲突public class ScrollRecycleView extends RecyclerView { public ScrollRecycleView(Con
2017-09-04 10:34:55
250
原创 快速上手Aspect
因为项目需要,快速上手,for 不求甚解者。Aspect是属于AOP的在Android内应用的一个库。AOP称为面向切面编程,适用的范围:多处代码中需要的逻辑,但没有一个单独的类来实现)应该只被实现一次,且能够多次注入到需要该逻辑的地方。代码注入是 AOP 中的重要部分:它在处理上述提及的横切整个应用的『关注点』时很有用,例如日志或者性能监控。一、开始上手前的普及:1、Android 中的
2017-05-27 15:04:06
411
原创 Activity中Viewpager+Fragment,getActivity() 报错
场景:从新的Activity跳转回MainActivity(使用viewPager+Fragment实现),显示指定的Fragment,使用viewPager.setCurrentItem(2)报错:android.content.res.Resources android.content.Context.getResources()' on a n解决方法:方法:
2017-05-11 10:58:15
859
原创 QQ分享失败:请检查网络并重试
原因一:要求的字段等没有全部满足参考:http://blog.youkuaiyun.com/u014120638/article/details/41147741原因二:图片格式错误:jpg还是png,我们项目是jpg,不确定png参考:http://blog.youkuaiyun.com/ysbpysbp/article/details/50588506原因三:确实是图片太大或者网络不好
2016-08-16 16:18:05
7570
原创 Crosswalk/XwalkView研究
1、入门简介入门级别的研究当然以官方为主:官网:https://crosswalk-project.org/documentation/android.html官方微博:http://weibo.com/p/1001603851443932161689 以上为官方微博,但是更新到15年6月份就没有然后了Crosswalk的作用总的来说:用Crosswalk替换原生的Androi
2016-04-25 16:05:02
7511
原创 NDK not configured、
NDK程序是coworker写的,我在SVN更新下来,但是之前没有配置过NDK吗,更新完代码之后可能会间歇出现以下的错误:Error:Execution failed for task ':app: xxxNdk'.> NDK not configured.Download the NDK from http://developer.android.com/tools/sdk/
2016-01-18 15:18:20
7492
原创 程序猿如何实现价值?
本科的时候执着于斤外交部呀什么的,总觉得那样才是为国家做了贡献,为社会做了贡献。决心当程序猿之后,觉得可能大概没有机会啦。今天看了两篇帖子,一篇是介绍一个吸引高中女生成为程序猿的手机游戏:高中故事(high school story),ios有,Android不造。还有一篇是根据已有数据调研世界难民发布与分布,实现数据化可视。总的来说吧,主要有两点,一个是根据大氛围的变化设计应用,一个是针对实事快
2016-01-11 14:50:43
557
原创 android studio 如何清理没有用到的资源文件
可以用android lint检查没用到的资源文件。Analyze-Inspect Code。最新版本的 Android Gradle plugin 已经可以支持删除没用的资源文件了。但是该功能默认情况下是关闭的,要启用该功能在 Gradle build 文件中添加 shrinkResources true即可。android {buildTypes {release {
2015-12-08 16:23:59
3695
原创 Android Studio插件---For UML
1、PlantUML该插件主要是需要手动写UML图,不能够自动生成参考: http://blog.youkuaiyun.com/u013831257/article/details/501184612、SimpleUML该插件主要是自动生成某个单独类的类图,不会为整个project生成类图参考:http://blog.youkuaiyun.com/changhuiyuanh/article
2015-12-07 11:13:16
1820
原创 引入别人的Android Studio项目遇到的bug以及解决方法
常见问题1:Gradle version xxxx is required解决方法:出现此情况,应该是使用了gradle wrapper时候,创建工程时使用的gradle版本比当前使用的版本低得情况。此时log会提示 去修改 project_root/gradle/wrapper/gradle-wrapper.properties这个文件中distributionUrl=http\
2015-12-02 11:18:43
1270
原创 startActivityForResult()实现的机制
1、这个问题问度娘没有找到答案,结果还是问的谷哥。一开始以为是新开了一个thread,然后查了一下,发现只是在UIThread里面,startActivityForResult() is asynchronous. That does not mean that your new activity will be executed in a different thread. If the n
2015-11-16 15:48:43
1154
转载 屏幕适配相关知识点
1、Android手机常见分辨率4:3VGA 640*480 (Video Graphics Array)QVGA 320*240 (Quarter VGA)HVGA 480*320 (Half-size VGA)SVGA 800*600 (Super VGA)5:3WVGA 800*480 (Wide VGA)16:9FWVGA 854*480 (Fu
2015-11-16 14:46:13
354
原创 ViewPager+ImageView 图片滑动预览
项目需求:1、展示从网上url获取的图片2、页面既可以左右滑动,也可以依靠向左向右的箭头按钮控制难点:1、如果在ViewpagerAdapter里面使用ImageLoader加载ImageView,因为网络请求耗时较长,会造成每张图片都卡顿解决方案:1)先将图片都下载下来List imageUrls = FragmentSetting.imageUrls;
2015-11-16 14:29:52
3913
原创 项目经验--Fragment(基于ViewPager)
一、主要是纠结于一下几点:1、Fragment初始化的时机2、因为错误的设计,导致数据请求量很大,为什么滑动Fragment每次都要重新请求数据,加载数据,我的数据init是放在onDreate里面的,是不是应该只在new的时候请求呢?借鉴与zhy的博客,掺加个人的见解。http://blog.youkuaiyun.com/lmj623565791/article/details/37970961
2015-09-30 14:05:37
428
翻译 Developer--Loader-LoaderManager
Loaders是为了提供数据的异步加载,管理数据源,当内容变化时,将结果传递出去。其提供了各种API,下面进行总结。1、LoaderManager抽象类,和一个Activity或Fragment相连,管理数个Loader实例。2、LoaderManager.LoaderCallbacks回调接口,使用onCreateLoader()回调方法创建一个新的loader。使客户端和man
2015-09-17 15:38:37
368
翻译 Developer-Handler
一、综述java.lang.Object↳ android.os.Handler每个Handler实例,和一个单独的thread、这个thread的 message queue相关联。Handler的两大用处:1、执行在未来某点运行的message和runnable2、另开一个线程执行动作常见的具体实现方法:post(Runnable), postAtTime(Ru
2015-09-14 16:36:44
422
翻译 Developer--WebView
一、综述java.lang.Object↳ android.view.View↳ android.view.ViewGroup↳ android.widget.AbsoluteLayout↳ android.webkit.WebView用于
2015-09-14 11:16:47
686
翻译 Developer-ScrollView
一、综述scrollview不能够单独使用,需要配合子布局,比如vertical的linearlayout。同时注意,scrollview里面不要放置listview,因为会在竖直滑动 动作上造成冲突。同时,TextView有自己的滑动,不需要scrollview。再者,ScrollView只支持竖直方向的滑动,如果是水平方向,需要使用HorizontalScrollView继承自:
2015-09-09 15:04:01
465
翻译 Developer-BroadcastReceiver
一、综述该类主要用于接收 sendBroadcast() 的intents。这里需要注意一下,最好是用LocalBroadcastManager而不是更加普遍的方法。注册使用方式:Context.registerReceiver() 或者在Manifest文件里面注册注意:如果你注册了receiver在Activity.onResume()里面,需要解除注册在Activity.on
2015-09-08 16:50:00
451
原创 报错:由getResources()引起的:Fragment MyFragment not attached to Activity
出错误的原因是因为我在某一Fragment的开始,使用了变量:private String[] modeTexts=new String[]{getResources().getString(R.string.modetext_scan),getResources().getString(R.string.modetext_search)};然后提示在MainActivity中不能够加载该
2015-09-07 17:01:07
3651
翻译 Developer--Services
1、综述service是能够在后台长期run的应用组件,不提供用户接口。另一个应用组件能够start一个service,即使用户转向另一个应用,后台的service也会保持。甚至,一个组件能够绑定到一个service,然后进行IPC(进程间通信)。举例,一个service能够处理网络请求,播放音乐,与content provider交互等。2、Service的两种方式1)Sta
2015-09-07 10:46:11
464
翻译 Developer--AsyncTask
1、Class综述:该类使UI Thread更加容易使用。理想状况下,AsyncTask用于短期操作。如果想让线程运行较长时间,建议使用FutureTask等。该task在背后运行,将结果呈现到UI。 一个Task被三个泛型定义,即参数列表:Params,Progress 和Result,分四步来执行:onPreExecute,doInBackground,onProgressUpdate和o
2015-09-07 09:54:22
351
转载 Android使用Application总结
转载自:http://www.360doc.com/content/15/0826/15/20108600_494862087.shtml简单来说,一个apk文件就是一个Application。 任何一个Android Application基本上是由一些Activities组成,当用户与应用程序交互时其所包含的部分Activities具有紧密的逻辑关系,或者各自独立处理不同的响
2015-08-26 15:40:26
1106
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人