Sample Apps by Android Team 代码下载:http://pan.baidu.com/s/1eSNmdUE , 代码原地址:https://code.google.com/archive/p/apps-for-android/

注:代码不是直接能够运行的项目,需要自己新建项目,再把相关文件复制到项目中。

本次是Amazed项目代码学习记录。

一、创建自定义View

@、在onSizeChanged中,通过如参w(宽)和h(高)的比较来判断手机是处于横向(Landscape)还是纵向(Portrait).

@、在onDraw中进行自定义View的界面绘制。

@、绘制界面需要Canvas和Paint:

  1、Cnavas:用来控制画什么,比如画直线(drawLine)、画矩形(drawRect)、画图(drawBitmap)。

  2、Paint:用来控制怎么画,控制样式,比如画成红色(setColor)、设置字体(setTypeface)。

@、通过调用View的方法invalidate()触发onDraw。

二、accelerometer

@、通过Activity的方法getSystemService(Context.SENSOR_SERVICE)获取到SensorManager实例(比如:mSensorManager)。

@、实现SensorListener接口,并创建实例(比如mSensorAccelerometer)。

@、注:现在的Android版本中,SensorListener接口已经被SensorEventListener接口取代了。

@、通过mSensorManager.registerListener(mSensorAccelerometer, SensorManager.SENSOR_ACCELEROMETER, SensorManager.SENSOR_DELAY_GAME)完成accelerometer sensor的注册。

@、通过mSensorManager.unregisterListener(mSensorAccelerometer)取消accelerometer sensor注册。(这样可实现暂停效果。)

@、注:传感器的坐标系是以屏幕左下角为原点,X轴沿着屏幕向右,Y轴沿着屏幕向上,Z轴垂直屏幕向上。SensorListener.onSensorChanged的第二个参数values分别对应X、Y、Z轴上的加速度,此加速度包括了重力加速度在各轴上的分量。例如,当手机平放时,重力加速度全部作用于Z方向,但是与Z方向相反,因此values[2] = -g(g代表重力加速度)。

三、assets

1、main/assets/目录用来放置那些不会因为设备配置改变而改变的文件。比如游戏关卡设置的数据。

2、通过Activity的getAssets方法获取到AssetsManager实例,在用AssetsManager实例调用open方法读取assets目录下的文件。

Sample Apps by Android Team -- Amazed的更多相关文章

  1. Open Phone, SMS, Email, Skype and Browser apps of Android in Unity3d

    最近项目需要使用Android的一些基本功能,写插件各种悲剧,google了一下,如获至宝.Nice ! string url = String.Format("tel:{0}", ...

  2. Android测试:Testing Apps on Android

    原文:https://developer.android.com/training/testing/index.html 测试你的App是开发过程中的重要组成部分.通过对应用程序持续的运行测试,你可以 ...

  3. 10个android开发必备的开源项目

    You are here: Home » » Blog » 10 Open Source Android Apps which every Android developer must look in ...

  4. TensorFlow Lite demo——就是为嵌入式设备而存在的,底层调用NDK神经网络API,注意其使用的tf model需要转换下,同时提供java和C++ API,无法使用tflite的见后

    Introduction to TensorFlow Lite TensorFlow Lite is TensorFlow’s lightweight solution for mobile and ...

  5. [Android]Volley源码分析(四)

    上篇中有提到NetworkDispatcher是通过mNetwork(Network类型)来进行网络访问的,现在来看一下关于Network是如何进行网络访问的. Network部分的类图:

  6. Android开源项目分类汇总

    目前包括: Android开源项目第一篇——个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView. ...

  7. android 很多牛叉布局github地址(转)

    原文地址 http://blog.csdn.net/luo15309823081/article/details/41449929 点击可到达github-------https://github.c ...

  8. Android开源项目(二)

    第二部分 工具库 主要包括那些不错的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他. 一.依赖注入DI 通过 ...

  9. GitHub上史上最全的Android开源项目分类汇总 (转)

    GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...

随机推荐

  1. Codeforce 287 div2 C题

    题目链接:http://codeforces.com/contest/507/problem/C 解题报告:现在有一个满二叉树型的迷宫,入口在根结点,出口在第n个叶节点,有一串命令,LRLRLRLRL ...

  2. img标签src=""和background-image:url();引发两次请求页面bug

      img标签src=""和background-image:url();引发两次请求页面bug 具体原因是,在img 对象的src 属性是空字符串("")的时 ...

  3. [codeforces 339]E. Three Swaps

    [codeforces 339]E. Three Swaps 试题描述 Xenia the horse breeder has n (n > 1) horses that stand in a ...

  4. word20161203

    B-channel / B 信道 B-ISDN, broadband integrated services digital network / 广播综合业务数字网络 backbone router  ...

  5. PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)

    /*常用的字符串输出函数 * * echo() 输出字符串 * print() 输出一个或多个字符串 * die() 输出一条信息,并退出当前脚本 * printf() 输出格式化字符串 * spri ...

  6. 多节点 devstack 部署

    1, 网络配置 每个节点 /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.42.11 netmask ...

  7. 【IDEA】IDEA 如何设置编辑器字体大小

    intellij idea 如何更改编辑器文本字体和大小   换上了intellij idea之后,第一件事就是想要改变下文字字体,因为在我这个27寸的2k分辨率的屏幕上,文字显然太小了. intel ...

  8. centos7下搭建git和gitlab版本库

    系统:centos7 安装依赖: yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-d ...

  9. Lake Counting_深度搜索_递归

    Lake Counting Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30414   Accepted: 15195 D ...

  10. BestCoder25 1001.Harry and Magical Computer(hdu 5154) 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5154 题目意思:有 n 门 processes(编号依次为1,2,...,n),然后给出 m 种关系: ...