Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.75
Влад000
0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 64
#1

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

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

Доброго времени суток, пытался найти какую-либо информацию о том, как писать приложения при участии акселерометра, но не смог найти ничего полезного. Единственное что нашел, это принцып работы. Не могли бы написать что используется и как с этим работать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2012, 16:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программирование с использованием акселерометра (Программирование Android):

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

Отключение акселерометра для одного приложения - Программирование Android
Добрый вечер! Написала свою первую прогу для Андроид. При наклоне телефона горизонтально прога тоже наклоняется. Подскажите, пожалуйста,...

Система координат акселерометра планшета и телефона - Программирование Android
Всех с наступающим!!! Была задача, простая до скрежета зубов: импортирую import android.hardware.SensorEvent; далее просто...

Приложение собирающее показания с акселерометра в SQlite базу - Программирование Android
Помогите пожалуйста найти ошибку в коде. Когда работаю с проектом вроде всё нормально компилируется, а запускаю .apk файл пишется ошибка...

Перевод в земную систему координат. Спроецировать ускорения акселерометра на ось силы тяжести - Программирование Android
Доброго времени суток, товарищи Дано: показания акселерометра по 3 осям и показания системы ориентации телефона (в градусах). ...

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

4
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
26.09.2012, 20:21 #2
http://developer.android.com/guide/t..._overview.html
0
rfiz
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 22
26.09.2012, 20:58 #3
Здравствуйте Влад!
Вот очень хорошая статья по датчикам в Android (в т.ч. и акселерометр), с готовым приложением.
http://www.ibm.com/developerworks/ru/library/os-android-sensor/
0
Влад000
0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 64
27.09.2012, 00:08  [ТС] #4
Огромное спасибо
0
maria_
5 / 5 / 1
Регистрация: 25.08.2013
Сообщений: 67
28.08.2013, 22:18 #5
Попробовала создать приложение, которое отображает значения ускорений по осям. Как делать, смотрела в http://www.ibm.com/developerworks/ru...ndroid-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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2013, 22:18
Привет! Вот еще темы с ответами:

Программирование с использованием строк (обычный вариант и с использованием 3 видов строк - C#
Программирование с использованием строк (обычный вариант и с использованием 3 видов строк Даны два числа: N1 и N2, и две строки: S1 и...

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

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

Программирование с использованием функций - Pascal ABC
1. Вычислить \frac{f(a)+g(b)}{f(a)f(b)} где f(x)={x}^{2}-4x+3,g(x)={x}^{4}-5x-4


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru