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

Android 常用控件 - View 属性大全

(1)视图透明度,值在0-1之间,0为完全透明,1为完全不透明 android:alpha setAlpha(float) (2)视图背景 android:background setBackgroundResource(int) (3)视图是否可点击 android:clickable setClickable(boolean) (4)设置view的备注说明,作为一种辅助功能提
2904 人浏览
android01

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

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

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

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

如何解决Android Studio编译时报的duplicate class这类问题

序前段时间做一个需求,因为要做复杂的动画,所以选择了Airbnb的lottie动画框架。但在引入lottie的过程中碰到了一个重复类(duplicate class)的编译错误,解决这个问题花了我一些时间,这里将其归纳为一类问题,并说明一下解决的方法。重现问题我新建一个Android应用来重现这个问题(操作系统为macOS 10.13.6):1、用Android Studio(3.4.2)创建一个
2893 人浏览
android

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

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

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

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

5 天 将近 1500 Star 的Google Flutter UI 模板

2019 年 9 月 10 日 - 11 日,Google 开发者大会在上海召开,Android 团队更新了最新产品 Android 10;Google 产品经理樊舟颖宣布了 Flutter 1.9 版本上线,这一版本支持更多的功能和语言,并大幅度改进了 Flutter 网页版。 可见 Google 对 Flutter 的重视。 今天推荐的这个项目是:Best-Flutter-UI-Templ
2854 人浏览
android00

Android 清除glide缓存

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

Android Dialog点击返回键不消失

在开发过程中我们经常需要各种对话框,使用最多的应该就是Dialog;面对不同的需求,可能需要不同的效果。1,点击返回键,不关闭Dialog// 默认为 true,为 false 时表示不可取消 mDialog.setCancelable(false);
2843 人浏览
android01

Android产品研发(十四)-- App升级与更新

上一篇文章中我们讲解了android app中的轮训操作,讲解的内容主要包括:我们在App中使用轮训操作的情景,作用以及实现方式等。一般而言我们使用轮训操作都是通过定时任务的形式请求服务器并更新用户界面,轮训操作都有一定的使用生命周期,即在一定的页面中启动轮操作,然后在特定的情况下关闭轮训操作,这点需要我们尤为注意,我们还介绍了使用Timer和Handler实现轮训操作的实例,更多关于App中轮训
2822 人浏览
android

Android显示网络请求的有转义符的字符串

在我们的开发中,经常会遇到从后端请求回去的数据带有转义符的字符串,如何显示呢 答案其实很简单, 直接用 Html.fromHtml 函数就可以了 例如:请求来的数据
2818 人浏览
android01

Android源码解析(十)-- Launcher启动流程

Launcher程序就是我们平时看到的桌面程序,它其实也是一个android应用程序,只不过这个应用程序是系统默认第一个启动的应用程序,这里我们就简单的分析一下Launcher应用的启动流程。不同的手机厂商定制android操作系统的时候都会更改Launcher的源代码,我们这里以android23的源码为例大致的分析一下Launcher的启动流程。通过上一篇文章,我们知道SystemServer
2803 人浏览
android

Android ButterKnife Zelezny插件的安装与使用

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

Android源码解析(八)-- Zygote进程启动流程

大家都知道android系统的Zygote进程是所有的android进程的父进程,包括SystemServer和各种应用进程都是通过Zygote进程fork出来的。Zygote(孵化)进程相当于是android系统的根进程,后面所有的进程都是通过这个进程fork出来的,而Zygote进程则是通过linux系统的init进程启动的,也就是说,android系统中各种进程的启动方式init进程 --&
2797 人浏览
android00

安卓有五种打印日志的方法

安卓有五种打印日志的方法1.log.v(tag,message); //verbose模式下打印最详细的日志2.log.d(tag,message); //debug模式级别的日志3.log.i(tag,message); //info级别的日志4.log.w(tag,message);//warn级别的日志5.log.e(tag.message); //error级别的日志注意:tag和mess
2788 人浏览
androidproject

Github flutter自定义波浪view

flutter自定义波浪viewvoidmain()=>runApp(WaveWidget( bgColor:Colors.lightBlue, //imageProvider:AssetImage('assets/pic/ic_headimg.png'), //imgSize:Size(50.0,0.0), size:Size(300.0,500.0), ));
2772 人浏览
android01

Android源码解析(十四)-- Activity启动流程

好吧,终于要开始讲解Activity的启动流程了,Activity的启动流程相对复杂一下,涉及到了Activity中的生命周期方法,涉及到了Android体系的CS模式,涉及到了Android中进程通讯Binder机制等等,首先介绍一下Activity,这里引用一下Android guide中对Activity的介绍:An activity represents a single screen w
2754 人浏览
android

android RxJava(RxAndroid)的简单使用

可能大家听都没有听说过这个框架,但是现在其实已经很火了。在面试时,很多公司要求面试者会使用这个库,所以在网上查找资料,学习了如何使用,这里记录一下。前言  RxAndroid是RxJava在Android上的一个扩展,大牛JakeWharton的项目。据说和Retorfit、OkHttp组合起来使用,效果不是一般的好。而且用它似乎可以完全替代eventBus和OTTO,这么牛的东西当然要研究研究了
2737 人浏览
android01

Android源码解析(十八)-- Activity布局绘制流程

这篇文章是承接上一篇文章(Android布局加载流程:android源码解析(十七)-->Activity布局加载流程)来写的,大家都知道Activity在Android体系中扮演者一个界面展示的角色,通过上一篇文章的分析,我们知道Activity是通过Window来控制界面的展示的,一个Window对象就是一个窗口对象,而每个Activity中都有一个相应的Window对象,所以说一个Ac
2729 人浏览
android01

Android产品研发(十一)-- 应用跳转协议scheme

上一篇文章中我们讲解了在Android App的实际开发中,尽量不在静态变量、全局变量中保存数据,这是因为App的进程可能是不安全的,在部分手机中其有可能被系统杀死,从而造成静态全局变量重新初始化。而这时候App当前页面的Activity还会被保存在内存中,从而造成App并没有被重启的假象,但是这只是显示的页面没有被杀死,而进程实际上是被重新启动了的。这时候在使用已被重新初始化的静态变量就会发生一
2715 人浏览