
android
pyd15
有花方斟酒,无月不登楼。
展开
-
异常:java.lang.RuntimeException:Can't create handler inside thread that has not called Looper.prepare
今天在使用okHttp发送一个请求时,由于需要查看返回的信息,便想用Toast显示该信息,没想到报错了: 究其原因,原来是因为okHttp发送请求时新开了一个子线程,而Toast消息不能在子线程中弹出,故有此报错。问题原因Android中的UI是线程不安全的,因此要更新UI必须在主线程中进行。 有两种更新UI的方法,一种是runOnUIThread,另一种是Handler()....原创 2018-05-04 15:56:19 · 17509 阅读 · 0 评论 -
Android工具之ADB的安装(Win10专业版)
1原创 2019-01-16 18:21:07 · 5569 阅读 · 0 评论 -
Android复习笔记(一)| 基本布局篇
在Android开发中,界面设计是门面,是必不可少的元素,这就需要借助布局实现。布局是一种可用于放置很多控件甚至嵌套布局的容器,它可以按照一定规律调整内部控件或者布局的位置(比如控件和父容器之间以及控件与控件之间的位置关系),甚至还能在布局中嵌套布局,从而实现开发需求,编写出精美的界面。接下来介绍四种布局:FrameLayoutLinearLayoutRelativeLayoutPe...原创 2018-11-05 12:01:46 · 424 阅读 · 0 评论 -
Android Animation系列之简介
Andorid Animation系列之简介 来源:《基于Material Design的Android用户界面设计》 一、动画的目的动画是用户体验的主要部分,它可以使应用更有趣,其本质是想用户诠释变化,回答了页面之间要如何过渡或者不同状态之间要如何过渡等问题。其中,错误提示就是一个极好的动画实例(它们不被期望出现,因此作为辅助引导更为有效),其在普通交互中也是很有意义的。...原创 2018-07-29 15:37:59 · 298 阅读 · 0 评论 -
Android--实现带ProgressBar的自定义Dialog
说来惭愧,由于刚学Android不久就开始做项目,虽然刚开始做的时候只用了一个月就写好了基本功能,但由于考虑不周全,有些如检测版本自动更新、查看缩略图等应有功能没有想到,导致一个差不多半年前接下的项目,到现在还在修修补补。不过开发的过程中需求也在不断变化,算是初次经历到了所谓“增量开发”的工作。回到正题Android给我们提供了许多控件,但这些原生控件往往不能满足我们的需求,因此这就需...原创 2018-05-15 21:06:39 · 1771 阅读 · 0 评论 -
Android官方API文档重制版——添加搜索功能
在一名程序员的日常开发中,专业领域的API文档是必不可少的。 本着这种精神,我上网查找了一些所谓的Android的“”中文”API文档 真是挂羊头卖狗肉,明明只有标题是中文却也说是中文文档!!在此也劝想找中文文档的朋友一句,网上是没有完整版的AndroidAPI中文文档的,不过有一个网址有部分中文翻译和说明文章,实在需要的朋友可以去看看。App 组件 | Android 开发者 不过...原创 2018-05-15 00:04:25 · 1615 阅读 · 0 评论 -
利用反射机制修改Dialog的各文字组件的颜色、字体大小等属性
作为程序员,要想让组件有与众不同的效果,必须学会编写自定义View。 这次我就先从自定义Dialog中组件的基本属性开始学习。一个最基本的Dialog:乍一看视觉效果还可以,但当我们想改变一下标题的文字颜色或者按钮颜色应该怎么做呢?查看源码public class AlertDialog extends Dialog implements DialogInterf...原创 2018-05-06 22:01:22 · 1338 阅读 · 1 评论 -
Android Studio--生成keyStore文件及正式签名的apk文件
· 生成正式的keyStore文件并生成带签名的apk文件在应用的开发阶段,Android Studio会帮助我们生成一个默认的keyStore文件以帮助在手机上安装apk; 而在应用发布阶段,我们应该生成一个正式的keyStore文件作为apk的签名。第一步第二步第三步第四步回到第二步中填入生成的keyStore文件的路径以及设置的密码 ...原创 2018-05-06 00:12:19 · 10226 阅读 · 0 评论 -
android--实现点击Dialog按钮对话框不消失
近期在使用Dialog时发现,只要Dialog设置了Button(Positive、Negative、Netural),其后添加的onClickListener中的onClick方法里面即使什么也不写,对话框也会消失。示例代码如下:new AlertDialog.Builder(this).setTitle("确认退出吗?") .setPositiveB...原创 2018-05-04 22:40:28 · 2058 阅读 · 1 评论 -
Glide从网络加载图片报错:class com.bumptech.glide.load.engine.GlideException: Failed to load resource
Glide: Load failed for “加载图片的网址” with size [225x225] com.bumptech.glide.load.engine.GlideException: Failed to load resource Cause (1 of 6): class co...原创 2018-04-26 10:49:38 · 42318 阅读 · 6 评论 -
Execution failed for task ':app:clean'. > Unable to delete directory...
近期在重构项目的过程中,发现有些框架生成的文件在其绑定的类被移动到不同包时会报错,以下是解决方法:clean projectrebuild project但期间出现了这个错误: Execution failed for task ‘:app:clean’. > Unable to delete directory…针对此问题,只需将app/build文件夹删除,若提示“无...原创 2018-04-30 20:22:42 · 431 阅读 · 0 评论 -
Android Studio之回退Gradle版本方法 (Minimum supported Gradle version is 4.10.1. Current version is 4.6.)
在使用Android Studio的过程中,AS经常会提示我们gradle已经更新,推荐我们升级更高版本的gradle;然而由于网络被墙,下载Google的依赖资源非常慢(Google的网络连接经常超时重置,无法正常下载),这时候只能回退以前版本或者翻墙下载,此处介绍一下回退到gradle旧版本的方法。在本次升级中,手贱点了update,结果就给更新了4.10.1版本的gradle,结果半天...原创 2020-08-23 12:56:47 · 39790 阅读 · 0 评论