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

Android 常用转义字符

1. 转义字符的显示形式 Android的转义字符通过unicode编码来表示。常用的显示形式有Hex形式和HTML形式。常见的转义字符如下: 字符 HTML Hex 半角空格(半角符号)   \u0020 全角空格(中文符号)   \u300
868 人浏览
androidproject

Android智能下拉刷新框架-SmartRefreshLayout

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

Mac彻底卸载Android Studio

需要卸载Android Studio应用及相关配置,在终端(terminal)执行以下命令:rm -Rf /Applications/Android\ Studio.app rm -Rf ~/Library/Preferences/AndroidStudio* rm ~/Library/Preferences/com.google.android.studio.plist rm -Rf ~/
857 人浏览
cnbzlj

android 获取视频第一帧作为缩略图

今天,简单讲讲android里如何获取一个视频文件的第一帧作为缩略图显示在界面上。之前,我说个最近需要从服务器下载视频文件,但是下载后肯定需要显示视频的缩略图在界面上给用户看,于是想到显示视频的第一帧作为缩略图。但是我不知道具体怎么写,于是在网上查找资料,最终是解决了问题。这里记录一下。一.使用MediaMetadataRetriever获取视频的第一帧作为缩略图/** * 获取视频文件截图
850 人浏览
android01

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

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

Android Service详解(六)---绑定服务BoundService详解之AIDL的自定义属性使用

这是第六篇文章主要讲的是BoundService中用AIDL实现IPC,自定义属性的使用,上篇博客已经说明了AIDL应该如何使用,但是如果想传入一个自定义的类的时候怎么办呢?那么这篇博客将对这种情况进行详细描述废话不多说了,直接上步骤,前期的步骤上篇博客已经说明了,这篇是对上篇博客的扩展1.新建一AIDL文件,并与你即将定义的类型名字相同,例如Person.aidl2.新建一个类Person.ja
843 人浏览
cnbzlj

Android httpUrlConnection的基本使用

今天,简单讲讲Android HttpUrlConnection的使用。我在项目里是使用OK HTTP的,但是最近发现使用OK HTTP好多不知道的问题,感觉自己对基本的网络请求不是很好的掌握,所以学习一下基本的网络请求类:HttpUrlConnection。一,HttpURLconnection的介绍在Android开发中网络请求是最常用的操作之一, Android SDK中对HTTP(超文本传
839 人浏览
android

Android 常用控件 - View 属性大全

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

Android okHttp上传图片

今天,简单讲讲Android 使用OK HTTP上传图片。不废话了,直接上代码:/** * 上传图片 * @param url * @param imagePath 图片路径 * @return 新图片的路径 * @throws IOException * @throws JSONException */ public static String uploadImag
823 人浏览
SuperBig

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

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

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

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

全国-城市-百度地图中心点坐标

1 121.487899486,31.24916171 上海-上海市2 100.092612914,23.8878061038 云南省-临沧市3 100.229628399,26.8753510895 云南省-丽江市4 99.1779956133,25.1204891962 云南省-保山市5 100.223674789,25.5968996394 云南省-大理白族自治州6 98.589434287
819 人浏览
SuperBig

Android Service详解(五)---绑定服务BoundService详解之AIDL的使用

一、什么是AIDLAIDL(Android Interface Definition Language)安卓接口定义语言二、为什么使用AIDL呢?如果将Service变成远程Service的话,使用扩展的Binder进行通信会报错:这是由于在Bind Service按钮的点击事件里面我们会让MainActivity和MyService建立关联,但是目前MyService已经是一个远程Service
817 人浏览
cnbzlj

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

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

Android Edittext进行字符限制

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

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

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

封装带分类的RecyclerViewAdapter UniversalTypeRecyclerView

UniversalAdapter这是封装的带分类Recyclerview的Adapter,主要解决项目中分类列表繁琐的重复劳动。不影响Recyclerview或其他封装的上拉下拉Recyclerview的正常使用只需写一个继承UniversalAdapter的adapter支持分类和子项部分的自定义布局数据类需实现OnTypeList接口数据结构JSON示例[ { "title&qu
804 人浏览
android01

Android产品研发(五)-- 多渠道打包

国内的Android开发者还是很苦逼的,由于众所周知的原因,google play无法再国内打开,所以android系的应用市场,群雄争霸,而后果就是国内存在着有众多的应用市场,产品在不同的渠道可能有这不同的统计需求,为此android开发人员需要为每个应用市场发布一个安装包,这里就涉及到了android的多渠道打包。本文主要讲解的就是几种主流的多渠道打包方式,以及其优劣势。通过配置gradle脚
802 人浏览
android01

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

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