- 博客(14)
- 资源 (12)
- 问答 (9)
- 收藏
- 关注
原创 Android图片压缩
我这里把我目前所了解的图片压缩方式分为三种,以下一一道来,文章末尾附上一个小Demo,欢迎下载! 一、质量压缩 质量压缩其实是为了减少图片存储在SD卡中的文件大小,以及在网络上传输的输出流的大小,对图片以bitmap形式在内存中的大小是没有影响的,因为质量压缩是减少了图片的位深和透明度,同化了一些颜色相近的像素,但是bitmap长宽的像素是没有变化的,而bitmap的大小...
2018-02-12 11:46:31
733
原创 Android 使用Font XML替换App全局字体样式
Android 8.0开始使用XML表示Font资源,这意味着我们可以像使用R.string.hello那样使用Font资源。 下面会在style中定义字体样式来实现替换App的全局字体样式。一、建立font文件夹,导入字体样式文件1、右键res|new|Android Resource directory 2、Resource tyoe选择font,Directory nam
2018-02-06 21:09:10
10520
2
原创 Android UI优化之merge标签
merge标签顾名思义就是用于布局合并的,通常与include标签配合使用。 include标签的简单使用可以查看这个连接: android UI优化之include标签然后这里来个自定义好了,若布局A include布局B,那么称布局A为外布局,被incude的布局B就称呼为内布局。我自己定义的,大家不要纠结了2333333首先外布局activity_main.xml如下:Re
2018-02-02 11:37:56
792
原创 Android工具使用之UiAutomatorViewer
以前是用HierarchyViewer查看界面的布局层次的,其实UiAutomatorViewer用起来更方便更直观,个人更偏向后者。UiAutomatorViewer也是Android sdk自带的工具,在如下路径(我的是AS 3.0,不同版本似乎有差别): \sdk\tools\bin\uiautomatorviewer.bat 双击使用即可,界面如下,点击左上方第二个按钮可以刷新界面
2018-02-02 09:55:50
23955
5
原创 android UI优化之include标签
是用来重用布局的,减少代码冗余,使用很简单,如下:被include的布局title_bar.xml:RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/inner_id" android:layout_width="match_parent
2018-01-29 09:35:38
519
原创 Error running app: Please select Android SDK
不小心删除项目一些文件后,点击运行按钮就弹出这个错误了,解决方法如下:依次点击File—Setting—Appearance&Behaviour—Android SDK—Edit,如下: " role="presentation" style="position: relative;"> 操作步骤 然后什么都不用做,只需要依次点击Next—Next, 等待Finish,项目
2018-01-28 18:21:20
3342
原创 Android 使用TabLayout打造滑动标签栏
滑动标签栏在App中很常见,以前自己试着实现了一个,使用HorizontalScrollView以及跟ViewPager的,现在有了TabLayout方便了很多,先上效果图,UI略丑,别介意哈~ PS:最下方有源码链接 " role="presentation" style="position: relative;"> 效果图 废话不说,直接上代码!**一、添加依
2018-01-28 17:06:38
18748
原创 Error:android-apt plugin is incompatible with the Android Gradle plugin. Please use 'annotationProce
AS从2.3.3升级到3.0后,项目没有任何改动就出现了这个错误,解决步骤如下:一、把module/build.gradle下的apt插件应用全部注释掉二、把dependencies下的apt全部改为annotationProcessor三、把project/build.gradle中的apt插件声明注释
2018-01-25 20:41:58
15877
2
原创 Android RxJava使用教程
Rxjava现在真的很火,看了GitHub上一些项目的源码,发现好多都用了这个框架,那么这个框架有什么用呢,实话说,我现在对这个框架的原理还只是一知半解,只能把我自己最近看的一些资料根据自己的心得总结一下,然后把RxJava的用法用一个简易的Demo进行说明。 一、RxJava的原理RxJava是一个异步处理的库。如果我这么说你还是不懂的话,那么你可以联系我们平时使用的AsyncTask和Handl
2017-06-29 22:41:43
695
原创 Android 使用Gson解析Json和Json数组 一眼就能快速上手
Gson是google提供的用于快速解析Json的工具,使用非常广泛。如果你要用到Gson来解析,那我相信你应该了解什么是Json、什么是Json数组以及它们的格式了,那我就不细说了。下面直接展示如何使用Gson进行解析Json和Json数组。一、介绍和准备工作 先来看看程序运行的界面,从上往下四个按钮,前两个分别是对一个Json的字符串、一个Json数组的字符串进行解析并转换为对应的Java对象
2017-06-18 21:27:28
3028
1
原创 Android MVP+Dagger2使用教程
Dagger2是一个依赖注入框架,在解耦合方面堪称强大。如果你还不知道什么是依赖注入,以及使用Dagger2的原因,那么还是麻烦你先去google、百度一下,这里我暂时不会涉及dagger2的原理,而是使用一个非常简单的MVP例子来应用dagger2。为什么要使用MVP的例子讲解呢?因为dagger2和MVP是天造地设的一对~、一、不使用dagger2的MVP Demo这个MVP Demo非常简单,
2017-06-16 20:47:36
2428
原创 Android Retrofit2使用教程-小白篇
如果你还不是很清楚retrofit是干嘛的,那我简单地用一句大白话来说明:它就是用来进行网络请求的。 Retrofit使用注解的方式将我们的HTTP请求转变为一个接口。我个人崇尚“先学会基本用法,再学会高级用法,最后采取了解原理”,下面我会手把手教导你如何使用Retrofit2进行最简单的HTTP Get请求。这里,我们使用一个手机归属地查询的API进行测试: http://cx.sho
2017-05-31 20:37:22
882
原创 Android错误集锦
1、Cannot invoke method buildToolsVersion() on null object 原因:在xxx-project/build.gradle中,compileSdkVersion和buildToolsVersion放置在了同一行。如下:compileSdkVersion 25 buildToolsVersion "25.0.2"解决方法:分开两行放置即可,如下:co
2017-05-26 21:09:40
479
原创 Android 关于selector中item顺序的问题
selector常常用于设置按钮等控件在不同状态下的显示,例如默认下的颜色,按下时候的颜色等等,但是需要注意的一点是,selector中各个item的顺序是会影响实际效果,这也是常常有人设置了selector但是无效的原因。selector常用的写法如下:<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://
2017-05-17 20:15:30
2652
Android 使用Font和style定义App全局字体样式
2018-02-06
TCP基于字节流是如何实现多文件传输的?
2017-10-07
Android 多个Module能够共用一份资源分拣吗
2017-07-13
关于Android动画的一个问题想请教各位大神
2016-05-31
Android项目出现感叹号,出错丢失的jar包无法remove
2015-06-24
Android ListVie 设置cacheColorHint前后没有变化的?
2015-06-23
电脑重启后 matlab 2014b找不到java库
2015-06-07
Android 日志为什么输出乱七八糟无关的东西
2015-05-17
java 如何用datagramsocket 传输字符串数组
2015-05-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人