プログラム実行フラッシュインタフェースおよびセンサ


概要
主にいくつかのプログラムが始まると歓迎のインターフェースがあり、何も操作しないでしばらくすると自分で消えてしまいます.また、androidのセンサーを簡単に紹介します.水平計(体感ゲーム)のコンパスを作ることができます.温度と大気圧の強さをサポートする携帯電話もあります.
効果
あなたはこれがどのように何もなくて、人をだますのではありませんか=w=、仮想機がセンサーを支持しないため何もなくて、1枚の私の携帯電話の上のスクリーンショットを出しましょう
ここでは主に方向センサーについて話しますが、他のものはよく試してみました.例えば、光の強さは明かりをつけたり消したりしてテストすることができます.方向センサーは、携帯電話が直方体で、3つの方向が互いに垂直な面があることを知っています.それぞれこの3つの面に沿って回転すると数値の変化が見えます.最後に北を指すと3つの値はゼロになります.
知識点の整理
1.フラッシュスクリーンとはタイマーで、数秒後にジャンプすることを規定しています
2.センサーは携帯電話に付属の機能を受け取り、インタフェースを使えばいい
3.Activityのライフサイクル、ここでは、分からない学生がこのブログを読むことができれば、前人の述備があれば、これ以上言うことはありません.
http://blog.csdn.net/liuhe688/article/details/6733407
DEMO
文章が臭くて長いのを防ぐためにキーコードだけ出しています~
まずインタフェースはもちろん、特別なところはありませんが、メインインタフェースのactivityがどのようにタイミングジャンプを実現しているのかを見てみましょう.
package com.example.administrator.lyfs;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Window;

import java.util.Timer;
import java.util.TimerTask;


public class MainActivity extends Activity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        final Intent main = new Intent(this,MainChoice.class);
        Timer timer = new Timer();
        TimerTask timertask = new TimerTask() {
            @Override
            public void run() {
                startActivity(main);
                MainActivity.this.finish();

            }
        };
        timer.schedule(timertask,1000*3);
    }

}

timerを使ってこの機能を実現したもので、コードが簡単でハイエンドの大気に見えます~
2番目のインタフェースにはボタンが1つしかなく、3番目のインタフェースにジャンプします.2番目のインタフェースは後で他のものをしなければならないからです.
3番目のインタフェースのjavaコードは次のとおりです.
package com.example.administrator.lyfs;

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.widget.TextView;

/**
 * Created by Administrator on 2015/7/18.
 */
public class SensorTest extends Activity implements SensorEventListener{
    private SensorManager mSensorManger;
    TextView firstOne;
    TextView firstTwo;
    TextView firstThree;
    TextView secondOne;
    TextView secondTwo;
    TextView secondThree;
    TextView ThirdOne;
    TextView ForthOne;
    TextView FifthOne;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activirty_sensor_test);
        firstOne = (TextView)findViewById(R.id.first_first);
        firstTwo = (TextView)findViewById(R.id.first_second);
        firstThree = (TextView)findViewById(R.id.first_third);
        secondOne = (TextView)findViewById(R.id.second_first);
        secondTwo = (TextView)findViewById(R.id.second_second);
        secondThree = (TextView)findViewById(R.id.second_third);
        ThirdOne = (TextView)findViewById(R.id.third_first);
        ForthOne = (TextView)findViewById(R.id.forth_first);
        FifthOne = (TextView)findViewById(R.id.fifth_first);

        mSensorManger = (SensorManager)getSystemService(SENSOR_SERVICE);

    }
    @Override
    protected void onResume()
    {
        super.onResume();
        mSensorManger.registerListener(this,
                mSensorManger.getDefaultSensor(Sensor.TYPE_ORIENTATION),
                SensorManager.SENSOR_DELAY_GAME);
        mSensorManger.registerListener(this,
                mSensorManger.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),
                SensorManager.SENSOR_DELAY_GAME);
        mSensorManger.registerListener(this,
                mSensorManger.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE),
                SensorManager.SENSOR_DELAY_GAME);
        mSensorManger.registerListener(this,
                mSensorManger.getDefaultSensor(Sensor.TYPE_LIGHT),
                SensorManager.SENSOR_DELAY_GAME);
        mSensorManger.registerListener(this,
                mSensorManger.getDefaultSensor(Sensor.TYPE_PRESSURE),
                SensorManager.SENSOR_DELAY_GAME);
    }
    @Override
    protected void onStop()
    {
        mSensorManger.unregisterListener(this);
        super.onStop();
    }
    @Override
    protected void onPause()
    {
        mSensorManger.unregisterListener(this);
        super.onPause();
    }
    @Override
    public void onAccuracyChanged(Sensor sensor,int accuracy)
    {

    }
    @Override
    public void onSensorChanged(SensorEvent event)
    {
     float[] values = event.values;
        int senseorType = event.sensor.getType();
        switch (senseorType)
        {
            case Sensor.TYPE_ORIENTATION:
                firstOne.setText(""+values[0]);
                firstTwo.setText(""+values[1]);
                firstThree.setText(""+values[2]);
                break;
            case Sensor.TYPE_MAGNETIC_FIELD:
                secondOne.setText(""+values[0]);
                secondTwo.setText(""+values[1]);
                secondThree.setText(""+values[2]);
                break;
            case Sensor.TYPE_AMBIENT_TEMPERATURE:
                ThirdOne.setText(""+values[0]);
                break;
            case Sensor.TYPE_LIGHT:
                ForthOne.setText(""+values[0]);
                break;
            case Sensor.TYPE_PRESSURE:
                FifthOne.setText(""+values[0]);
                break;


        }

    }

}

SensorEventListenerインタフェースをactivityで実装し,このインタフェースは2つの方法を再ロードする必要がある.
1.public void onAccuracyChanged(Sensor sensor,int accuracy)精度が変化したときにこの関数を呼び出す
2.public void onSensorChanged(SensorEvent event)センサが数値変化を感知したときに呼び出す
総じてActivityでやったことは
0.SensorEventListenerインタフェースの実装
1.レイアウトファイルのTextViewを取得して数値を表示する
2.センサーを管理するにはsensorManagerが必要です
3.onResumeにセンサーを登録する
4.onPauseとonStopでセンサーをログアウトする(リソースを節約するため)
5.onSensorChangedでイベント(event)で関連データ(value)を取得し、センサ種別で対応する表示値を決定する
感想
これが携帯電話センサーの機能です.一般的な携帯電話には温度や圧力センサーがない可能性があります.全部で11個のセンサーがあります.
        1.加速度センサーセンサーTYPE_ACCELEROMETER:
2.磁界センサSensor.TYPE_MAGNETIC_FIELD:#
3.ジャイロセンサーセンサーTYPE_GYROSCOPE:
4.光線センサーセンサーセンサーTYPE_LIGHT:#
5.距離センサーTYPE_PROXIMITY: 
6.重力センサーセンサーセンサーTYPE_GRAVITY:
7.リニア加速センサSensor.TYPE_LINEAR_ACCELERATION:
8.回転ベクトルセンサSensor.TYPE_ROTATION_VECTOR:
9.方向センサー:センサー.TYPE_ORIENTATION:#
        10.温度センサーTYPE_TEMPERATURE:#
11.圧力センサー、センサー.TYPE_PRESSURE#
絵は私たちが使ったものですが、使い方は大同小異です.試してみてください.これらの物理的な事件は大いにやりがいがあることを知っています.私たちはこれからも他のセンサーで何かを作っています.楽しみにしてください.
毎日一言
本当の愛は一時的な好意ではなく、結果が出ないことを知っているのに、続けたい衝動だ.