自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蓝泉的博客

蓝泉的博客

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

原创 Google及Facebook第三方登录问题,“将你登入到此应用时出错,请稍后再试”

最近项目需求,需要加上Google及Facebook的第三方登录功能。在根据官方文档按步骤完成配置后,在真机上测试正常。 Google登录官方指导文档:https://developers.google.com/identity/sign-in/android/sign-in Facebook登录官方指导文档:https://developers.facebook.com/docs/facebook-login/android/此时,一切正常,高高兴兴打包发布到Goo...

2020-05-22 19:08:21 12489 1

原创 自定义变形饼图

运行效果:关键效果描述:半径不同的扇形、扇形的弧度根据占比决定、有展示动画、有阴影、有指示线、有点击事件。 直接上代码:不规则扇形饼图package demo.hanli.hldemo.modules.custompie.widget;import android.animation.ValueAnimator;import android.cont...

2019-09-03 20:15:47 948

原创 微信开放平台的移动应用与微信公众平台的小程序的账号识别问题

项目需求:移动端开发支持微信分享及微信登录的功能。 程序员小甲:果断到微信开放平台注册应用,获取到相应的APPID及APPSecret信息,很顺利搞定两个功能,完美~ 项目新需求:需要开发对应的微信小程序版。 程序员小乙:果断到微信公众平台创建小程序,马不停蹄开发功能,终于完成~ 项目联调:小甲和小乙发现同一个微信用户在...

2019-08-20 15:10:47 312

原创 获取签名文件的Hash散列

在facebook开发平台创建应用时,需要输入Hash散列。 首先下载OpenSSL插件并安装,注意记住安装位置。如果不安装这个插件的话,后面的步骤会提示你"'openssl' 不是内部或外部命令". 然后再AS的命令符输入框中输入以下信息:keytool -exportcert -alias 签名文件别名 -keystore "签名文件路径\keyst...

2019-05-24 16:43:01 721

原创 BRVAH + RecyclerView模式出现一直调用onLoadMoreRequested的问题

开发过程中发现页面一直在抖动式的执行加载更多,如下所示: 经过调试,发现程序一直在回调onLoadMoreRequested方法,这是什么情况???查看源码后,发现原来是处理获取到的数据时,出现的问题(以下插入的是假数据):private void load(int page){ mList.clear(); for (...

2019-05-14 11:30:20 2187

原创 Glide获取图片原始宽高并展示

场景需求:希望以图片的原始宽高比进行缩放,实现即使在缩略图情况下,也能看到全图。且多张图片可水平滑动。代码: //处理图片 private void dealWithPhoto() { //移除布局中已存在的视图 llPhoto.removeAllViews(); for (int i = 0; i < photos.size...

2019-05-04 10:00:27 5919 2

原创 Glide下载图片

前景提要:新版Glide与旧版Glide下载图片的调用方式稍有不同。旧版Glide请参考:Android 使用Glide下载图片的几种方式新版Glide下载图片:Glide.with(context).downloadOnly().load("网络图片URL").into(new SimpleTarget<File>() { @Override ...

2019-03-28 17:13:19 1903 1

原创 部分机型无法访问网络

前提:已经在AndroidManifest.xml清单文件中声明了网络权限,网络权限获取正常,手机网络连接正常。现象:部分机型无法访问网络,如华为P20。描述:在高版本系统(如Android P)的设备上,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响,同样地,如果应用嵌套了webview,webview也只能使用https请求。...

2019-03-25 14:20:19 277

原创 动态设置ListView高度

   前言:此处仅记录开发时遇到的问题,作为笔记供后期参考。   适用场景:当遇到ScrollView嵌套ListView时,ListView的数据会出现展示不全的问题。   失误:本人一开始仅仅是通过下方展示的方法根据Item高度设置ListView的整体高度,如下:public static void setListViewHeightBasedOnChildren(ListVi...

2019-01-10 10:46:30 1158 1

原创 远程桌面剪切板无效

最近,用远程桌面比较多,今天发现剪贴板不能用了,查了一些资料,是进程rdpclip.exe出的问题。方式一:cmd命令1.打开cmd,输入命令“tasklist”,可以查看现在正在运行的所有进程信息,有进程名称,pid,内存使用情况等。 2.我们找到需要结束进程的pid编号,输入“taskkill /pid 编号 /f”,按回车键。3.或者我们也可以通过进程的名称来...

2018-09-20 14:15:00 3328

原创 自定义View高度自适应

原理:在onMeasure()方法中获取子视图高度,然后调用setMeasuredDimension()方法指定视图宽高。举例:自定义控件中绘制文本信息,且文本能够自动换行,这个时候就需要获取文本内容换行后的最大高度。以下以水平方向绘制等宽的多个字符串,且字符串之间能够水平居中为例。源码:指定视图高度关键源码(在onMeasure()方法中编辑) Rect rect...

2018-09-20 14:08:21 4829

原创 自定义倒计时器

今天整理了一下实现计时器的常用方式,有下面几种:排序 组合方式 附注 1 Timer+TimerTask   2 Timer+TimerTask+Handler   3 Handler   4 Handler+Thread   5 Handler+Runnable   6 CountDownT...

2018-09-12 17:34:00 2440

原创 自定义下拉弹框

    首先自定义PopupWindow,主要是个listView。public SpinerPopWindow(Context context, List&lt;T&gt; list, OnItemClickListener clickListener) { super(context); inflater = LayoutInflater.from(con...

2018-09-12 16:02:56 503

原创 Glide缓存导致图片不更新

Glide是一个非常好用的图片加载框架,它可以很好的缓存图片以提高图片加载效率。 但是在使用的时候,会出现一个问题:当服务器图片资源已经更新,但是URL地址不变时,Glide不会重新加载URL,而是从缓存中读取旧的图片资源。 下面给出两种解决方式: 1、仅使当前网络加载为服务器新数据——治标,一次性: 此方法关键在于指定Re...

2018-09-12 14:42:45 6674 3

原创 Android Studio之APP国际化

 1、字符串国际化:只要在 res 文件夹下新建对应语言的 values 文件夹就好了,    如,英语环境下的,文件夹命名为:values-en    美国英文环境:values-en-rUS    中文环境为:values-zh    大陆地区中文环境: values-zh-cn   在 eclipse 下新建 Android 项目时,会在 res 目录下自动创建一个默...

2018-09-07 13:42:33 4035

原创 安卓国际化之Excel表格导入strings.xml

紧接上一篇博文,下面我们说一下Excel中的文本资源如何导入strings.xml: 首先将表格文件另存为.txt用notepad或者editplus打开转储的文件,发现第一行有对引号,为了让一会儿写的正则表达式简单点,先人为删掉。在“查找目标”栏目中输入:\s*(\S*)\s*(\S*),并在“替换为”栏目中输入:&lt;string name="$...

2018-09-07 13:28:42 1493 1

原创 安卓国际化之strings.xml导入Excel表格

APP国际化已经是一个比较常用的需求了,当然中文部分身为开发人员自己就能三两下搞定,英文部分如果要求不严格的话,自己也能七八下解决。但是,如果是其他语种。。。emm,我们身为开发人员的是不会越俎代庖的,还是交给专业人士好了,哈哈哈。 这个时候,如果那些专业人士让你提供个表格而不是.xml文件的话,就需要进行下面的操作啦——伟大的正则表达式~ 首先用no...

2018-09-07 13:07:44 2645 1

原创 GridLayout使用

      某天需要做个Win10开始页类似的色块样式的布局,就像下面这样:                                                                           某程序媛表示:so easy! GridLayout走起~      下面就是当事程序媛“行云流水一气呵成挥洒自如笔走龙蛇...”一阵捯饬后的页面效果:&l...

2018-09-07 11:08:12 1600

转载 安卓按下Home键至手机桌面后,重新点开应用时无法进入退出时的页面

转自:https://blog.csdn.net/busjb/article/details/40891239  感谢博主分享!现象:当点击Home键至手机桌面,再次点击桌面图标无法进入退出时的页面。举例:注册账号时填写了一堆注册信息,按HOME键退回至桌面获取短信验证码后,再次点开APP,发现不是注册页,填写的注册信息全都不见了。原因:退至手机桌面后,清单文件中的默认页重新执行onC...

2018-08-29 17:48:09 1342

原创 ProgressBar 自定义样式

ProgressBar 默认样式很多时候是不满足项目需求的,简单粗暴点说,就是有些丑。下面展示一下自定义ProgressBar的过程:    首先,在styles.xml文件中添加你的自定义ProgressBar样式。@drawable/progressbar_h是一个自定义的进度条背景。&lt;style name="MyProgressBar" parent="@android:...

2018-08-29 13:04:50 14083

原创 正则表达式使用举例

       正则表达式在我们广大“程序猿”的开发生涯中使用频次还是较多的,比如手机号、邮箱格式检查、批量格式化类文件等。下面正文走起:目标样式:        [Display(Name = "活动标题")]        [StringLength(250)]        public string Title { get; set; }期望结果:         /...

2018-08-23 21:20:22 222

原创 ViewPager与WebView滑动冲突问题

    当使用ViewPager来水平切换多个WebView控件,且WebView展示的网页中恰巧也存在水平滚动的page信息,则会出现一个常见的尴尬现象:ViewPager的水平滑动事件与网页中的水平滚动Page冲突啦~~~    这可如何是好呢,在广大热心网友的分享中,发现一妙解-重写WebView的触摸事件: webview.setOnTouchListener(new View...

2018-08-23 20:46:57 1377

原创 RecyclerView不显示数据

    一个阳光明媚晴空万里的上午,我悠哉游哉劈里啪啦的敲着代码,写完一个列表页面后,不以为意随随便便地运行调试,竟然不明所以毫无准备地发现——竟然没显示数据!!!    于是乎立马检查数据源,嗯,已经正确指定;    再试乎检查适配器,嗯,也正确初始化;     。。。     哎呀呀,怎么回事???然后本着跟你死磕到底的坚强意志,势必要把此BUG揪出来。。。N久N久后。。。本着...

2018-08-23 20:35:46 10073

原创 PullToRefreshRecyclerView下拉刷新无效

     PullToRefreshRecyclerView是一个支持下拉刷新及上拉加载更多的控件,我平时开发一直用这个。But也会遇到莫名其妙的问题,今天就遇到了列表无法下拉的情况,而且不是所有列表都不能下拉。。。这是什么鬼!!!感慨无用,还是老老实实调试代码吧。    首先,我对比了这两个页面的不同之处,但是这俩继承的是同一个基类(PS:此刻内心是崩溃的,呵呵一笑之)。    其次,看...

2018-08-23 13:56:06 919 1

原创 AndroidStudio自定义Getter/Setter

  我们在平时开发中经常会创建数据模型,AndroidStudio也提供给我们了默认的Getter及Setter方法,可以快速生成对应方法:   首先,我们看一下默认的Getter方法中是如何处理的,在窗口中使用快捷键可以看到程序如下:说明(PS:这是自己的一个理解,细节处说明不准确的地方还望见谅哈~):     下面我想获得一个能够显示为下图左边所示样式的Getter...

2018-07-25 11:06:35 853

原创 MongoVUE 几个常用查询命令

1、字段匹配举例:查询“_id”字段值为5980690eceab061b1613e594的数据。命令:{'_id':ObjectId('5980690eceab061b1613e594')}  2、显示指定字段举例:显示“_id”“tag”两个字段。命令: {_id:'',tag:''}查询结果:  3、字段包含举例:查询tag(数组)字段包含“家”的数据。命令: {'tag':{$regex:'...

2018-05-29 14:41:49 3008

原创 Xamarin WebView高度重置

    在Xamarin中,WebView需要指定控件高度,或者包含在Grid中后,再指定Grid的高度,但是有时候页面需要我们实现ScrollView中包含WebView及其他布局,且WebView高度不可指定为固定高度。在踩了许多坑后,可通过以下方式实现:    首先,项目需要添加第三方控件“Xam.Plugin.WebView”的引用,这个webview可以方便的注入JS代码,如下图所示:注...

2018-05-22 14:15:00 772

原创 TextBox复制剪切问题

首先在布局中添加键盘监听,如下:&lt;TextBox Keyboard.KeyDown="TextInput_PreviewKeyDown"/&gt;然后再***.xaml.cs文件中实现监听处理规则:private bool keydown = false; private void TextInput_PreviewKeyDown(object sender, System....

2018-05-17 14:40:39 1676

原创 MasterDetailPage示例

前言:MasterDetailPage可以实现左侧滑出菜单,下面把Demo的关键代码调用展示出来:TabPage.xaml:实现底部Tab切换,多数应用都会用到这种效果。&lt;?xml version="1.0" encoding="utf-8" ?&gt;&lt;xf:BottomBarPage xmlns="http://xamarin.com/schemas/2014/forms" ...

2018-05-08 12:54:59 2142

原创 获得大写首字母

    试用场景:联系人分组,文字简拼等。    在执行Encoding.GETEncoding("GBK")方法时,安卓版会出现如下错误信息(IOS一般不会出现):  解决方式:右键安卓项目,选择“属性”按钮,在“Android选项”栏目中选择“CJK”后保存,清理项目并重新运行即可。 /// &lt;summary&gt; /// 返回给定字符串的首字母 ///...

2018-04-12 16:51:54 491

原创 WPF-文件相关操作

一 文件下载    首先,添加RestSharp的引用。这里我已经引用了RestSharp,所以“安装”按钮不可点击。    有的附件(即文件)下载时需根据MediaID文件标识以及身份验证条件符合才能下载,以下为程序内容: /// &lt;summary&gt; /// 获取图片保存到本地并返回本地地址 /// &lt;/summary&gt; /...

2018-04-10 17:53:54 1805

原创 Xamarin深坑集锦

1 图片无法引用问题现象:图片明明已经放入安卓及IOS的资源目录下,其他图片可以用,只有个别图片无法引用。问题原因:有时直接复制进来的资源文件没有指定生成操作(偶然事件),导致程序编译时找不到目标文件。解决方式:右键目标图片查看属性,安卓文件则在“生成操作”栏目选择“AndroidResource”,IOS则选择“BundleResource”,然后重新生成解决方案。(有时重新生成解决方案后仍不能...

2018-04-09 14:39:44 4524

原创 Xamarin新手-项目创建四

一 、新建列表页1.1 使用列表控件    在空白页面的布局文件(.xaml)中添加ListView控件,并定义列表项Item样式。    程序说明:下面简单说明几个用到的ListView的属性字段    RowHeight:属性指定行高,一般不直接指定行高,通过 HasUnevenRows="True"可让ListView的行高根据Item内容自适应。    SeparatorColor:属性指...

2018-04-09 14:28:01 401

原创 Xamarin新手-项目创建三

一、新建Tab切换页1.1 添加依赖    通过NuGet程序包添加依赖程序。右键项目名称,点击“管理NuGet程序包”。搜索框架ThriveGmbH.BottomNavigationBar.XF并安装。(截图中圈出的位置处会有一个下载按钮,由于当前已经下载,所以会显示叉号)1.2 新建Tab切换页    首先,新建Tab切换页,这里新建三个空白页面,可在底部切换“首页”、“通知”、“我的”等。 ...

2018-04-03 15:50:38 585

原创 Xamarin新手-项目创建二

一、登录页添加1.1 新建空白页面    选中Views目录并右键选择“添加”--&gt; “新建页”。这里以登录页为例,选择新建空白页并修改名称(以下以LoginPage为例)。    新建成功后,会自动生成三个相互对应的文件:布局文件(***.xmal)、页面文件(***.xmal.cs)、模型文件(***ViewModel.cs),如下图所示:1.2 自定义控件     有的时候,平台自带的...

2018-04-03 14:40:29 381 1

原创 Xamarin新手-项目创建一

附注:以下项目创建的基础是在你已经搭建好Xamarin工作环境。一、创建项目1.1 新建Prism项目    Prism插件安装成功后,新建项目时,会有“Prism”选项。按下图所示创建空白APP,并根据需求填写项目名称及保存路径。1.2 选择Container    进入项目时,选择“Unity”类型。1.3 使用Prism方式与使用默认方式项目结构对比1.4 项目运行效果结语:上面就是通过Xa...

2018-04-03 13:37:55 760

转载 Android7.0关于PopWindow的问题Android7.0 PopupWindow的兼容问题   Android7.0 中对 PopupWindow 这个常用的控件又做了一些改动,修复了以前

Android7.0 PopupWindow的兼容问题  Android7.0 中对 PopupWindow 这个常用的控件又做了一些改动,修复了以前遗留的一些问题的同时貌似又引入了一些问题,本文通过在7.0设备上实测并且结合源码分析,带你了解关于 PopupWindow 的相关改动。  Android7.0 中下面两个问题解决了,这里强调一下,不是说从 Android7.0 开始

2017-04-10 12:05:19 421

转载 Android内存优化(使用SparseArray和ArrayMap代替HashMap)

在Android开发时,我们使用的大部分都是Java的api,比如HashMap这个api,使用率非常高,但是对于Android这种对内存非常敏感的移动平台,很多时候使用一些java的api并不能达到更好的性能,相反反而更消耗内存,所以针对Android这种移动平台,也推出了更符合自己的api,比如SparseArray、ArrayMap用来代替HashMap在有些情况下能带来更好的性能提升。

2017-03-10 09:12:49 136

微信开放平台转移申请函相关.zip

微信开放平台应用迁移申请函,以及申请函模板说明,如果需要将微信开放平台的应用迁移至其他开发者账号,则需下载该申请函并按需求填写。

2019-10-28

空空如也

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

TA关注的人

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