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 ...
随机推荐
- img标签src=""和background-image:url();引发两次请求页面bug
img标签src=""和background-image:url();引发两次请求页面bug 具体原因是,在img 对象的src 属性是空字符串("")的时 ...
- [Leetcode19] Remove Nth Node From End of List
视频讲解 http://v.youku.com/v_show/id_XMTY1MTMzNjAyNA==.html (1)定义两个指针 ListNode fast = head; ListNode s ...
- Android学习笔记(十一)——ListView的使用(下)
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! ListView 这个控件比较复杂, 就是因为它有很多的细节可以优化,下面我们在试试提高它的运行效率:一.提高 ...
- (转)listview中常见难题总结
原文地址:http://blog.csdn.net/cherry609195946/article/details/8844224 1. PopWindow中listview的item获取不到点击事件 ...
- IE盒模型
IE5.5及更早的版本使用的是IE盒模型,在在IE6及以上版本的浏览器中,浏览器支持一种解决了这种差异的可选的渲染模式,也开始遵循标准模式. IE盒模型和W3C盒模型的差异: IE盒模型,块元素的实际 ...
- Hashtable和HashMap的区别举例
我们先看2个类的定义 public class Hashtable extends Dictionary implements Map, Cloneable, java.io.Serializable ...
- NOI2005 聪聪和可可
Sol 记忆化搜索. \(f[u][v]\) 表示聪聪在 \(u\) ,可可在 \(v\) ,聪聪抓到可可的期望. 预处理出 \(u\) 到 \(v\) 最短路径编号最小的点,记为 \(g[u][v] ...
- python tkinter用Treeview实现ListView效果
先上图 再上代码: import ttk from Tkinter import * root = Tk() tree = ttk.Treeview(root, columns=('col1','co ...
- 网站标签栏ico设置代码
放在公共文件的header中 <link rel="Shortcut Icon" href="{APP_PATH}favicon.ico" />
- MongoDB-Getting Started with the C# Driver
简介:本文仅提供快速入门级别的使用C# Driver操作MongoDB,高手跳过 Downloading the C# Driver 猛击下载 添加相关的dll引用 MongoDB.Bson.dll ...