自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 简析Activity的工作流程

对于Activity的分析,本文选择的是安卓8.0的源码,我们从Activity的创建即onCreat方法去探索它的工作流程。分析之前,先上一个UML活动图,大致梳理一下工作流程:我们平时通调用startActivity方法来启动一个Activity,所以就从startActivity这个方法分析。通过API,Activity有多个重载的startActivity方法,但最终都调用的是startA...

2018-06-29 17:01:46 1102 1

原创 Glide源码浅析

这里,我使用的Glide版本是基于3.8.0版本,关于Glide源码分析,先找到程序的入口。这里先从Glide的使用方法找入口。首先,最简单的的使用:Glide.with(context).load([Type pararm]).into(view),使用这种方式就能加载图片显示,我们看下其加载图片的流程是怎样的。 首先Glide调用with()方法传入context,方法内...

2018-05-11 11:37:47 885

原创 自定义购物车控件,使用起来就是这么丝滑

本购物车自定义控件包括了购物车的抛物线动画效果,根据需求可设置是否需要。本控件自定义view,详细实现,代码注释较详细,请参考注释。首先过下效果图按照自定义控件三部曲,首先创建attr属性文件,定义相关属性。res/values/attrs.xml

2017-04-19 15:09:41 1359

原创 使用jsou代替API获取数据

jsoup是一个强大的可以将网页html数据进行解析,这样没有API接口的情况下,也可以获取数据了。具体的用法,可取参照jsoup官方文档。以下是使用jsoup的简单实例:package cn.sharesdk.demo;import android.app.ProgressDialog;import android.os.AsyncTask;import android.

2017-02-22 21:30:36 576

转载 安卓一键分享的第三方集成

本文转载自zhangxing的博客http://blog.csdn.net/zhangxing52077/article/details/52767537

2017-02-22 21:14:18 787

原创 安卓中一些界面过场动画的实现

一.在res的anim下写anim文件<alpha xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator" android:fromAlpha="0.0" android:toAlpha="1.

2017-02-22 21:00:34 1151

原创 安卓实现日夜模式

安卓实现日夜模式只需三步:一. 配置需要日夜模式的属性及定义日夜主题attr.xml中配置如下: styles.xml中配置主题 @color/colorDayPrimary @color/colorDayPrimaryD

2017-02-22 20:22:22 686

原创 JS与安卓的通信

JS与安卓的通信包括了安卓调用JS,JS调用安卓以及比较常用的使用callback方式调用.要调用JS,首先要开启JS,调用websetting的setJavaScriptEnable(true);接着需要设置webview的加载打开方式,setWebViewClient(),setChromClient(),需要重写里面的方法.首先,安卓调用JS,需要调用方法mWebView.loa

2016-09-08 20:04:01 4161

原创 第三方登录之QQ登录集成(二)

上面说到webview方式登录QQ的集成,现在开始客户端登录的集成.首先还是下载客户端的SDK和DEMO,示例代码如下:首先清单文件<manifest package="test.example.com.mapp" xmlns:android="http://schemas.android.com/apk/res/android">

2016-09-04 19:33:06 594

原创 第三方登录之QQ登录集成(一)

首先还是得先到QQ的开发平台下载SDK和Demo,先导入eclipse观察,然后决定哪些资源导入AS先看以WebView方式登录QQ的集成1.导入资源2.配置清单文件配置权限和activity 3.调用SDK的方法/** * 打开登录认证与授权页面 * * @param String * clientId 申请时分配的

2016-09-04 19:12:02 1601

原创 文本伸缩的实现

效果如上,首先是上面的安全信息部分DetailSafeHolderpublic class DetailSafeHolder extends BaseHolder { @Bind(R.id.app_detail_safe_iv_arrow) ImageView mAppDetailSafeIvArrow; @Bind(R.id.app_detail_safe_pic_

2016-09-04 18:38:50 434

原创 银联支付的集成

首先,在银联开发平台下载SDK及Demo,然后导入eclipse观察,决定导入哪些资源到AS中下载地址:https://open.unionpay.com/ajweb/help/file/toDetailPage?id=355&flag=11. 导入jar包从下载的sdk中导入以下文件:jar包、data.bin、so文件 2. 配置清单文件2.1添加权限

2016-09-03 11:50:04 958

原创 微信支付的集成

为便于观察,需要添加哪些到AS中,需要先导入DEMO工程到eclipse中1.导入jar包2.清单文件声明权限和activity清单文件AndroidManifest.xml中声明权限和activity:       android:name="net.sourceforge.simcpux.wxapi.WXPayEntryActivity"

2016-09-03 10:59:48 617

原创 自定义组件---瀑布流布局

首先看下效果图:自定义组件FlowLayoutView代码import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.view.ViewGroup;import android.widget.Toast;import

2016-08-31 09:58:27 313

原创 网络请求之Volley的使用

由于只是为了快速出效果,这里只是做了简单的网络请求封装首先,为了后面进行缓存处理,需要Volley的缓存线程,所以这里采用了JsonRequst作为基类对象package net;import java.io.UnsupportedEncodingException;import java.util.HashMap;import java.util.Map;import java

2016-08-31 09:08:38 269

原创 简单实现网络的音频播放

注:这里只是根据自己做的一个应用中用到了音频播放,引用的代码,所以显示的代码不完整对于音视屏的开发,可以参照Geogle官方API文档,下面是开发的流程图:效果如下:好了,下面贴代码private void playMusic() { //播放前判断播放的状态 if (mMediaPlayer == null) { mMediaPlayer =

2016-08-31 08:51:56 670

原创 屏幕适配工具

自定义组件的代码public class RatioView extends FrameLayout { private static final int RELATIVE_TO_WIDTH = 0; private static final int RELATIVE_TO_HEIGHT = 1; private final float ratio = 2.618f; private

2016-08-30 08:48:03 462

翻译 Fragment跳转之Fragment与Activity通信

为了解耦,统一让activity去管理fragment间的跳转,fragment只需要提供回调的接口即可FragmentOne的页面,让其与activity进行绑定public class FragmentOne extends Fragment implements View.OnClickListener { private Button mBtn1; private Fra

2016-08-30 08:15:38 556

原创 ViewDragHelper的使用

ViewDragHelper的使用–滑动删除*item布局文件view_slide_remove.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"

2016-08-22 09:39:59 224

原创 滑动开关

滑动开关的实现 分析:根据效果图分析,需要如下属性,背景图,滑块图1.这是一个自定义view2.无需布局(因为提供了背景图和滑块图,只需要绘制)3.根据开关的状态,来绘制滑块的位置*首先分析属性,在attr文件中配置<?xml version="1.0" encoding="utf-8"?><resources><attr name="backgroundImg" format="ref

2016-08-22 09:34:43 416

原创 自定义SlidingMenuView

侧滑菜单的实现*分析:由于侧滑菜单的孩子可以装各种组件,所以该定义组件必须是一个容器viewGroup左边侧滑菜单的布局文件left_menu.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout

2016-08-19 22:56:23 267

原创 自定义下拉选择框

下拉选择框的实现分析: 1.测量,布局,绘制都可在xml文件中控制实现,所以只需要让该自定义view继承根节点布局文件如下*view_spinner.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"

2016-08-19 19:20:29 353

空空如也

空空如也

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

TA关注的人

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