- 博客(70)
- 资源 (1)
- 收藏
- 关注
原创 Android6.0权限快速申请(基于RxJava2更优雅)
一、前言前言?哪来那么多废话,直接进入正题!二、需要申请的权限咳咳咳,进入正题前,我们还是先了解一下哪些权限是Android6.0后需要手动申请的吧,对症下药,才是王道嘛! group:android.permission-group.CONTACTS (手机联系人相关的权限) permission:android.permission.WRITE_CONTACTS perm
2017-05-27 12:03:10
1592
原创 Android DataBinding(数据绑定)详解(二)
前言上一节,我们对DataBinding进行了简单的了解和使用,相信你已经有了基本的认识。这一节,我们将对DataBinding的初始化原理进行学习,当然我们不做深度的解析,毕竟,大多数的朋友们更关注的是如何将它运用到项目中。 高能君:前方高能,内容可能枯燥无味,感兴趣的朋友可以了解一下,不感兴趣的朋友赶紧跳过进入下一节吧。基本原理android.bindingBRBinding类当我
2017-05-11 10:25:32
1291
1
原创 Android DataBinding(数据绑定)详解(一)
Android DataBinding,在如今来看已经不算陌生,在网上也多多少少有好的文章介绍它,很多朋友早就耳闻它的大名,通过学习并运用在自己的项目中。那今天为什么我还要再写一个DataBinding的教程呢?相信很多朋友和我一样,在学习中发现,网上大部分的教程都存在不同的缺陷,要么内容不完整,要么就是没有系统化的讲解方向。所以针对这些问题,我写下这个教程,帮助入门的朋友们
2017-05-11 01:44:17
3065
原创 Retrofit2+RxJava2依赖包一览
为了方便新项目快速导包,一次性记录下来。 依赖包版本号可以自寻搜索最新的来替换即可。RxJava2相关: compile ‘io.reactivex.rxjava2:rxjava:2.0.1’ compile ‘io.reactivex.rxjava2:rxandroid:2.0.1’Retrofit2相关: //retrofit compile ‘
2017-05-08 15:44:44
1759
转载 Android中xml tools属性详解
第一部分安卓开发中,在写布局代码的时候,ide可以看到布局的预览效果。但是有些效果则必须在运行之后才能看见,比如这种情况:TextView在xml中没有设置任何字符,而是在activity中设置了text。因此为了在ide中预览效果,你必须在xml中为TextView控件设置android:text属性 android:id="@+id/text_main" a
2017-04-20 09:09:50
627
原创 Android中Dialog的用法
我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框。当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,
2017-04-07 13:58:14
519
原创 Android中全屏Dialog的实现
Dialog是APP开发中常用的控件,同Activity类似,拥有独立的Window窗口,但是Dialog跟Activity还是有一定区别的,最明显的就是:默认情况下Dialog不是全屏的,所以布局实现不如Activity舒服,比如顶部对齐,底部对齐、边距、宽度、高度等。如果将Dialog定义成全屏的就会省去很多问题,可以完全按照常用的布局方式来处理。网上实现方式有不少,一般情况下也都能奏效,不过
2017-04-07 13:54:03
5975
1
原创 Android6.0有哪些权限需要手动申请的
Dangerous Permissions:group:android.permission-group.CONTACTS (手机联系人相关的权限) permission:android.permission.WRITE_CONTACTS permission:android.permission.GET_ACCOUNTS permission:android.permission
2017-03-28 11:03:14
1708
原创 android调用qq聊天功能
String url="mqqwpa://im/chat?chat_type=wpa&uin=2853700237";startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); 会弹出QQ聊天界面 , 但是需要添加好友,才能聊天。 可以设置临时会话功能,就不需要添加好友了。1、打开QQ推广页面,
2017-03-27 18:27:24
1100
原创 androidStudio升级到2.3之后新建Activity布局变成了约束(ConstraintLayout)布局
1.如上图,as升级到2.3之后,新建布局默认变成了约束布局2.在as安装目录\plugins\Android\lib\templates\activities\common\root\res\layout下,找到simple.xml.ftl文件3.用以下布局替换 xmlns:tools="http://schemas.android.com/tools" andr
2017-03-27 17:33:45
1593
原创 android Intent 传递 List 利用Serializable
Intent是Activity与Activity之间,Activity与Service之间传递参数的介质 Intent.putExtras(key, value)几乎可以包括各种类型的值,但是却没有类似List之类的传递参数 再加班无聊的时候,我试了试,发现可以把list强转成Serializable类型,然后通过putExtras(key, (Serializab
2017-03-25 15:05:24
1007
原创 Android Studio 点击运行,找不到夜神模拟器的解决办法
找到夜神模拟器的安装目录,我的安装目录是: D:/Program Files/NoxVM/Nox/bin/进入控制台CMD,转到安装目录 cd D:/Program Files/NoxVM/Nox/bin/执行命令: nox_adb.exe connect 127.0.0.1:62001然后再运行看看,就有了
2017-03-25 10:08:33
10089
5
原创 Android px、dp、sp之间相互转换
dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。dp也就是dip,这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密
2017-03-17 14:24:35
527
原创 Android中WebView使用和WebSettings的属性
1. 打开网页时不调用系统浏览器, 而是在本WebView中显示:mWebView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(u
2017-03-16 15:38:01
3783
原创 解决Android Studio无法安装app到小米手机
解决方式:1.登录小米账号(必须)2.进入开发者选项中:打开USB调试,关闭MUI优化(需重启手机)3.绝对解决你的烦恼,解决的朋友点个赞,评论一下让更多朋友相信。。。
2017-03-16 15:20:37
5212
1
原创 Android的Finish后的代码继续执行
测试:[java] view plain copy @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activi
2017-03-16 09:48:47
1651
原创 Android Studio手动快速Build APK
不知道是不是个人问题, 使用 install run 功能之后, 修改逻辑代码,偶尔会出现不生效的情况; 就是代码,明明改了,但是执行结果却和之前的一样;但是,xml布局文件,修改之后,效果真的很明显,而且gradle速度也非常快;本文,不讨论怎么如何开启 守护进程,如何开启 并行编译; 因为这对我一点卵用都没有, 可能需要四路泰坦这样的神机, 才能体现效果吧;
2017-03-16 09:43:07
4778
原创 Java中Switch Case语句的用法
switch中default方法为case之外的判断。switch支持部分基本数据类型(primitive data types),如:byte、short、int、long、char;不支持boolean、float、double支持Enum类型、String、和部分基本类型的包装类(如:Character、Byte、Short、Integer);
2017-03-15 09:42:48
2384
原创 Android右滑关闭当前Activity
转载请注明出处:meijian531161724常常可以看到,很多Android应用都有这么一个功能,就是滑动关闭Activity,比如微信,CSDN移动端,百度贴吧移动端等。我自己也想写个滑动关闭Activity,最近事情没有那么多,我就google了一下,查看了一下实现滑动关闭Activity的实现方法,其中,有个思路,我觉得很不错,因此,在这里,我通过别人的思路,自己实现了一下滑
2016-12-21 21:50:34
4043
2
转载 Android Studio快捷键之相见恨晚的操作锦集
作为一个Android开发者,最常使用的就是Android Studio了,我在这里声明Android Studio比Eclipse好用100倍,不服来辩。本文用于纪录Android Studio中相见恨晚的操作,阅读本文大概需要不确定时间。(你难道就不边读边试试?)我会用尽量简单明了的语言介绍。PS:多图,流量用户慎入。为了方便 老读者 阅读,我会将更新内容放在开头。新用户 可以直接跳过
2016-12-20 21:53:49
555
原创 Java中为IO流写一个快速关闭流的小工具
考虑这样一种场景,你要为系统编写一个下载文件并缓存到本地的功能,你会用到InputSteam和OutputStream类,你可能会这么写:InputStream is = null;OutputStream os = null;try { is = new FileInputStream(""); os = new FileOutputStream(""); //下
2016-12-19 17:03:12
2590
3
原创 FindBugs:简单介绍与使用
简介Findbugs是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。Findbugs自带检测器,其中有60余种Bad practice,80余种Correctness,1种 Internationalization,12种Malicious code vulnerability,27种Multithreaded correctness,23种Per
2016-12-12 22:24:19
11427
1
原创 巧用Snackbar代替Toast
SnackBar是 Android Support Library 22.2.0 里面新增提供的一个控件,可以把它理解成一个加强版的Toast,或者是一个轻量级的Dialog。SnackBar默认从屏幕底部弹出,像Toast一样会自动消失,当然也可以手动划出屏幕消失。Toast是不能交互的,而如果需要,SnackBar默认是可以添加一个点击事件的。官方也是推荐使用Snackbar代替Toast,你
2016-12-11 21:39:23
1390
原创 详解Java设计模式:单例模式
详解设计模式:单例模式设计模式之单例模式前言:单例模式,对我们来说不陌生。有些时候,我们想要一个类在整个系统中仅存在一个实例。比如说,系统给我们提供了一个打印机硬件设施,但是我们在系统中多次new 打印机,创建出多个打印机的实例去完成打印任务,那么这个时候就会出现资源冲突现象,这就要求我们必须想一个办法,去确保系统中存在唯一的一个打印机实例。解决的方式有很多,例如创
2016-12-10 12:58:17
395
原创 快速申请Android6.0权限教程!
快速入门授权Android6.0权限教程!Android6.0权限申请前言:Android6.0权限申请在网上虽然一搜一大堆,但是都写的太多太臃肿,而往往学习者都只是想快速去申请到6.0权限,而不是去了解它的由来,它的原因。今天,我就带给大家最简单的方式,简单到你只需要记住代码,复制拿来用就可以了。1先了解一下,哪些权限在6.0以后是需要动态申请的需要动态申
2016-12-09 21:41:45
1458
原创 入门级:GitHub和Git超超超详细使用教程!
GitHub和Git入门考虑到大家以前可能对版本控制工具和Linux命令行工具都不了解,我写了一个简单的博客来让大家学会入门使用方法。GitHub的简单使用第一步 创建GitHub账号1. 打开GitHub官网。2. 点击绿色按钮Sign up for GitHub,填写用户名,邮件地址和密码。注意:用户名只能包含字母和"-"字符密码至少包含一个字母,一
2016-12-08 19:05:58
157587
15
原创 最全面和简单适配屏幕工具AutoLayout的使用教程!
万能适配器,AutoLayout使用!前言:每当我们写好代码,调试布局会发现,每款手机显示的布局效果有时候不尽人意,这是因为我们在写代码时,只针对了调试机型屏幕做了设计,而没有考虑到每个手机适配的问题,虽然大家都知道使用dp,但是并没能完全解决问题,而且在美工小伙伴也不会设计dp的图出来给你作为参考。今天就给大家介绍一款适配,来自鸿洋大神之手的工具AutoLayout。1添加依赖
2016-12-07 22:13:25
4799
1
转载 Android Design Support Library(三)用CoordinatorLayout实现Toolbar隐藏和折叠
此文的代码在 Android Design Support Library(一)用TabLayout实现类似网易选项卡动态滑动效果代码的基础上进行修改,如果你没有看过本系列的第一篇文章最好先看一看。CoordinatorLayout是Android Design Support Library中比较难的控件,顾名思义,它是用来组织它的子views之间协作的一个父view。Coordinator
2016-12-05 23:11:39
597
转载 Android Design Support Library(二)用NavigationView实现抽屉菜单界面
NavigationView在MD设计中非常重要,之前Google也提出了使用DrawerLayout来实现导航抽屉。这次,在Android Design Support Library中,Google提供了NavigationView来实现导航菜单界面。这次我们写的代码在Android用TabLayout实现类似网易选项卡动态滑动效果这篇文章代码的基础上进行修改,所以最好先看看上面这篇文章
2016-12-05 23:10:15
627
转载 Android Design Support Library(一)用TabLayout实现类似网易选项卡动态滑动效果
这里我们用TabLayout来实现这一效果。TabLayout是Android Design Support Library库中的控件。Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,在这个support库里面,Google给我们提供了更加规范的MD设计风格
2016-12-05 23:03:43
622
转载 Android内存优化总结
1、追查内存的方法第一步:使用lint lint会提醒你很多使用不得当的地方,主要会集中再这么几个地方 (1)handler等长周期匿名内部类的使用,具体原因下文表 (2)数据结构的优化,hashmap向稀疏数组的优化 (3)未使用的图片资源当然li
2016-12-03 00:13:09
366
原创 Android中WebView最常用的属性
WebView基本使用:1、加载网页、刷新网页、前进、后退在xml文件中<WebView android:id="@+id/wv_test" android:layout_width="match_parent" android:layout_height="match_parent" />在java代码中:WebView wvTest = (Web
2016-12-01 22:47:29
1882
原创 Android中App启动优化
现在微信小程序火爆异常,各种demo层出不穷,我也不免俗,一直有关注,虽然不是微信的死忠,但是不得不佩服微信的野心。开发难度不高再加上微信生态,感觉这个东西正式进入市场后必定对原生开发造成一定的影响,特别是一些创业公司因为考虑到原生开发的高成本,微信小程序不失为一种高效的途径。建议大家也保持关注,并进行一些基础的尝试。好了,言归正传。最近公司的一款产品应为启动时间过长,所以做了一定
2016-11-30 21:52:34
443
原创 Android第三方框架EventBus使用详解
EventBus使用详解(一)——EventBus核心内容目录概述实战基本框架搭建新建一个类FirstEvent在要接收消息的页面注册EventBus发送消息接收消息一、概述当一个Android应用功能越来越多的时候,保证应用的各个部分之间高效的通信将变得越来越困难。所以为了解决这个问题,EventBus应运而生!EventBus是一款针对Android
2016-11-29 22:01:20
1156
原创 Android实现二维码扫描(仿微信,轻量Zxing)
前言要做一个功能,二维码识别。网上找一堆相关的Demo,但是总不是想要的效果,或者都是多年前的版本,权衡考虑之后,决定亲自操刀。不纠结直接选中Zxing框架,https://github.com/zxing/zxing 在网站上直接clone下来,运行,然后就发现问题了...选Zxing存在的问题为什么是横屏,调成竖屏,居然有问题这个包居然有好多用不着的代码默认识别的界面不是想要的
2016-11-28 22:35:03
15157
7
原创 Android之View和View点击事件坐标系
很多时候,我们会寻找View的坐标来完成相应的逻辑操作。今天就把整个总结一下。其实只要把下面这张图看明白就没问题了。涉及到的方法一共有下面几个:view获取自身坐标:getLeft(),getTop(),getRight(),getBottom()view获取自身宽高:getHeight(),getWidth()motionEvent获取坐标
2016-11-27 20:08:16
489
原创 Android自定义Dialog实现弹出二维码效果
做Android应用中,最缺少不了的就是自定义Dialog,对于系统默认提供的Dialog样式,一般都不复合我们应用的样式。 自定义Dialog需要3步骤即可: 1、主要的重写Dialog的Java类 2、自定义布局文件、并设置Dialog Theme,在style.xml文件中加一个即可 3、使用方法一、创建CustomPopDialog2.java类import a
2016-11-26 23:02:15
2981
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人