自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

drinkingcode

分享好玩科技,探索未知世界

  • 博客(395)
  • 资源 (57)
  • 问答 (1)
  • 收藏
  • 关注

原创 小程序控制WiFi智能小车

WiFi 智能小车,是自己从零开始了解学习的,在此之前,Arduino 也是边学习便了解的。所以智能小车,针对任何感兴趣的小伙伴,包括小白,都可以很好入门学习的。分享 WiFi 智能小车的初衷,希望大家一起成长,一起在热爱科技的道路上走得更远!如在实践过程中,遇到问题,可关注下方的抖音号,私信我。我会不定期抽空回复大家的问题,也可加入我的抖音粉丝群。

2022-11-24 23:38:39 946 1

原创 Java的clone()方法使用详解

前言:我们知道,在java的object类中,有这么一个方法clone(),这个方法有什么用呢?怎样才能正确地使用这个方法呢?下面一一来进行阐述一下clone()方法详解:1>clone()方法的作用顾名思义,clone()方法的作用就是克隆的意思,引入这个方法,这样就便于我们构建属于自己的一些本地对象副本。这样我们就不用担心因为副本对象的引用而使原生的对象发生改变

2016-10-23 18:08:09 9422 4

原创 Android中关于字体宽高的获取

前言:在自定义控件中,有时我们也需要在其中加入一些文本进行绘制时,那么,此时,对于文本绘制的位置,我们就必须做到心中有数,下面就来聊一下其文本尺寸的相关知识点:文本宽度的获取方式一:width = paint.measureText(text,0,text.length());方式二:Rect rect = new Rect();paint.get

2016-10-13 12:52:29 11581 2

原创 Android的Paint和Canvas的使用总结

前言:在自定义控件时,我们有时可能会用到Paint和Canvas这两个类,Paint相当于我们在画画时的画笔,Canvs相当于我们在画画时的画布,下面来简单讲一下这两个类常见的一些用法Paint的使用总结:setAlpha(int a):设置画笔的透明度,这样画笔所画的位置就会呈一定的透明度setAntiAlias(boolean aa):设置 tr

2016-10-13 12:33:23 2475

原创 Android的FragmentTabHost使用总结(顶部或底部菜单栏)

前言:我们经常看到一些app的自带一些标签,并且可以来回进行切换,本章我们就通过FragmentTabHost来学习一下其如何实现,效果图如下:步骤一:编写布局文件<android.support.v4.app.FragmentTabHost android:layout_width="match_parent" androi

2016-09-24 19:45:44 4498

原创 Android的CardView使用总结

前言:CardView 扩展FrameLayout 类别并让您能够显示卡片内的信息,这些信息在整个平台中拥有一致的呈现方式。CardView 小组件可拥有阴影和圆角。如果要使用阴影创建卡片,请使用 card_view:cardElevation 属性。CardView 在 Android 5.0(API 级别 21)及更高版本中使用真实高度与动态阴影,而在早期的 A

2016-09-24 12:22:48 1732

原创 Android的RecyclerView使用总结

前言:RecyclerView 小组件比 ListView 更高级且更具灵活性。 此小组件是一个用于显示庞大数据集的容器,可通过保持有限数量的视图进行非常有效的滚动操作。 如果您有数据集合,其中的元素将因用户操作或网络事件而发生改变,请使用RecyclerView 小组件。RecyclerView  类别将通过提供下列功能简化庞大数据集的显示与处理:用于项目定位的布局管理器

2016-09-23 18:40:47 698

原创 Android初步认识ToolBar

前言:ToolBar是ActionBar一种延伸的产物。尽管ActionBar是作为Activity不透明窗体装饰的一部分,但是ToolBar却可以放置在一个视图层的任意层中。应用也可以使用setActionBar() 方法指定ToolBar为ActionBar。ToolBar比ActionBar有着更多值得人们关注的特性。从头到尾,一个ToolBar可能包含以下可选元素的一种组合

2016-09-23 18:39:58 562

转载 dp px相互转化

/** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scal

2016-09-15 18:17:16 410

翻译 Android 运行时请求权限

在Android 6.0(API  level 23)之后,用户是在应用运行时才去授予权限给应用,而不是在用户安装app的时候。这种方法简化了应用的安装过程,因为用户无需在应用安装或升级时去授予权限给应用。这也可以让用户更有效地监控应用的功能。例如,用户可以选择给相机应用一个访问相机的权限,而不给相机应用指定定位的权限。去到应用的设置界面,用户是可以随时撤销这个权限的。系统

2016-09-15 12:02:10 12093

翻译 Anddroid 适配多种屏幕

Android 运行在各种不同尺寸和屏幕密度的设备上。对于应用来说,Android系统提供了一个稳定的开发环境,然后在调整应用界面显示的问题上也花了很多的功夫。与此同时,为了能够在不同配置的屏幕上去优化你的UI设计,Android系统也提供相应的APIs以允许你对于特定尺寸和密度的屏幕进行控制。比如说,你想要你的UI去适配平板,而不是手机。尽管Android系统可以对你的应用进

2016-09-11 00:48:07 1256

翻译 Android测试系列之三 - 构建仪器单元测试

仪器单元测试,它是运行真机或者模拟器上进行测试,它有一个好处就是它们可以调用Android framework层的APIs以及supporting APIs,比如:Android Testing Support Library。如果你需要去访问仪器的相关信息(比如目标app的Context)或者它们需要Android framework层组件的实体(比如Parcelable或者Shared

2016-09-09 19:37:52 2999

翻译 Android测试系列之二 - 构建本地单元测试

建议在阅读此篇文章之前,请先阅读《》,以便对Android 测试有个大致性的认识,现在,言归正传,回到如何构建本地单元测试的问题上如果你的单元测试没有依赖项或者仅仅有一些简单的Android依赖项,那么你应该在本地开发机上去运行你的测试。这种测试的方式是非常高效的,因为它避免了去加载你的app和测试代码到真机或者模拟器上的开销。相应地,这种单元测试所消耗的时间将会大大地减小

2016-09-09 16:43:37 760

翻译 Android测试系列之一 - 测试分类(节选)

Android 测试是在 JUnit的基础上进行,你可以选择在JVM虚拟机上进行一个本地单元测试,也可以选择在Android设备上进行一个仪器测试。本章节将讲述Android 测试相关的一些概念和工具。测试类型当使用Android Studio去编写测试的时候,你测试的代码必须放在两个目录的其中一个。对于你工程的每个模块,Android Studio都包含了以下测试类型的目

2016-09-09 12:00:33 1567

翻译 Android 简化代码 (代码混淆)

前言:为了使你的APK文件尽可能小,你应该开启简化功能以除去在发布版本中那些没有使用过的代码和资源。这个章节将教你如何在编译期间决定什么代码予以保留,什么代码应该除去。通过ProGuard,我们能够将代码进行一个简化操作。ProGuard简化的原理主要是判断在已打包的app或者库文件中,哪些类,方法或者属性没有使用过,然后就将其予以移除。与此同时,ProGuard还

2016-09-08 13:20:21 831

原创 Android Studio添加代码头注释使用总结

前言:当我们创建一个文件时,一般文件的头部都会生成一定的注释信息,但有时这些注释信息过于简单,并不能满足我们自己的需求,这时就需要我们来进行一个定制了效果图:/** * * 版权:XXX公司 版权所有 * * 作者:will smith * * 版本:1.0 * * 创建日期:2016/9/8 * * 描述: * * 修订历史: * */

2016-09-08 01:21:56 6704 1

原创 Android Studio常用快捷键使用总结(很给力)

ctrl + c :复制ctrl + x :剪切ctrl + v :粘贴shift + 向下箭头 :向下选中shitf + 向上箭头 :向上选中shitf + 向左箭头 :向左选中shift + 向右箭头 :向右选中end :表示跳到这一行的末尾shitf + end :表示跳到这一行的末尾,并选中所跳过的字符home :表示跳到这一行的开始

2016-09-08 01:12:48 514

原创 Android中关于定制Toast使用总结

前言:有时我们有这样一个需求,那就是,有时采用系统自带的Toast感觉有点挫,所以我们下边来进行一个定制看一下...步骤一:步骤二:总结:示例源码

2016-09-07 19:42:20 1006

原创 Android下的Nine-Patch图片制作总结

1>Nine-Patch工具所在的位置:在 AndroidSD \ tools\ 可以看到:2>使用技巧在边缘无像素的位置通过按住鼠标左键拖动,即可选中我们要标记的位置,通过按住shift+鼠标左键即可擦除之前我们标记的黑点区域图片上边框拉伸的区域代表图片水平方向放大或缩小的区域,图片左边框拉伸的区域表示图片竖直方向放大或缩小的区域,图片下边

2016-09-07 19:27:37 470

原创 在Android Studio中导入.so库方法总结

关于如何在Android Studio中导入.so库问题,下面根据自己的使用,来总结一下:

2016-09-07 11:11:33 372

原创 在Android中,如何使屏幕常亮的问题

前言:有时候,我们的应用需要长时间工作,然后在工作期间又不希望手机每隔一段时间就自动变暗,那么,在我们应用运行期间,我们可以设置手机状态为常亮状态 方法一:xml配置在res/values/style.xml中添加一个style,如下: &lt;!--设置屏幕常亮--&gt;&lt;style name="ThemeScreenOn" parent="AppTh...

2016-09-07 10:53:46 3396 1

转载 Android ListView的每个子Item如何设置高度

转载出自:Android ListView的每个子Item如何设置高度在item的layout文件中,用android:layout_height设置item的高度。软件运行,发现高度设置无效。据了解,listview每行的高度是由 inflater填充布局中高度最大的那个控件来决定的。那怎么办?在item的layout文件中,给item设定minHeight,

2016-09-07 08:34:13 827

原创 在Android中,关于如何使状态栏透明化的问题

前言:有时,我们需要使状态栏透明化,从而能够自适应我们的Activity,给用户的体验是:activity和状态栏已融为一体,下面来简要介绍一下如何使状态栏透明化方法:

2016-09-06 19:40:21 583

原创 在Android中,关于如何全屏显示的问题

前言:当我们在Android中以默认地形式创建一个Activity时,我们可以看到,其生成的界面如下:由于状态栏和标题栏在整个界面中占据了不少的位置,而我们又没有状态栏和标题栏的这样的需求,所以此时,我们让其进行一个全屏显示,关于全屏显示,一种是在xml中进行配置,一种是在代码中进行,如下:1>xml配置:结果如下:2>代码配置:

2016-09-06 19:37:29 710

原创 Android定位功能总结

前言:百度地图定位功能,在我们的很多app中都可以看得到,今天就编写一个Demo来总结一下这一块的知识点步骤一:步骤二:步骤三:总结:源码:百度定位功能源码参考:郭霖《第一行代码android》

2016-08-10 16:39:00 510

原创 Android 的 Notification 使用总结

前言:收到通知时,手机最上方的状态栏中会显示一个通知的图标,下拉状态栏后可以看到通知的详细内容;这就是我们本章所要讲解的通知;代码示例如下:MainActivity:package com.example.administrator.testnotification;import android.app.Notification;import android.

2016-07-01 18:05:58 275

原创 Android的Fragment使用总结

前言:fragment是可以嵌入activity当中的UI片段,下面将从fragment的生命周期静态加载fragment,动态加载fragment,fragment与activity通信,这4个方面去认识fragment的使用1>fragment的生命周期注:fragment的状态会受activity影响,也会受fragment自身一些函数调用的影

2016-06-30 15:50:52 627

原创 Android的Activity中的Menu使用总结

前言:代码示例如下:运行结果如下:总结:

2016-06-29 21:29:22 2732

原创 Android中解析JSON总结

前言:1>认识JSONJSON 语法规则JSON 语法是 JavaScript 对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JSON 名称/值对JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:"firstName" : "John"

2016-06-28 12:43:37 292

原创 Android中解析XML总结

前言:1>示例XML文件内容对示例所演示的是如何解析一个XML文件,对于我们要解析的XML文件,其已经放入本应用的文件夹下了;对于我们要解析的XML文件,其内容如下:2>认识XmlPullParserI>解析器的当前事件状态可以通过调用getEventType()方法来知道;在最开始的时候,解析器是处于START_DOCUMENT的事件状态之中的;II>

2016-06-27 21:25:36 1472

原创 Android中生成XML总结

前言:本章节主要是讲述如何生成XML格式的文件1>XML实例XML 文档使用简单的具有自我描述性的语法:ToveJaniReminderDon't forget me this weekend!第一行是 XML 声明。它定义 XML 的版本(1.0)和所使用的编码(ISO-8859-1 = Latin-1/西欧字符集)。下

2016-06-27 21:03:38 333

原创 Android中关于WebView的使用总结

前言:如果你想要传送一个web应用作为客户端应用的一部分,那么,你可以使用webView来达到这一点;webView允许你去显示一个web页面作为Activity布局的一部分;它并没有具备一个浏览器所有的特征;比如导航的控制或者地址栏;默认地,webView所做的就是显示一个web页面;添加一个WebView到应用中添加WebView到应用中,仅仅只需在Activity

2016-06-25 14:53:12 725

原创 Android属性动画使用总结

前言:属性动画也可以实现平移/缩放/透明度/旋转的动画,但是与补间动画不同的是:属性动画是会改变作用于动画上的控件的属性的;比如说:我们通过属性动画的缩放将属性动画进行了放大,那么,此时,作用于属性动画的控件其真实的大小是真的被改变了;而补间动画,在执行动画时,其作用于补间动画上的控件,其属性其实并没有被改变;下面我们通过代码示例来讲解一下属性动画;代码示例如下:Mai

2016-06-25 11:29:01 767

原创 Android补间动画(Tween Animation)的使用总结

前言:1>补间动画有四种:平移/缩放/透明度/旋转,这四点将会通过代码示例一来进行说明;2>关于补间动画的实质,并不是控件的移动,只是控件的重绘,控件实质是没有进行移动的,这点则通过代码二来进行说明;代码示例:1>代码示例一主要是讲解4种补间动画的用法,其代码示例如下:MainActivity:package com.example.administra

2016-06-24 18:48:38 522

原创 Android帧动画(Drawable Animation)的使用总结

前言:帧动画是由一系列的图片一张跟着一张播放形成动画效果;AnimationDrawable类是帧动画里边的基础;虽然你可以在代码中通过AnimationDrawable来定义动画的每一帧,但是在XML中列出动画的每一帧会更简单一些,这个XML文件应该放在res/drawable/目录下;在这种情况下,指令是由动画每一帧的顺序和持续时间所组成的;这个XML文件由一个根节点和一系列定

2016-06-24 17:53:04 885

原创 LocalBroadcastManager的使用总结

前言:LocalBroadcastManager有助于在应用内去注册和发送广播,相比于通过sendBroadcast(Intent)去发送的全局广播,LocalBroadcastManager有如下几点优势:1>你广播的数据不会离开你的应用程序,所以不需要担心泄漏的私人数据。2>其他应用通过LocalBroadcastManager发送的广播,其是不可能发送到你的app的,

2016-06-23 08:47:24 728

原创 单例模式

前言:一般情况下,我们知道,一个类所创建的实例的个数是没有限制的;而单例模式,其所起的作用就是确保一个类只能创建一个实例;下面我们从代码的角度去体会一下单例模式;单例模式的定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点;单例模式的代码示例:单例模式的实现方式有两种:懒汉式和饿汉式1>懒汉式package singletonLan;

2016-06-19 22:18:47 394

原创 适配器模式

前言:提到适配,在我们的日常生活中,我们也能随处可见,比如:USB数据线,电脑的电源适配器;为何要适配?就拿电脑的电源适配器来讲解好了,在我们电脑端,其存在的接口是圆形的电脑充电接口,而我们的插排一般都是三角形的,那么为了能够让电脑在三角形接口的插排上充上电,那么我们就需要这个电源适配器,使其一段接在圆形的充电接口,另一端接在三角形的接口上,起到一个转接的作用;这就是适配器所起的作

2016-06-17 21:40:32 305

原创 外观模式

前言:根据个人对外观模式(Facade)的理解,个人认为外观模式所起的作用就是将客户端所需要的功能从多个模块中将其整合在一起,然后再供客户端去调用;注意,客户端所需要的功能,也许是分布在多个模块中,所以这时,我们就需要将客户端所需的多个功能整合进一个类(Facade)中,这样客户端就可以直接调用这个类中的一个方法,而无需每个模块的功能都亲自去调用一遍,以方便客户端的使用;

2016-06-17 00:34:17 351

原创 Java的Semaphore使用总结

前言:信号量是用来对某一共享资源所能访问的最大个数进行控制代码示例一:package com.example;import java.util.concurrent.Semaphore;/** * Created by Will Smith on 2016/6/16. */public class TestSemaphore { public sta

2016-06-15 10:14:29 4429

Notification的示例源码

Notification

2016-07-02

动态加载fragment示例源码

动态加载fragment示例源码

2016-07-01

静态加载fragment示例源码

静态加载fragment示例源码

2016-07-01

Activity中的Menu使用总结示例源码

Activity中的Menu使用总结示例源码

2016-06-30

解析JSON总结示例源码

解析JSON总结示例源码

2016-06-28

解析XML示例源码

解析XML示例源码

2016-06-28

生成XML示例源码

生成XML示例源码

2016-06-28

HttpURLConnection使用总结示例源码

HttpURLConnection使用总结示例源码

2016-06-27

Android数据库示例源码

Android数据库示例源码

2016-06-27

属性动画示例代码

属性动画示例代码

2016-06-26

补间动画的实质示例源码

补间动画的实质示例源码

2016-06-26

四种补间动画的用法示例源码

四种补间动画的用法示例源码

2016-06-26

帧动画(Drawable Animation)示例源码

帧动画(Drawable Animation)示例源码

2016-06-26

LocalBroadcastManager的代码示例源码

LocalBroadcastManager的代码示例源码

2016-06-26

SharePreferences的代码示例源码

SharePreferences的代码示例源码

2016-06-26

WebView示例源码

WebView示例源码,主要用来演示如何使用WebView

2016-06-25

有序广播接收端

有序广播接收端示例源码

2016-06-25

有序广播发送端

有序广播发送端示例源码

2016-06-25

访问内容提供者源码

关于如何访问内容提供者示例源码

2016-06-25

自定义内容提供者源码

自定义内容提供者示例源码

2016-06-25

drinkingcode公众号

drinkingcode公众号图片

2017-06-16

clone()示例源码

java的clone()示例源码,参考博客: http://blog.csdn.net/u010661782/article/details/52900068

2016-10-23

Paint和Canvas使用总结

Paint和Canvas使用总结 参考博客: http://blog.csdn.net/u010661782/article/details/52805870

2016-10-15

Android字体宽高的获取

Android字体宽高的获取,参考博客: http://blog.csdn.net/u010661782/article/details/52805939

2016-10-13

认清http协议本质

认清http协议本质,可供参考博客: http://blog.csdn.net/u010661782/article/details/52714026

2016-09-30

RecyclerView使用总结

RecyclerView使用总结 参考博客: http://blog.csdn.net/u010661782/article/details/52641368

2016-09-25

初步认识ToolBar

初步认识ToolBar 参考博客: http://write.blog.csdn.net/postedit/52641359

2016-09-24

FragmentTabHost使用总结

FragmentTabHost使用总结 参考博客: http://blog.csdn.net/u010661782/article/details/52651900

2016-09-24

CardView简要总结

CardView简要总结 参考博客: http://blog.csdn.net/u010661782/article/details/52649798

2016-09-24

Android 静态加载fragment

Android 静态加载fragment,参考博客: http://blog.csdn.net/u010661782/article/details/51790987

2016-09-08

Android动态加载fragment

Android动态加载fragment,参考博客: http://blog.csdn.net/u010661782/article/details/51790987

2016-09-08

Android 定制 Toast

Android 定制 Toast,参考博客: http://blog.csdn.net/u010661782/article/details/52462490

2016-09-07

Android 图片轮播

Android 图片轮播 ,参考博客: http://blog.csdn.net/u010661782/article/details/50888512

2016-09-07

Android 定位

Android 定位 ,参考博客:http://blog.csdn.net/u010661782/article/details/52173818

2016-09-07

Android定位功能

Android定位功能示例源码,参考博客:http://blog.csdn.net/u010661782/article/details/52173818

2016-09-07

Android 定位功能

Android 定位功能,参考博客:http://blog.csdn.net/u010661782/article/details/52173818

2016-09-07

Android屏幕常亮

Android屏幕常亮,参考博客:http://blog.csdn.net/u010661782/article/details/52457324

2016-09-07

Android状态栏透明化

Android状态栏透明化,参考博客:http://blog.csdn.net/u010661782/article/details/52452881

2016-09-07

Android全屏显示参考示例

Android全屏显示参考示例,参考链接:http://blog.csdn.net/u010661782/article/details/52452721

2016-09-07

下拉刷新和上拉加载

下拉刷新和上拉加载的代码实现 参考博客: http://blog.csdn.net/u010661782/article/details/50911479

2016-08-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除