
Android
文章平均质量分 72
showdy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OkHttp的使用
OkHttp的介绍:Android为我们提供了两种HTTP交互的方式:HttpURLConnection 和 Apache HTTP Client,虽然两者都支持HTTPS,流的上传和下载,配置超时,IPv6和连接池,已足够满足我们各种HTTP请求的需求。但更高效的使用HTTP 可以让您的应用运行更快、更节省流量。而OkHttp库就是为此而生OkHttp是个高效的HTTP库:支持SPDY,共享一原创 2016-01-15 16:20:08 · 2132 阅读 · 0 评论 -
对象相等性——如何给自定义对象添加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 · 2355 阅读 · 0 评论 -
Android学习资源网站大全
Android学习资源网站大全文章来源: https://github.com/zhujun2730/Android-Learning-Resources整理了一些Android的博客链接、学习资源网站。站在巨人的肩膀上,会看得更远。整理这一份资源也方便更多的Android开发者能享受到技术分享的力量。首先,在这里要感谢所有开源项目的作者,感谢Trinea,CodeKK,张明云,胡凯等等大大无私的技转载 2016-03-13 17:21:19 · 3196 阅读 · 0 评论 -
使用CursorLoader加载联系人信息
public class ContactsActivity extends AppCompatActivity implements SearchView.OnCloseListener, SearchView.OnQueryTextListener, LoaderManager.LoaderCallbacks<Cursor>, AdapterView.OnItemClickList原创 2016-09-14 10:26:45 · 1507 阅读 · 0 评论 -
CursorLoader异步加载信鸽推送消息
Android SDK快速接入信鸽推送信鸽平台注册应用:创建后, 查看配置获取AcessId和AcessKey信息 工程配置配置jar包: 配置jni相关文件: 信鸽清单文件配置启动并注册APP或反注册 使用广播接收,并使用Notification通知到界面public class MyXGPushReceiver extends XGPushBaseReceiver { private原创 2016-09-14 14:53:52 · 871 阅读 · 0 评论 -
Camera实现3D翻转效果
Camera注意此camera的包名为:android.graphics.Camera主要用来图像3D变换,实际还是操作一个Matrix矩阵对象,操作完毕后,得到一个matrix对象,然后画出图像.Camera用来计算3D转换,生成matrix,然后应用在画布上.Camera的坐标系是左手坐标系,X轴顺时针旋转为正,Y轴顺时针旋转为正,Z轴逆时针旋转为正(如下图所示)参考android坐标系原创 2016-09-29 18:13:59 · 1436 阅读 · 0 评论 -
View的滑动方式及冲突处理
实现滑动的方式:实现view的滑动,本质上说都是改变view的坐标,不管是哪种方式实现滑动,实现的基本思想是一致的,当触摸View时,系统记下当前触摸点的坐标,当手指移动时,系统记下移动后的触摸点坐标,获取滑动的偏移量,并通过偏移量来修改View的坐标,不断重复,实现滑动过程.layout方法: View绘制时,会调用onLayout()方法来设置显示的位置,同样,也可以修改View的left,原创 2016-12-14 17:45:53 · 574 阅读 · 0 评论 -
事件传递机制分析
为什么要有事件传递:我们知道View是树形结构,当Touch事件(TouchEvent)产生时,可以有多个View去响应,那么为了解决到底哪个View消费这个Touch事件,就出现了事件传递机制.View结构图如下:处理事件传递相关方法:boolean dispatchTouchEvent(MotionEvent ev) 用来进行事件的分发.如果事件能够传递到当前View,该方法一定会调原创 2016-12-13 21:32:25 · 568 阅读 · 0 评论 -
自定义View之基础篇
Android APP屏幕区域划分:1.状态栏区域: //获取屏幕区域的宽高等尺寸获取 DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); int widthPixels = metrics.widthPix原创 2016-12-10 17:30:10 · 922 阅读 · 0 评论 -
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 · 506 阅读 · 0 评论 -
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 · 5271 阅读 · 1 评论 -
Android消息机制
Android消息机制 android消息机制的核心类:LooperHandlerMessageQueue—单链表MessageThreadLocalHandler异步通信机制工作流程图Handler.Looper.MessageQueue关系图:Handler核心类:Handler:Looper(当前线程ThraedLocal<Looper>)MessageQueue(即为Loo原创 2016-07-30 15:47:07 · 400 阅读 · 0 评论 -
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 · 4430 阅读 · 1 评论 -
Activity生命周期及任务栈
Activity的生命周期 * Activity的创建和销毁 * onCreate(): 执行Activity某些基本设置的一些代码,比如声明用户界面(xml文件),定义成员变量,配置某些UI等等,oncreate一般是必须要实现的.* **`onDestroy()`**:一般不需要实现,因为本地类引用与Activity一同销毁,并且您的Activity应在 onPause() 和 on原创 2017-02-07 16:13:34 · 1534 阅读 · 0 评论 -
浅谈BitmapFactory.Options
BitmapFactory.optionsBitmapFactory.Options类是BitmapFactory对图片进行解码时使用的一个配置参数类,其中定义了一系列的public成员变量,每个成员变量代表一个配置参数。图片解码建议配置(inPreferredConfig)参数inpreferredconfig表示图片解码时使用的颜色模式,也就是图片中每个像素颜色的表示方式图片颜色:计算机表示原创 2017-01-12 15:45:11 · 11704 阅读 · 4 评论 -
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 · 449 阅读 · 0 评论 -
自定义密码输入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 · 919 阅读 · 0 评论 -
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 · 604 阅读 · 0 评论 -
Android M新的运行权限
Android M新的运行权限android运行权限Working with System PermissionsPermissions Best PracticesPermissionsDispatchereasypermissions权限机制google将权限分为两类, 一类是Normal Permison,这类权限一般不涉及用户隐私, 是不需要用户进行授权,比如手机的震动,访问网原创 2016-07-11 19:10:26 · 1218 阅读 · 0 评论 -
java设计模式之观察者模式
java设计模式之观察者模式:* 本文内容来自:Android源码设计模式解析与实战观察者模式的定义:观察者模式(observer pattern)又称为发布-订阅模式(publish/subscribe pattern),定义对象间一对多的依赖关系,使得每当一个对象改变时,则其所有依赖的对象都会得到通知并被自动更新.既然是一对多的关系,说明唯一的是被观察者,而观察者则可以有多种.观察者模式使用原创 2016-01-16 15:35:22 · 402 阅读 · 0 评论 -
Android动画详解:
Android动画详解:Animation动画的种类:Android系统提供了很多丰富的API去实现UI的2D与3D动画,最主要的划分可以分为如下几类: View Animation: 视图动画在古老的Android版本系统中就已经提供了,只能被用来设置View的动画。 注意: 补间动画执行之后并未改变View的真实布局属性值。切记这一点,譬如我们在Activity中有一个Button在屏幕原创 2016-01-17 16:51:25 · 1308 阅读 · 1 评论 -
自定义控件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 · 1981 阅读 · 0 评论 -
自定义View(二)
demo来源:http://blog.youkuaiyun.com/lmj623565791/article/details/45460089; 效果图学习目的:学习onMeasure()测量学习绘制text学习自定义属性,如枚举等等自定义属性attrs.xml <declare-styleable name="CustomedImageTextView"> <attr name="t原创 2016-03-01 15:56:49 · 367 阅读 · 0 评论 -
Android开发规范文档
Android开发参考文档一、Android编码规范java代码中不出现中文,最多注释中可以出现中文.xml代码中注释<!-- -->成员变量,局部变量、静态成员变量命名、常量(宏)命名 1). 成员变量: activity中的成员变量以m开头,后面的单词首字母大写(如Button mBackButton; String mName);实体类和自定义View的成员变量可以不以m开头(如Imag原创 2016-02-15 23:00:30 · 763 阅读 · 0 评论 -
关于Listview中长按删除
一. 先看效果图: 二. 需要关注的点ListView 和CheckBox联合使用出现的问题:checkbox抢占焦点使得listview的item条目不可点击,解决方法: a. 设置checkbox的focusable=false;b. 或者设置listview的 android:descendantFocusability="blocksDescendants"由于listvi原创 2016-02-19 16:51:21 · 6665 阅读 · 3 评论 -
自定义控件View(三)___绘制饼状图
效果图如下:分析:计算绘制的每个区域所占比例: drawArc计算每个区域角平分线中点的坐标值测量文字的宽度和高度,来确定文字开始绘制的位置,即BaseLine的位置自定义PipeChartView的代码public class PipeChartView extends View { public static final int DEFAULT_RADIUS_LENGTH = 8原创 2016-02-26 17:07:20 · 1307 阅读 · 0 评论 -
搜索关键字高亮和自定义Dialog及DialogFragment的使用
先看显示效果图 布局:主界面布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_原创 2016-02-19 14:04:46 · 707 阅读 · 0 评论 -
返回码错误总结
HTTP协议状态码表示的意思主要分为五类 ,大体是 : 状态码 含义 1×× 保留 2×× 表示请求成功地接收 3×× 为完成请求客户需进一步细化请求 4×× 客户错误 5×× 服务器错误100 Continue 指示客户端应该继续请求。回送用于通知客户端此次请求已经收到,并且没有被服务器拒绝。 客户端应该继续发送剩下的请求数据或者请求已经完成转载 2016-02-20 14:35:54 · 1641 阅读 · 0 评论 -
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 · 1639 阅读 · 1 评论 -
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 · 2906 阅读 · 0 评论 -
监听多个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 · 1674 阅读 · 0 评论 -
实现计时器的几种方式
第一种: Handler实现:主要使用方法: handler.postDelay(runnable, delaytime);使用handler.sendMessageDelay()方法其实和handler.postDelay()方法是一样的, 因为handler.postDelay()其底层还是调用handler.sendMessageDelay()方法.public void countTi原创 2016-03-13 03:15:41 · 3338 阅读 · 0 评论 -
使用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 · 3734 阅读 · 0 评论 -
使用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 · 1707 阅读 · 0 评论 -
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 · 1868 阅读 · 0 评论 -
自定义拖拽IndicatorView
1. 效果图2. 根据效果,定义需要属性: 其中模式下: 手动不可点击, 风速时: 最低和最高不可点击, 定时模式: 全部可以点击设置.<declare-styleable name="IndicatorView"> <attr name="units" format="integer|reference"/> <attr name="lightColor" f原创 2016-06-04 16:39:38 · 412 阅读 · 0 评论 -
关于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 · 509 阅读 · 0 评论