`

自制手机指南针

 
阅读更多
[size=medium]
    有时候在旅游时候不知道方向了~在小伙伴们面前掏出手机,秀一下我们自制的指南针可是很溜很溜的哟~~~虽然这不是很复杂难懂的原理和技术。下面直接进入代码咯(Just show you my code...)

主函数页面的代码:


import android.app.Activity;  
import android.hardware.Sensor;  
import android.hardware.SensorEvent;  
import android.hardware.SensorEventListener;  
import android.hardware.SensorManager;  
import android.os.Bundle;  
import android.view.animation.Animation;  
import android.view.animation.RotateAnimation;  
import android.widget.ImageView;  
   
public class CompassTestActivity extends Activity implements 
        SensorEventListener {  
    // 定义显示指南针图片的组件   
    private ImageView image;  
    // 记录指南针图片转过的角度   
    private float currentDegree = 0f;  
    // 定义真机的Sensor管理器   
    private SensorManager mSensorManager;  
   
    @Override 
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        image = (ImageView) findViewById(R.id.main_iv);  
        // 获取真机的传感器管理服务   
        mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);  
    }  
   
    @Override 
    protected void onResume() {  
        super.onResume();  
        // 为系统的方向传感器注册监听器   
        mSensorManager.registerListener(this,  
                mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),  
                SensorManager.SENSOR_DELAY_GAME);  
    }  
   
    @Override 
    protected void onPause() {  
        super.onPause();  
        // 取消注册   
        mSensorManager.unregisterListener(this);  
    }  
   
    @Override 
    public void onAccuracyChanged(Sensor sensor, int accuracy) {  
   
    }  
   
    @Override 
    public void onSensorChanged(SensorEvent event) {  
        // 如果真机上触发event的传感器类型为水平传感器类型   
        if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {  
            // 获取绕Z轴转过的角度   
            float degree = event.values[0];  
            // 创建旋转动画(反向转过degree度)   
            RotateAnimation ra = new RotateAnimation(currentDegree, -degree,  
                    Animation.RELATIVE_TO_SELF, 0.5f,  
                    Animation.RELATIVE_TO_SELF, 0.5f);  
            // 设置动画的持续时间   
            ra.setDuration(200);  
            // 设置动画结束后的保留状态   
            ra.setFillAfter(true);  
            // 启动动画   
            image.startAnimation(ra);  
            currentDegree = -degree;  
        }  
    }  
}  



下边是页面的布局:


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" >  
   
    <ImageView 
        android:id="@+id/main_iv" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:src="@drawable/znz" />  
   
</LinearLayout>  




这是图片:
[/size]
0
2
分享到:
评论

相关推荐

    51单片机HMC5883和qmc5883来做电子指南针

    6. **比较与验证**:将自制的电子指南针与iPhone和华为手机内置的指南针进行比较,这是一种常见的测试和验证方法。通过比较偏差,可以评估自制指南针的精度和稳定性。 7. **PCB设计**:“新PCB15W408AS-HMC5883”...

    四年级科学上册 第四单元 磁铁4.指南针教案 教科版.doc

    制作完成后,学生会测试自制指南针是否能有效指示方向。 在使用指南针定方向的部分,学生将进行小组合作,学习如何正确操作指南针,判断教室的各个方向。此外,还会通过游戏加深理解,利用指南针找出藏有磁铁的同学...

    自制手机铃声

    标题中的“自制手机铃声”指的是用户通过个人喜好和创意,自行制作个性化手机铃声的过程。这通常涉及到音频编辑和处理技术,使用户能够从现有的音乐文件中选取特定片段作为来电提示音。描述中提到的“让那些收费的...

    电子罗盘指南针制作资料

    《电子罗盘指南针制作资料》是一份详尽的DIY资源包,涵盖了从理论到实践的全过程。这份资料集合了中英文参考资料,为想要自制电子罗盘的爱好者提供了宝贵的指导。电子罗盘,又称磁罗盘,是利用地磁场进行方向指示的...

    LabTool-48自制适配器指南

    《LabTool-48自制适配器指南》是台湾研华公司发布的一份详细指导文档,旨在帮助电子工程师和DIY爱好者制作适用于多种芯片封装类型的适配器。这份指南覆盖了MSOP-0808-018pin、PLCC-2020-0120pin以及PLCC-2824-0428...

    自制太阳能手机充电器.zip电子电路图PCB单片机设计案例资料

    自制太阳能手机充电器.zip电子电路图PCB单片机设计案例资料自制太阳能手机充电器.zip电子电路图PCB单片机设计案例资料自制太阳能手机充电器.zip电子电路图PCB单片机设计案例资料自制太阳能手机充电器.zip电子电路图...

    自制手机无线充电器.doc

    自制手机无线充电器 titre : 自制手机无线充电器 描述:本文档介绍了如何自制手机无线充电器,解决了智能手机续航能力不佳的问题。作者madzero制作了一个自制的无线充电器,使用了点金石无线充电技术,具有便捷、...

    多普达手机USB耳机电路图,想自制多普达手机耳机不要错过。

    压缩包中的"自制S1耳机转接线_杜洋的工作博客_百度空间.png"很可能是一个关于如何自制多普达S1型号手机耳机转接线的图像教程。这个图片可能展示了具体的步骤、所需材料和工具,以及可能遇到的注意事项。通过这个教程...

    自制太阳能手机充电器

    本文将深入探讨自制太阳能手机充电器的相关知识点。 1. 太阳能原理: 太阳能充电器的核心是太阳能电池板,也称为光伏(PV)面板。这种面板由多个光伏单元组成,每个单元由硅等半导体材料制成。当太阳光照射到电池板...

    地平线和指南针的DIY飞行仪表-项目开发

    标题中的“地平线和指南针的DIY飞行仪表-项目开发”指的是一个关于创建自制飞行模拟仪表的项目。这个项目特别关注两个关键元素:地平仪和指南针,它们在飞行中是至关重要的导航工具。地平仪用于指示飞机相对于水平面...

    Unity3D自制AR相机-手机摄像头+陀螺仪相机

    自制的unity AR相机,适配安卓和iOS,不需要任何外部插件。打开手机摄像头、陀螺仪相机,完美运行。

    0537、自制太阳能手机充电器.rar

    【标题】:“0537、自制太阳能手机充电器.rar” 暗示我们要讨论的是一个关于自制太阳能手机充电器的项目。太阳能手机充电器是一种利用太阳能转换为电能,为手机提供电力的设备,它可以帮助我们在户外或者无电源的...

    DIY:十元自制高效车用手机充电器.pdf

    DIY自制车用手机充电器的概念和制作方法蕴含了大量的电子工程知识,从材料选择、电路设计到实践操作,每一步都包含了丰富的技术要点。接下来,将详细解读该文档中提到的知识点。 首先,文档开头提到原有的车用手机...

    自制U盘 自制U盘自制U盘

    标题中的“自制U盘 自制U盘自制U盘”似乎是一个重复的表述,但我们可以理解为这个项目或教程是关于如何自制U盘的。描述部分同样如此,没有提供额外的信息,所以我们主要依赖标签和压缩包内的文件来推断知识点。 ...

    自制太阳能手机充电器设计资料.zip电子电路图PCB单片机设计案例资料

    自制太阳能手机充电器设计资料.zip电子电路图PCB单片机设计案例资料自制太阳能手机充电器设计资料.zip电子电路图PCB单片机设计案例资料自制太阳能手机充电器设计资料.zip电子电路图PCB单片机设计案例资料自制太阳能...

    0537、自制太阳能手机充电器.zip

    【描述】:“0537、自制太阳能手机充电器.zip”描述可能暗示了一个教程或者项目指南,可能是关于DIY(自制)太阳能手机充电器的步骤和方法,包含了详细的操作流程和所需材料。 【标签】:“资料”表明提供的内容...

    自制太阳能手机充电器.7z

    标题中的“自制太阳能手机充电器”表明这是一个关于利用太阳能为手机提供电源的项目。这个项目可能包含了一系列步骤、设计原理和所需材料,旨在帮助用户理解并制作自己的太阳能手机充电装置。接下来,我们将深入探讨...

    CPU自制入门_cpu内部_cpu自制入门_自制cpu书籍_

    《CPU自制入门》是一本专为对CPU设计与编程感兴趣的读者准备的经典书籍,它深入浅出地介绍了CPU的内部构造和工作原理,是CPU自制入门的绝佳指导资料。通过阅读这本书,你可以了解到从基础的逻辑门电路到复杂的微处理...

Global site tag (gtag.js) - Google Analytics