自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

showdy的博客

记录android学习历程

  • 博客(50)
  • 资源 (2)
  • 收藏
  • 关注

原创 关于EditText的一些用法

/** * Created by showdy on 2017/3/15. */public class PwdActivity extends BaseActivity {private EditText mEtPwd;@Overridepublic int getLayoutResId() { return R.layout.activity_pwd;}@Overridep

2017-03-15 16:36:11 434

原创 自定义密码输入EditTextLayout

<?xml version="1.0" encoding="utf-8"?><merge xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_w

2017-03-15 15:36:35 849

原创 LocalBroadcastManager源码分析

LocalBroadcastManager优势:Helper to register for and send broadcasts of Intents to local objects within your process. This has a number of advantages over sending global broadcasts with {@link android.c

2017-03-13 11:06:50 389

原创 Java并发之阻塞队列

队列队列是先进先出(FIFO)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加。 操作 抛出异常 有返回值 Insert add(e) offer(e) Remove remove() poll() Exami

2017-03-10 09:16:00 372

原创 Java多线程之线程中断

取消任务的方式Java中没有提供任何机制来安全地终止线程,但是提供了中断(Interruption)协作机制,能够使一个线程终止另一个线程的当前工作. 一般取消或停止某个任务,很少采用立即停止,因为立即停止会使得共享数据结构出于不一致的状态.这也是Thread.stop(),Thread.suspend()以及Thread.resume()不安全的原因而废弃.Java中有三种方式可以终止当前运行的线

2017-03-10 09:13:06 306

原创 Java多线程之内存可见性

可见性可见性: 一个线程对共享变量值的修改,能够及时地被其他线程看到.共享变量: 如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量.Java 内存模型(JMM)Java内存模型(Java Memory Model)描述了Java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存中读取出变量这样的底层细节.所有变量都存储在主内存中

2017-03-06 10:48:57 372

原创 Java并发之同步工具类

同步工具类同步工具类可以是任何一个对象,只要他根据自身的状态来协调线程的控制流.阻塞队列可以作为同步工具类,其他类型的同步工具类有: 信号量(semaphore),栅栏(Barrier),闭锁(Latch).所有的同步工具类都有一些特定的结构化属性,封装了一些状态,这些状态决定执行同步工具类的线程是继续还是等待.闭锁(CountDownLatch)CountDownLatch 方法解析Coun

2017-03-01 18:51:15 269

原创 Activity生命周期及任务栈

Activity的生命周期 * Activity的创建和销毁 * onCreate(): 执行Activity某些基本设置的一些代码,比如声明用户界面(xml文件),定义成员变量,配置某些UI等等,oncreate一般是必须要实现的.* **`onDestroy()`**:一般不需要实现,因为本地类引用与Activity一同销毁,并且您的Activity应在 onPause() 和 on

2017-02-07 16:13:34 1416

原创 浅谈BitmapFactory.Options

BitmapFactory.optionsBitmapFactory.Options类是BitmapFactory对图片进行解码时使用的一个配置参数类,其中定义了一系列的public成员变量,每个成员变量代表一个配置参数。图片解码建议配置(inPreferredConfig)参数inpreferredconfig表示图片解码时使用的颜色模式,也就是图片中每个像素颜色的表示方式图片颜色:计算机表示

2017-01-12 15:45:11 11547 4

原创 TabLayout之自定义样式

TabLayout的默认样式: app:theme="@style/Widget.Design.TabLayout"从系统定义的该样式继续深入: <style name="Widget.Design.TabLayout" parent="Base.Widget.Design.TabLayout"> <item name="tabGravity">fill</item>

2017-01-03 16:18:25 5077 1

原创 Toolbar用法详解:

Toolbar用法详解:Toolbar的组成:Toolbar supports a more focused feature set than ActionBar. From start to end, a toolbar may contain a combination of the following optional elements:A navigation button. This m

2016-12-30 17:31:43 4333 1

原创 View的绘制流程

自定义View之测量篇初识ViewRoot和ViewRootImpl我们知道,Activity界面加载显示的流程具体如下图,其中android.R.id.content就是View布局,这也就说明Activity中setContentView()而不叫setView()了,当然也可以通过ViewGroup content= (ViewGroup)findViewById(android.R.id.c

2016-12-15 16:19:48 447

原创 View的滑动方式及冲突处理

实现滑动的方式:实现view的滑动,本质上说都是改变view的坐标,不管是哪种方式实现滑动,实现的基本思想是一致的,当触摸View时,系统记下当前触摸点的坐标,当手指移动时,系统记下移动后的触摸点坐标,获取滑动的偏移量,并通过偏移量来修改View的坐标,不断重复,实现滑动过程.layout方法: View绘制时,会调用onLayout()方法来设置显示的位置,同样,也可以修改View的left,

2016-12-14 17:45:53 515

原创 事件传递机制分析

为什么要有事件传递:我们知道View是树形结构,当Touch事件(TouchEvent)产生时,可以有多个View去响应,那么为了解决到底哪个View消费这个Touch事件,就出现了事件传递机制.View结构图如下:处理事件传递相关方法:boolean dispatchTouchEvent(MotionEvent ev) 用来进行事件的分发.如果事件能够传递到当前View,该方法一定会调

2016-12-13 21:32:25 497

原创 自定义View之基础篇

Android APP屏幕区域划分:1.状态栏区域: //获取屏幕区域的宽高等尺寸获取 DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); int widthPixels = metrics.widthPix

2016-12-10 17:30:10 827

原创 Java之泛型

泛型什么是泛型 实现了参数化类型的概念,是代码可以应用于多种类型可以用在类,接口,方法创建中,分别为泛型类,泛型方法,泛型接口当创建类型化参数时,编译器会负责转换操作泛型声明:泛型类:public class Wrapper<T,V>{}泛型接口:public interface Conusumer<T>{}泛型方法:public static <T> String parser<T

2016-12-06 11:02:30 311

原创 反射(二)之虚拟机中泛型类型信息

泛型信息public static <T extends Comparable<? super T>> T min(T[] t){}这是一个泛型方法,在虚拟机运行时会泛型擦除为public static Comparable min(Comparable t){},可以使用反射来确定:这个泛型方法有一个T的类型参数这个类型参数有一个子类限定,其自身又是一个泛型类型这个限定类型有一个通配符参数

2016-12-05 11:24:08 887

原创 Java8之Lambda表达式

学习lambda表达式前先看个例子输入1000到10000之间水仙花数? IntStream.range(1000,10000).filter(v-> v / 1000 * v / 1000 * v / 1000 + v / 100 * v / 100 * v / 100 + v / 10 * v / 10 * v / 10 == v ).

2016-11-29 22:22:02 840

原创 java_集合

集合中有两种有序集合, 可以采用两种访问元素的方式: 迭代器访问, 或者整数索引访问(Sequential Access).随机访问(Random Access)数组支持的有序集合可以快速访问,可以使用List方法使用索引访问, 而链表实现的有序集合随机访问很慢, 所以用迭代访问.if(list instanceof RandomAccess){//use random access alg

2016-11-12 16:41:02 225

原创 图解HTTP粗略笔记

一.Web及网络基础TCP/IP: 是互联网相关的各类协议族的总称,含IP,DNS,DUP,TCP,FTP,HTTP,FDDI等.TCP/IP协议族按层次分为:应用层,传输层,网络层,数据链路层.应用层: FTP,NDS,HTTP传输层: TCP,UDP网络层: 网络层用来处理在网络上流动的数据包.链路层: 处理连接网络的硬件部分.二.简单的Http协议客户端: 请求访问文本或者图片等资

2016-10-10 16:30:58 841

原创 Camera实现3D翻转效果

Camera注意此camera的包名为:android.graphics.Camera主要用来图像3D变换,实际还是操作一个Matrix矩阵对象,操作完毕后,得到一个matrix对象,然后画出图像.Camera用来计算3D转换,生成matrix,然后应用在画布上.Camera的坐标系是左手坐标系,X轴顺时针旋转为正,Y轴顺时针旋转为正,Z轴逆时针旋转为正(如下图所示)参考android坐标系

2016-09-29 18:13:59 1337

原创 CursorLoader异步加载信鸽推送消息

Android SDK快速接入信鸽推送信鸽平台注册应用:创建后, 查看配置获取AcessId和AcessKey信息 工程配置配置jar包: 配置jni相关文件: 信鸽清单文件配置启动并注册APP或反注册 使用广播接收,并使用Notification通知到界面public class MyXGPushReceiver extends XGPushBaseReceiver { private

2016-09-14 14:53:52 815

原创 使用CursorLoader加载联系人信息

public class ContactsActivity extends AppCompatActivity implements SearchView.OnCloseListener, SearchView.OnQueryTextListener, LoaderManager.LoaderCallbacks<Cursor>, AdapterView.OnItemClickList

2016-09-14 10:26:45 1434

转载 对象相等性——如何给自定义对象添加equals和hashCode方法

转载: 对象相等性——如何给自定义对象添加equals和hashCode方法 每个Java对象都从java.lang.Object继承了一些方法: Tables Are Creational methods Object() Default no-argument constructor clone() Returns a new instance of the c

2016-08-05 18:10:46 2257

原创 Android消息机制

Android消息机制 android消息机制的核心类:LooperHandlerMessageQueue—单链表MessageThreadLocalHandler异步通信机制工作流程图Handler.Looper.MessageQueue关系图:Handler核心类:Handler:Looper(当前线程ThraedLocal<Looper>)MessageQueue(即为Loo

2016-07-30 15:47:07 332

原创 Android M新的运行权限

Android M新的运行权限android运行权限Working with System PermissionsPermissions Best PracticesPermissionsDispatchereasypermissions权限机制google将权限分为两类, 一类是Normal Permison,这类权限一般不涉及用户隐私, 是不需要用户进行授权,比如手机的震动,访问网

2016-07-11 19:10:26 1156

原创 ValueAnimator及ObjectAnimator的使用

public class ChangedCircleView extends View { private Round mRound; private Paint mPaint; private int mLength; private int color = Color.RED; public ChangedCircleView(Context context

2016-06-14 11:31:04 545

原创 自定义拖拽IndicatorView

1. 效果图2. 根据效果,定义需要属性: 其中模式下: 手动不可点击, 风速时: 最低和最高不可点击, 定时模式: 全部可以点击设置.<declare-styleable name="IndicatorView"> <attr name="units" format="integer|reference"/> <attr name="lightColor" f

2016-06-04 16:39:38 368

转载 ItemTouchHelper实现拖拽和侧滑删除

转载: https://github.com/iPaulPro/Android-ItemTouchHelper-Demo/1. 编写item布局文件:<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id=

2016-06-03 15:00:44 1822

原创 使用ItemTouchHelper实现侧滑删除,拖拽

1. 定义一个简单bean类:public class ImgText { public int resId; public String des;}2. 实现一个RecyclerView.Adapterpublic class SwipeRecyclerAdapter extends RecyclerView.Adapter<SwipeRecyclerAdapter.MyHold

2016-06-03 13:22:55 1634

原创 使用Sqlite保存数据

1. 定义bean类:public class XGMessage { public int msgType; //消息类型. 0--链接(有url--打开网页, 没有url--打开app); 1-报警 public String content; //消息内容 public String url; //消息url public String receiveTime;

2016-06-03 13:17:36 3653

转载 Android学习资源网站大全

Android学习资源网站大全文章来源: https://github.com/zhujun2730/Android-Learning-Resources整理了一些Android的博客链接、学习资源网站。站在巨人的肩膀上,会看得更远。整理这一份资源也方便更多的Android开发者能享受到技术分享的力量。首先,在这里要感谢所有开源项目的作者,感谢Trinea,CodeKK,张明云,胡凯等等大大无私的技

2016-03-13 17:21:19 3022

原创 实现计时器的几种方式

第一种: Handler实现:主要使用方法: handler.postDelay(runnable, delaytime);使用handler.sendMessageDelay()方法其实和handler.postDelay()方法是一样的, 因为handler.postDelay()其底层还是调用handler.sendMessageDelay()方法.public void countTi

2016-03-13 03:15:41 3184

原创 监听多个EditText,满足条件后Button才可以点击

先翻译下Google文档对TextWatcher的介绍 Method Description abstract void afterTextChanged(Editable s) This method is called to notify you that, somewhere within s, the text has been changed. abstract void

2016-03-12 20:04:14 1631

原创 Wi-Fi Peer-to-Peer官方文档翻译

最近要开始做wifi项目, 就顺便把google相关文档翻译了一下, 记录下学习历程.Wi-Fi对等网络(Wi-Fi Peer-to-Peer)Wifi对等网络允许具有Android4.0以上系统及配备了合适的硬件的设备通过wifi直接连接而不需要中间热点的支持.使用这些API,你可以查找和连接其他支持wifi-P2P设备,并能快速连接进行通讯,且通讯距离远远超过蓝牙.这对那些多人共享数据的设备及其

2016-03-08 18:39:19 2715

原创 Fragment UI显示重叠问题

问题引入FirstFragmentpublic class FirstFragment extends Fragment { private static final String TAG = "FirstFragment"; @Override public void onCreate(@Nullable Bundle savedInstanceState) {

2016-03-08 11:19:41 1552 1

原创 低功耗蓝牙(BLE)官方文档翻译

翻译之间先看几张BLE Stack图:BLE Stack:BLE GATT stack: 低功耗蓝牙(Bluetooth Low Energy)Android4.3(API 18)引入BLE低功耗蓝牙,并且提供了相应的API供应用程序搜索蓝牙设备,查询服务,读写特性.与经典蓝牙相比,BLE的显著特点是低功耗, 使得android应用可以和具有低功耗要求的蓝牙设备进行通讯,如传感器,心率检测器,健身

2016-03-03 14:38:09 5451

原创 自定义View(二)

demo来源:http://blog.csdn.net/lmj623565791/article/details/45460089; 效果图学习目的:学习onMeasure()测量学习绘制text学习自定义属性,如枚举等等自定义属性attrs.xml <declare-styleable name="CustomedImageTextView"> <attr name="t

2016-03-01 15:56:49 325

原创 自定义控件View(一)__实现宽高比一致的ImageView

效果图:自定义view来自: https://github.com/devunwired/custom-view-examples/blob/master/app/src/main/java/com/example/customview/widget/DoubleImageView.java 分析:自定义宽高比一致的AspectImageView,必须要获取原图宽高比, 再根据xml文件中设置的

2016-03-01 15:34:46 1912

原创 自定义控件View(三)___绘制饼状图

效果图如下:分析:计算绘制的每个区域所占比例: drawArc计算每个区域角平分线中点的坐标值测量文字的宽度和高度,来确定文字开始绘制的位置,即BaseLine的位置自定义PipeChartView的代码public class PipeChartView extends View { public static final int DEFAULT_RADIUS_LENGTH = 8

2016-02-26 17:07:20 1257

黑马程序猿2018前端就业办视频.

黑马程序猿2018前端就业办视频., 百度云盘链接 代码视频齐全

2018-05-13

nodejs智能音箱云端代码

nodejs智能音箱云端代码

2018-05-13

空空如也

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

TA关注的人

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