综合( 右侧选择分类 )
SuperBig

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

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

Android studio 设置主题

今天,简单讲讲Android studio的主题设置。这个是今天的第三篇博客,因为今天又重新安装Android studio,发现了好多问题,所以写了这些博客。1、主题修改Android studio自带主题:可能大家会觉得软件的界面不太好看,我们可以换一下主题。选择菜单栏“File--settings--apperance--theme”,主题选择Darcula:2、导入第三方主题:系统提供的两
2675 人浏览
android00

TextView设置行间距、行高,以及字间距

一. 设置TextView行间距、行高:Android系统中TextView有默认行间距,但是比较窄有的时候需要我们设置每行行间距。TextView为我们提供了相关设置属性android:lineSpacingExtra或android:lineSpacingMultiplier。在xml文件设置:1、android:lineSpacingExtra 设置行间距,如”10dp”。表示额外的行间距数
2669 人浏览
SuperBig

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

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

android 如何保留数据两位小数

今天,简单讲讲android如何保留运算结果为浮点数时,保留两位小数显示。这个其实很简单,最近做一个功能时,获取到文件的大小为B的数据,在界面上需要显示为MB,这是需要转换才可以1MB=1024*1024B,所以需要进行触发运算,但是运算结果为整数不好,需要为浮点数并且显示小数点后两位数据。当时居然不知道怎么办,所以在网上查找资料,最终解决了问题,这里记录一下。android 保留两位小数5种方法
2665 人浏览
android00

Android 获取屏幕的宽高

Android 获取屏幕宽度和高度直接转换为DP WindowManager wm = (WindowManager) getActivity().getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetrics(); wm.getDefaultDis
2665 人浏览
android01

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

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

Android源码解析(二十七)-- Android Home事件流程

上一篇文章中我们介绍了android系统的截屏事件,由于截屏事件是一种系统全局处理事件,所以事件的处理逻辑不是在App中执行,而是在PhoneWindowManager中执行。而本文我们现在主要讲解android系统中HOME按键的事件处理,和截屏事件类似,这里的HOME按键也是系统级别的按键事件监听,所以其处理事件的逻辑也应该和截屏事件处理流程类似,从上一篇文章的分析过冲中我们不难发现,系统级别
2655 人浏览
android00

Android 清除glide缓存

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

与技术谈一场永不分手的恋爱

找到一份合适的工作,就像在工作的八小时之内有了一个心仪的恋人。老张我呢,原来在上学那会儿,不是特别爱学习,本人长得呢也特别帅(现在做了技术可惜了哈哈!)所以特招漂亮女孩的喜欢,当然自己也特别喜欢和她们谈恋爱啦,那感觉老甜蜜了呢。也算得上是情感专家。但是最后都没啥好结果,弄得我今后都不再相信爱情了。于是我开始反思自己,到底是哪里出了问题,刚开始谈恋爱的时候,两人都感觉特别好,可是随着时间地流逝,感情
2652 人浏览
web

js获取url参数中文乱码问题 decodeURI

上一篇文章 js获取url参数的时候没考虑到中文乱码的问题其实很简单 直接用 decodeURI 函数就行了方法:以下JS函数用于获取url参数:(超级简单)function getQueryParam(variable) { var query = window.location.search.substring(1); var vars = query.split("&a
2650 人浏览
hangge

SpringBoot - 网络请求模版类RestTemplate使用详解8(自动重试机制)

本文是对前一篇文章关于请求异常处理(点击查看)的补充。有时当我们调用一个接口可能由于网络等原因造成第一次请求失败,如果再去尝试可能就成功了,这就是重试机制。下面演示如何结合 Spring Retry 实现请求发生异常时自动进行重试(重新发起请求)。十一、请求异常自动重试1,安装配置(1)编辑项目 pom.xml 文件,添加 Spring Retry 相关依赖。<!-- 重试机制 -->
2648 人浏览
wechat

小程序周期性更新

小程序周期性更新基础库 2.8.0 开始支持,低版本需做兼容处理。生效条件:用户七天内使用过的小程序周期性更新能够在用户未打开小程序的情况下,也能从服务器提前拉取数据,当用户打开小程序时可以更快地渲染页面,减少用户等待时间,增强在弱网条件下的可用性。使用流程1. 配置数据下载地址登录小程序 MP 管理后台,进入设置 -> 开发设置 -> 数据周期性更新,点击开启,填写数据下载地址。2.
2644 人浏览
iOS

iOS开发工具,ios开发类库

iosUI组件介绍,iOS开发常用工具整理,ios开发总结1、通过CocoaPods安装项目名称项目信息AFNetworking网络请求组件FMDB本地数据库组件SDWebImage多个缩略图缓存组件UICKeyChainStore存放用户账号密码组件Reachability监测网络状态DateTools友好化时间MBProgressHUD一款提示框第三方库MWPhotoBrowser一款简单的
2643 人浏览
littleGG

不输入密码ssh直接登录阿里云Linux主机

最新使用自动打包系统遇到了自动上传不输入密码登录的东西,借鉴了下面这篇文章服务器环境:阿里云云服务器,Linux版本 - CentOS客户端环境:Mac OSX Terminal在Terminal中用ssh命令登录服务器每次都要输入密码,虽然可以复制/粘贴密码,但登录后一段时间不操作,服务器会自动断开连接,连接时又要复制/粘贴密码,还是有些不方便。有没有办法实现登录时不用输入密码呢?有办法,这篇博
2637 人浏览
android

Android 常用控件 - View 属性大全

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

Vue.js - 解决npm run build报错(TypeError: Cannot read property 'compilation' of undefined vue)

1,问题描述最近发现使用npm run build命令打包项目一直失败。报如下错误:MacBook:eciothangge$npmrunbuild >eciot@1.0.0build/Volumes/BOOTCAMP/Vue/eciot >nodebuild/build.js ⠋buildingforproduction.../Volumes/BOOTCAMP/Vue/eciot
2631 人浏览
hangge

SpringBoot - 使用Spring Data JPA操作数据库1(安装配置,基本用法)

一、基本介绍1,什么是 JPAJPA 是 Java Persistence API 的简称,中文名 Java 持久层 API。我们都知道 Hibernate 框架是一个 ORM 框架,而 JPA 则是一种 ORM 规范。JPA 和 Hibernate 的关系就像是 JDBC 与 JDBC 驱动的关系,即 JPA 制定了 ORM 规范,而 Hibernate 是这些规范的实现。因此从功能来说,JPA
2631 人浏览
java

《Java从入门到放弃》框架入门篇:Struts2的拦截器基本语法

拦截器,顾名思义,是拦截不是打劫!!!(图片来自于网络,如果有版权或道德问题,请通知本博主删除,谢谢)是贼个样子滴,而不是这样滴。闲扯完了,回到正题,struts2中的拦截器到底是什么东东呢?我们来百度一下···呃,错了,我们来回顾一下,我们这种熟练工当然不需要百度来查了!!!记住,是回顾,回顾,回顾!!!咳~,请打开我的第二篇博客,看到那张struts2的原理图了没,在Action上下有很多的i
2624 人浏览
cheng

Android Dialog点击返回键不消失

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