Android开发( 右侧选择分类 )
kotlin

Android Edittext进行字符限制

在工作中,根据需求,EditText对输入的内容进行20个字符的限制,一个汉字占两个字符,一个字母占一个字符,当已经输入19个字符的时候,不可以输入汉字,但是还可以输入一个字母。如果输入超过20个字符,进行截取20个字符。以下是网上大神的工具类,我这边根据自己需求修改。(其中的20个可以随意的修改)1,创建工具类packagecom.zhzd.youde.util; importandroi
2585 人浏览
SuperBig

Android Service详解(三)---IntentService

这是第三篇文章主要讲的是IntentService的使用一、Service的耗时操作如何解决呢?不管是何种Service,它默认都是在应用程序的主线程(亦即UI线程)中运行的。所以,如果你的Service将要运行非常耗时或者可能被阻塞的操作时,你的应用程序将会被挂起,甚至会出现ANR错误。为了避免这一问题,你应该在Service中重新启动一个新的线程来进行这些操作。现有两种方法大家参考:① 直接在
2570 人浏览
android

Android webview https 链接中加载http图片,加载不出

问题:链接是https的,但是里面的图片是http的,所以导致图片加载不出。解决:在webview中加上代码webView.getSettings().setJavaScriptEnabled(true); // 启用js webView.getSettings().setBlockNetworkImage(false); // 解决图片不显示 if(Build.VERSION.SDK_INT
2566 人浏览
android

Could not find com.android.tools.build:aapt2:3.2.1-4818971.

Could not find com.android.tools.build:aapt2:3.2.1-4818971.android studio 升级到了3.0 取消了apt 报了这个错Could not find com.android.tools.build:aapt2:3.2.0-alpha14-4748712.Searched in the following locations: fi
2555 人浏览
android

Handler笔记(Handler作用和使用方法)

说明本文是Handler的笔记:一、Handler的作用1,执行计划任务(按照你指定的计划的安排,来执行某些任务)2,线程间的通信(例如在Android应用中,去请求一个网络操作,你就需要在主线程中启动一个子线程来执行网络任务,当网络任务执行完了,你就需要拿到主线程的Handler发送一个消息,让主线程去更新UI)
2555 人浏览
cnbzlj

Android 使用MediaPlayer播放assets或者raw目录的音频文件

不废话,需求:当接收到推送消息时,播放apk自带的声音,怎么办?1,首先接入极光推送,我前几篇文章已经讲了,不会的自己去看。在MyReceiver里的public void onReceive(Context context, Intent intent)判断消息类型,然后使用MediaPlayer播放assets或者raw目录的音频文件。if (JPushInterface.ACTION_NOT
2555 人浏览
android

调用Android自带浏览器打开网页

在Android中可以调用自带的浏览器,或者指定一个浏览器来打开一个链接。只需要传入一个uri,可以是链接地址。启动android默认浏览器在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器。如果手机本身安装了多个浏览器而又没有设置默认浏览器的话,系统将让用户选择使用哪个浏览器来打开连接。Uri uri = Uri.parse("https://www.baidu.com
2551 人浏览
SuperBig

Android Service详解(四)---绑定服务BoundService详解之扩展Binder类

这是第四篇文章主要讲的是BoundService中使用扩展Binder类实现一、基础知识1.什么是绑定服务绑定服务是客户端-服务器接口中的服务器。绑定服务可让组件(例如 Activity)绑定到服务、发送请求、接收响应,甚至执行进程间通信 (IPC)。 绑定服务通常只在为其他应用组件服务时处于活动状态,不会无限期在后台运行。2.实现原理应用程序组件(客户端)通过调用bindService()方法能
2548 人浏览
androidproject

二次贝塞尔曲线绘制原理讲解

贝塞尔曲线简介贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如PhotoShop等。在Fla
2548 人浏览
android00

android中?attr/**与@drawable/**或@color/**等的区别

今天在写一个Demo的时候,突然遇到?attr/colorPrimary这个用法,我苦思冥想,最终还搬出了Android源码,终于知道了意思,暂且记下来,作为备忘录吧。一、?attr/** 这个google叫预定义样式 这个是用在多主题时的场景,属性值会随着主题而改变。但并不是一上来就可以用的,必须做足以下准备工作:1,如果是自定义控件,请在style.xml中或attrs.xml中声明属性:&l
2530 人浏览
androidproject

Android 复杂type封装库,支持上拉加载下拉刷新,支持多种不同状态管理切换

自定义支持上拉加载更多,下拉刷新,可以自定义头部和底部,可以添加多个headerView,使用一个原生recyclerView就可以搞定复杂界面。支持自由切换状态【加载中,加载成功,加载失败,没网络等状态】的控件,可以自定义状态视图View。拓展功能【支持长按拖拽,侧滑删除】,轻量级,可以选择性添加 。多年前已经使用于前项目投资界,新芽,沙丘大学等APP正式项目中!持续更新……目录介绍1.复杂页面
2499 人浏览
androidproject

Android智能下拉刷新框架-SmartRefreshLayout

Android智能下拉刷新框架-SmartRefreshLayoutEnglish| 中文SmartRefreshLayout以打造一个强大,稳定,成熟的下拉刷新框架为目标,并集成各种的炫酷、多样、实用、美观的Header和Footer。 正如名字所说,SmartRefreshLayout是一个“聪明”或者“智能”的下拉刷新布局,由于它的“智能”,它不只是支持所有的View,还支持多层嵌套的视图结
2468 人浏览
xiaozhu

Android中获取视频的第一帧图片

方案一:使用Glide获取视频的第一帧图片 Glide.with(holder.mCover.getContext()) .setDefaultRequestOptions( new RequestOptions() .frame(0)
2436 人浏览
android01

Android产品研发(十六)-- 开发者选项

上一篇文章中我们讲解了android中内存对象的序列化方式。由于android开发涉及到不同Activity的数据传递,对于基本数据类型数据的传递是没有问题的,但是一旦涉及到复杂数据类型,就需要将数据序列化以便传输,在文章中我们主要讲解了两种数据序列化的方式:实现Serializable接口和实现Parcelable接口,同时也比较了它们各自的优缺点和实现方式。具体关于内存对象序列化方面的知识可参
2431 人浏览
SuperBig

Android Service详解(七)---绑定服务BoundService详解之Messenger双向通信的实现

这是第七篇文章主要讲的是BoundService中用Messenger实现IPC。前三篇文章对扩展Binder类和AIDL进行了说明,绑定服务一般通过AIDL和Messenger来实现IPC一、概述Messenger实现IPC通信,底层也是使用了AIDL方式。和AIDL方式不同的是, Messenger方式是利用Handler形式处理,因此,它是线程安全的,这也表示它不支持并发处理;而AIDL方式
2428 人浏览
android

Android 嵌套RecyclerView禁止滑动事件

//禁用滑动事件 recyclerview.setNestedScrollingEnabled(false)
2425 人浏览
android00

Android 清除glide缓存

清除glide的缓存 在进Activity时的onCreate()里执行缓存清理1, 清除硬盘缓存Glide.get(this).clearDiskCache();2,清除内存缓存Glide.get(this).clearMemory();
2421 人浏览
android

Android ButterKnife Zelezny插件的安装与使用

Android ButterKnife Zelezny是Androidstudio Plugins里面的一款插件。官网地址:https://github.com/avast/android-butterknife-zelezny题外话:本人菜鸟一个,写博客仅仅是一个记录的作用。ButterKnife Zelezny这个插件有些小伙伴一直在用,还有很多小伙伴可能还不知道。个人认为他最大的作用就是一键
2405 人浏览
cheng

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

1.问题:Android Gradle需要java11,你当前的使用的java8,编译不过。错误提示如下:当前AS不满足当前工程编译环境An exception occurred applying plugin request [id: 'com.android.application'] > Failed to apply plugin 'com.android.internal.app
2401 人浏览
web

分享GitHub上收集的微信小程序开源项目

最近微信小程序很火,收集了许多GitHub上的微信小程序开源项目内含各种微信小程序相关的开发工具,Demo,UI组件,开发框架,项目实例等等等等awesome-github-wechat-weapp 是由OpenDigg整理并维护的微信小程序开源项目库集合。我们会定期同步OpenDigg上的项目到这里,也欢迎各位提交项目给我们。如果收录的项目有错误,可以通过issue反馈给我们。这里的项目Star
2398 人浏览