質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

2回答

508閲覧

加速度センサーを利用して画面のスクロールをしたいです。

Karako

総合スコア8

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/09/22 06:03

###前提・実現したい
Android Studioで加速度センサーを利用して画面のスクロールをしたいと考えています。

スワイプを指ではなく加速度センサーに置き換えて、端末を傾けることで
上下スクロール操作をできるものにしたいです。

またブラウザだけではなく、Serviceを用いて他のアプリでもスクロールを出来るようにしたいです。
###発生している問題・エラーメッセージ
上記のことを調べた結果、センサーを用いた画面操作のソースコードや参考文献が
見当たらないです。

###該当のソースコード
前述に記載した通り、見当たらないです。

###試したこと
加速度センサー値(x,y,z)の取得ができました。

###補足情報(言語/FW/ツール等のバージョンなど)
使用言語はJava言語です

Android Studio2.3.3

どのようにアプローチをかければいいのか分からず、困っています。
アドバイスや方法を教えていただけないでしょうか。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2017/09/22 06:14

スクロールの方法が分からないのでしょうか?
Karako

2017/09/22 06:20

スクロールの方法も含め、分からないです。
fuzzball

2017/09/22 08:31

じゃあ、まずスクロールについて調べてみてはどうですか?
guest

回答2

0

Androidの傾きを調べる方法については、以下の記事で解説されています。
端末の向きと傾きを取得する方法 - 加速度センサーと地磁気センサーの利用

傾きが減ったら(画面が立てられたら)画面を上にスクロールし、傾きが増えたら(画面が寝かせられたら)画面を下にスクロールするというような感じのものを作ろうとしているのではないかと推測します。

「何が起きたら、どのような現象を起こすのか」というのを考えて、整理していくと具体的なイメージができるのではないでしょうか?

少なくとも質問を読んだ人が「こんな事がしたいのだな」という具体的なイメージを浮かべられる程度に具体化すると、プログラムの仕様が固まるのではないでしょうか。

投稿2017/09/22 07:06

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

画面のスクロールやスワイプですが、加速度センサーの値の変化を指のタッチに置き換えるということで、タッチのイベントをAndroidに通知させて、全アプリに透過的に伝わるようにする必要があるはずです。興味を持ったので私も少し調べてみました。

クラスメソッドさんのサイトで参考になる記事がありました。

【Android】プログラムから端末をタッチする【ADB】|クラスメソッドブログ

シェル上でgeteventコマンドでタッチ情報の取り出し、sendeventコマンドでタッチ情報を端末へ送信する例が紹介されています。これを参考に、加速度センサーの値の変化をタッチ相当の値にシミュレートしてsendeventで送信すれば、全アプリ、画面に共通するイベントを生成できるかもしれません。

ただ、例ではNexus7 をroot化されているようです。Android端末によっては(特にsendeventコマンド)パーミッションの関係で実行できなかったり、そもそもコマンドが無かったりすることがあるかもしれません。

投稿2017/09/22 18:26

dodox86

総合スコア9183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問