Sample Apps by Android Team -- Amazed
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的更多相关文章
- Open Phone, SMS, Email, Skype and Browser apps of Android in Unity3d
最近项目需要使用Android的一些基本功能,写插件各种悲剧,google了一下,如获至宝.Nice ! string url = String.Format("tel:{0}", ...
- Android测试:Testing Apps on Android
原文:https://developer.android.com/training/testing/index.html 测试你的App是开发过程中的重要组成部分.通过对应用程序持续的运行测试,你可以 ...
- 10个android开发必备的开源项目
You are here: Home » » Blog » 10 Open Source Android Apps which every Android developer must look in ...
- 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 ...
- [Android]Volley源码分析(四)
上篇中有提到NetworkDispatcher是通过mNetwork(Network类型)来进行网络访问的,现在来看一下关于Network是如何进行网络访问的. Network部分的类图:
- Android开源项目分类汇总
目前包括: Android开源项目第一篇——个性化控件(View)篇 包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView. ...
- android 很多牛叉布局github地址(转)
原文地址 http://blog.csdn.net/luo15309823081/article/details/41449929 点击可到达github-------https://github.c ...
- Android开源项目(二)
第二部分 工具库 主要包括那些不错的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他. 一.依赖注入DI 通过 ...
- GitHub上史上最全的Android开源项目分类汇总 (转)
GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...
随机推荐
- xargs命令
xargs命令 常用工具命令 xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具.它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令 ...
- IntelliJ IDEA License
http://jetbrains.tech/ http://jetbrains.tencent.click/
- 【GoLang】深入理解slice len cap什么算法? 参数传递有啥蹊跷?
先上结论 .内置append函数在现有数组的长度 < 时 cap 增长是翻倍的,再往上的增长率则是 1.25,至于为何后面会说. .Go语言中channel,slice,map这三种类型的实现机 ...
- Struts2学习笔记《二》
struts.xml配置文件的全部配置元素:
- DIV UL LI
<style type="text/css"> .productDetailTabNav{ width:960px;} .productDetailTabNav ul{ ...
- sharepoint2013隐藏左侧导航栏更换新的
$("#zz16_V4QuickLaunchMenu").hide()//隐藏 更换新的 <script type="text/javascript" s ...
- kendoUI grid 过滤时出错:TypeError toLowerCase is not a function
错误原因:类型不一致. 有些过滤类型为字符串,有些为整型时.
- bootstrap 重写JS的alert、comfirm函数
原理是使用bootstrap的Modal插件实现. 一.在前端模板合适的地方,加入Modal展现div元素. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...
- 【leetcode】House Robber & House Robber II(middle)
You are a professional robber planning to rob houses along a street. Each house has a certain amount ...
- 【XLL API 函数】xlSheetNm
从外部引用包含的工作表ID返回工作表或宏表名称,或是当前表名称. 原型 Excel12(xlSheetNm, LPXLOPER12 pxRes, 1, LPXLOPER12 pxExtref); 参数 ...