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. 25 BasicUsageEnvironment0基本使用环境基类——Live555源码阅读(三)UsageEnvironment

    25 BasicUsageEnvironment0基本使用环境基类——Live555源码阅读(三)UsageEnvironment 25 BasicUsageEnvironment0基本使用环境基类— ...

  2. SVN的目录说明

    subversion目录说明:*dav目录:是提供apache与mod_dav_svn使用的目录,让他们存储内部数据*db目录:就是所有版本控制的数据存放文件*hooks目录:放置hook脚本文件的目 ...

  3. td的title属性

    今天才知道html元素td还有一个title属性,就是一个tooltip的东西,即当你把鼠标放在td上面的时候,会弹出一个提示语,这个提示语就是td的title. 把td的文本赋值给title: ht ...

  4. Centos6一键搭建L2TP VPN服务器

    用VPS在墙上打洞还有一种叫L2TP,也是常见的一种方式.本脚本结合了L2TP(Layer Tunneling Protocol)和IPSec(Internet Protocol Security), ...

  5. string转DateTime(时间格式转换)

    1.不知道为什么时间在数据库用varchar(8)来保存,例如"19900505",但是这样的保存格式在处理时间的时候是非常不方便的. 但是转换不能用Convert.ToDateT ...

  6. C# 反射+抽象工厂模式

    此模式可以很好的更换程序使用不同的数据库 1.用到的属性类 using System; using System.Collections.Generic; using System.Linq; usi ...

  7. Maven 3.3.3 Win10环境下的使用实例(上)

    Maven是一个项目管理和构建自动化工具,在使用之前,请按照Apache官网提供的指南进行环境变量配置. 完成后在PowerShell中输入如下命令来验证Maven的部署情况: mvn -v 正常的响 ...

  8. Match:Cyclic Nacklace(KMP的next数组的高级应用)(HDU 3746)

    串珠子 题目大意:给定一个字串,要你找到如果要使之成为循环串,在末尾需要的最小的字数(只能添加字符,不能删减字符) 首先联动一下之前做过的动态规划问题POJ 3280,当然了3280这一题是用的LD, ...

  9. oracle触发器加条件判断

    oracle触发器加条件判断,如果某个字段,isnode=0,那么不执行下面的方法,数据如下: create or replace trigger tr_basestation_insert_emp ...

  10. JS 循环练习

    规律   大范围套小范围   循环   分支语句   switch case 嵌套  死循环 while(true)  打破循环   break    continue    while(true) ...