Android使用Dribble Api
使用Dribble提供的Api获取上面的设计分享
- 使用了Material Design、SceneTransitionAnimation
- 使用了Volley Gson

1. 申请Dribble开发者应用
https://dribbble.com/account/applications/new
申请成功之后,就会生成
- Client ID
- Client Secret
- Client Access Token

2. 使用Dribble的Api

还可加
page参数获取分页数据
构建类似这样的数据
public class DribbleShot{
    @SerializedName("animated")
    public Boolean mAnimated;
    @SerializedName("attachments_count")
    public Long mAttachmentsCount;
    @SerializedName("attachments_url")
    public String mAttachmentsUrl;
    @SerializedName("buckets_count")
    public Long mBucketsCount;
    @SerializedName("buckets_url")
    public String mBucketsUrl;
    @SerializedName("comments_count")
    public Long mCommentsCount;
    @SerializedName("comments_url")
    public String mCommentsUrl;
    @SerializedName("created_at")
    public String mCreatedAt;
    @SerializedName("description")
    public String mDescription;
    @SerializedName("height")
    public Long mHeight;
    @SerializedName("html_url")
    public String mHtmlUrl;
    @SerializedName("id")
    public Long mId;
    @SerializedName("images")
    public DribbleShotImages mDribbleShotImages;
    @SerializedName("likes_count")
    public Long mLikesCount;
    @SerializedName("likes_url")
    public String mLikesUrl;
    @SerializedName("projects_url")
    public String mProjectsUrl;
    @SerializedName("rebounds_count")
    public Long mReboundsCount;
    @SerializedName("rebounds_url")
    public String mReboundsUrl;
    @SerializedName("tags")
    public List<String> mTags;
    @SerializedName("team")
    public DribbleShotTeam mDribbleShotTeam;
    @SerializedName("title")
    public String mTitle;
    @SerializedName("updated_at")
    public String mUpdatedAt;
    @SerializedName("user")
    public DribbleShotUser mDribbleShotUser;
    @SerializedName("views_count")
    public Long mViewsCount;
    @SerializedName("width")
    public Long mWidth;
}
使用Volley获取数据,Gson解析
private void getData() {
        final String shotUrl = "https://api.dribbble.com/v1/shots?access_token=" + DRIBBLE_Token;
        StringRequest request = new StringRequest(Request.Method.GET, shotUrl, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Gson gson = new Gson();
                Type type = new TypeToken<ArrayList<DribbleShot>>() {
                }.getType();
                dribbleShots = gson.fromJson(response, type);
                //填充到list
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_SHORT).show();
            }
        });
        RequestQueue queue = Volley.newRequestQueue(context);
        queue.add(request);
   }
3. Activity View转场动画
- 在跳转的Activity使用 - ActivityOptionsCompat.makeSceneTransitionAnimation()- Intent intent = new Intent(context, ShotItemActivity.class);
 ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(context, view, "TRASATION_ANIMATION");
 ActivityCompat.startActivity(context, itent, optionsCompat.toBundle());
 - view 为发生转场动画的控件
 
- 在目标Activity使用 - ViewCompat.setTransitionName()设定转场动画的接收控件- ViewCompat.setTransitionName(imageView, "TRASATION_ANIMATION");
 - 注意制定的TRANATION_ANIMATION需要保持一致。
 
- 注意制定的
Android使用Dribble Api的更多相关文章
- Android SDK之API Level
		Android SDK之API Level Android SDK API_LEVEL Platform Version API Level VERSION_CODE Android 4.2, 4.2 ... 
- Android 使用Telephony API
		Android 使用Telephony API public class TelephonyDemo extends Activity { TextView textOut; TelephonyMan ... 
- Android L Camera2 API 使用实例程序汇总
		在网上发现几个使用Camera API2开发的实例程序,总结一下方便后续参考: 1.Camera2 Basic : https://github.com/googlesamples/android-C ... 
- 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
		申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)具体步骤如下: ... 
- 翻译Android USB HOST API
		翻译Android USB HOST API 源代码地址:http://developer.android.com/guide/topics/connectivity/usb/host.html 译者 ... 
- Android SDK与API版本的对应关系
		看教程.开发Android程序等很多地方,需要设置Android SDK的版本,而其要我们写的却是API版本的数字, 为了方便查看 Android SDK与API版本的对应关系 我在SDK Manag ... 
- Android 用 camera2 API 自定义相机
		前言 笔者因为项目需要自定义相机,所以了解了一下 Android 关于 camera 这块的 API.Android SDK 21(LOLLIPOP) 开始已经弃用了之前的 Camera 类,提供了 ... 
- Android BLE与终端通信(一)——Android Bluetooth基础API以及简单使用获取本地蓝牙名称地址
		Android BLE与终端通信(一)--Android Bluetooth基础API以及简单使用获取本地蓝牙名称地址 Hello,工作需要,也必须开始向BLE方向学习了,公司的核心技术就是BLE终端 ... 
- React-Native 问题随记2: com.android.builder.testing.api.DeviceException
		错误详细: Execution failed for task ':app:installDebug'.> com.android.builder.testing.api.DeviceExcep ... 
随机推荐
- Shiro从数据表中初始化资源和权限
			之前在测试的Web工程下,我们在applicationContext.xml中配置了shiroFilter资源拦截器信息: <bean id="shiroFilter" cl ... 
- DDoS攻击与防范策略
			DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要目的是让指定目标无法提供正常服务,甚至从互联网上消失,是目前最强大.最难防御的攻击之一. 按照发起的方式 ... 
- 杭电 1040 As Easy As A+B 【排序】
			题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1040 解题思路:数据不大,可以直接用冒泡排序 #include<stdio.h> int ... 
- swift 类型备份
			Swift语法3.03(类型Types) https://www.jianshu.com/p/839f9bc4b9a3 https://developer.apple.com/library/cont ... 
- Django  了解
			Django是一个开放源代码的Web应用框架 Django也是一个基于 MVC 构造的框架. 但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Mod ... 
- php设置cookie和删除cookie
			设置cookie Example : - set - <?php setcookie( "name", "value", "future_tim ... 
- Project Euler 43 Sub-string divisibility
			题意: 1406357289是一个0至9全数字数,因为它由0到9这十个数字排列而成:但除此之外,它还有一个有趣的性质:子串的可整除性.记d1是它的第一个数字,d2是第二个数字,依此类推,我们注意到: ... 
- 在 Windows10 系统中安装 Homestead 本地开发环境
			在 windows10 系统中安装 homestead 本地开发环境 在 windows10 环境下安装 homestead 开发环境,网上有很多相关教程其中大多都是 mac 环境,很多大神都是用户的 ... 
- google浏览器中 查看记住的账号和密码
			对于一个有“健忘症”的人来说,密码形同虚设..设置了就忘记,每次登陆都要重新设置密码... 然后,无意中发现,谷歌浏览器点过一次记住密码后,竟然可以明文查看账号和密码!! 步骤: 1.打开谷歌浏览器, ... 
- SSH框架整合截图总结(一)
			分页相关属性 --------------------------------------------------------------- 分页思路表单提交(只需传递当前页的值) ->acti ... 
