0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 64
1

Программирование с использованием акселерометра

26.09.2012, 16:47. Показов 5583. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, пытался найти какую-либо информацию о том, как писать приложения при участии акселерометра, но не смог найти ничего полезного. Единственное что нашел, это принцып работы. Не могли бы написать что используется и как с этим работать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2012, 16:47
Ответы с готовыми решениями:

Не работает приложение с использованием акселерометра
Пытаюсь написать приложение, в котором по экрану будет двигаться какой то объект в зависимости от...

Программирование с использованием строк (обычный вариант и с использованием 3 видов строк
Программирование с использованием строк (обычный вариант и с использованием 3 видов строк Даны...

Программирование с использованием строк (обычный вариант и с использованием 3 видов строк
Даны строки S1, S2 и символ C. Перед (после) каждого вхождения символа C в строку S1 вставить...

Программирование с использованием строк (обычный вариант и с использованием 3 видов строк
используя символьный тип char(символ), который соответствует классу System.Char, для организации...

4
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
26.09.2012, 20:21 2
http://developer.android.com/g... rview.html
0
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 22
26.09.2012, 20:58 3
Здравствуйте Влад!
Вот очень хорошая статья по датчикам в Android (в т.ч. и акселерометр), с готовым приложением.
http://www.ibm.com/developerwo... id-sensor/
0
0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 64
27.09.2012, 00:08  [ТС] 4
Огромное спасибо
0
5 / 5 / 2
Регистрация: 25.08.2013
Сообщений: 67
28.08.2013, 22:18 5
Попробовала создать приложение, которое отображает значения ускорений по осям. Как делать, смотрела в http://www.ibm.com/developerwo... id-sensor/.
Вот мой код, написанный по аналогии кода по ссылке.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package com.example.coloraccelerometer;
 
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.hardware.SensorManager;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import android.hardware.SensorListener;
 
 
public class MainActivity extends Activity implements SensorListener {
 
    SensorManager sm = null;
    TextView xView;
    TextView yView;
    TextView zView;
    LinearLayout mainLayout;
    Toast toast;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    //  setContentView(R.layout.activity_main);
        xView = new TextView(this);
        yView = new TextView(this);
        zView = new TextView(this);
        mainLayout = new LinearLayout(this);
        mainLayout.setOrientation(LinearLayout.VERTICAL);
        LayoutParams mainLayoutParam = new LayoutParams(480, 
                660);
        setContentView(mainLayout, mainLayoutParam);
        xView.setText("X");
        mainLayout.addView(xView);
        yView.setText("Y");
        mainLayout.addView(yView);
        zView.setText("Z");
        mainLayout.addView(zView);
        sm = (SensorManager) getSystemService(SENSOR_SERVICE);
    }
 
    public void onSensorChanged(int sensor, float[] values) {
        synchronized (this) {
            toast = Toast.makeText(getApplicationContext(), 
                   "Победа!", Toast.LENGTH_SHORT);
            toast.show();
            if (sensor == SensorManager.SENSOR_ACCELEROMETER) {
                xView.setText("Accel X: " + values[0]);
                yView.setText("Accel Y: " + values[1]);
                zView.setText("Accel Z: " + values[2]);
                mainLayout = new LinearLayout(this);
                mainLayout.setOrientation(LinearLayout.VERTICAL);
                mainLayout.addView(xView);
                    mainLayout.addView(xView);
                    mainLayout.addView(xView);
            }            
        }
    }
    
    @Override
    protected void onResume() {
        super.onResume();
        sm.registerListener(this, 
                SensorManager.SENSOR_ORIENTATION |
                SensorManager.SENSOR_ACCELEROMETER,
                SensorManager.SENSOR_DELAY_NORMAL);
    }
    
    @Override
    protected void onStop() {
        sm.unregisterListener(this);
        super.onStop();
    } 
    
    public void onAccuracyChanged(int sensor, int accuracy) {
        
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}
Почему-то не работает, т.е. при наклоне телефона не отображаются изменения координат. Что у меня написано неправильно?
0
28.08.2013, 22:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.08.2013, 22:18
Помогаю со студенческими работами здесь

Программирование с использованием классов.
Помогите решить. Создать класс квадрат, член класса - длина стороны. Предусмотреть в классе...

Программирование с использованием строк
Дана строка символов S1, S2, … ,Sn, в которой могут встречаться цифры, пробелы, буква “E” и знаки...

Программирование с использованием множеств.
Дано 30 целых чисел от 1 до 20. Подсчитать, сколько среди них чисел, делящихся на 3.

Программирование с использованием массивов
Дан массив, содержащий от 1 до k символов, за которым следует точка. Вывести этот текст в обратном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru