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

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

新規登録して質問してみよう
ただいま回答率
87.20%
Android Studio

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

解決済

androidでbeacon情報を取得する

退会済みユーザー

退会済みユーザー

総合スコア0

Android Studio

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

1回答

0評価

0クリップ

2955閲覧

投稿2017/11/05 13:49

###前提・実現したいこと
プログラミング初心者で、初めてアンドロイドアプリを作ります。
AndroidスマートフォンでBeaconの情報を取得するためのAndroidアプリを作ろうとしています。
ネット上で調べてみましたところ、基にできそうなページがありましてそのまま書いてみました。
そうしたら、プログラムを書きうつしたところでエラーが発生し、解決方法が分からないため投稿させて頂きました。
よろしくお願い致します。
###発生している問題・エラーメッセージ

現時点で起こっている問題は2つあります。 1つ目 cannot resolve symbol"(プログラムに書いた単語)"と表示される。 実行時に「シンボルを見つけられません」と表示される。 下記ソースコードではエラー箇所に「エラー"cannot resolve symbol"(プログラムに書いた単語)"」で記入しておきます。 2つ目 実行時に「クラスMyActivityはパブリックであり、ファイルMyActivity.javaで宣言する必要があります」と表示される。

###該当のソースコード

java(Android Studio使用)

package beacon.android.classmethod.jp.altbeaconlibrarysample;//上記2つ目の問題が発生

import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.os.Bundle;
import android.os.RemoteException;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;

import com.example.beacontest.R;

import org.altbeacon.beacon.BeaconConsumer;
import org.altbeacon.beacon.BeaconManager;
import org.altbeacon.beacon.BeaconParser;
import org.altbeacon.beacon.MonitorNotifier;
import org.altbeacon.beacon.Region;

public class MyActivity extends Activity implements BeaconConsumer {

private BeaconManager beaconManager; // iBeaconのデータを認識するためのParserフォーマット public static final String IBEACON_FORMAT = "m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my);   //エラー"cannot resolve symbol"activity_my" if (savedInstanceState == null) { getFragmentManager().beginTransaction() .add(R.id.container, new PlaceholderFragment())   //エラー"cannot resolve symbol"container" .commit(); } // staticメソッドで取得 beaconManager = BeaconManager.getInstanceForApplication(this); // BeaconParseを設定 beaconManager.getBeaconParsers() .add(new BeaconParser().setBeaconLayout(IBEACON_FORMAT)); } @Override protected void onPause() { super.onPause(); beaconManager.unbind(this); } @Override protected void onResume() { super.onResume(); beaconManager.bind(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.my, menu);    //エラー"cannot resolve symbol"menu"、最初に書いてある部分 return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) {      //エラー"cannot resolve symbol"action_settings" return true; } return super.onOptionsItemSelected(item); }

*/
@Override
public void onBeaconServiceConnect() {
beaconManager.setMonitorNotifier(new MonitorNotifier() {
@Override
public void didEnterRegion(Region region) {
// 領域への入場を検知
Log.d("Beacon", "ENTER Region.");
}

@Override public void didExitRegion(Region region) { // 領域からの退場を検知 Log.d("Beacon", "EXIT Region. "); } @Override public void didDetermineStateForRegion(int i, Region region) { // 領域への入退場のステータス変化を検知 Log.d("MyActivity", "DetermineState: " + i); } }); try { // ビーコン情報の監視を開始 beaconManager.startMonitoringBeaconsInRegion(new Region("unique-id-001", null, null, null)); } catch (RemoteException e) { e.printStackTrace(); } } /** * A placeholder fragment containing a simple view. */ public static class PlaceholderFragment extends Fragment { public PlaceholderFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_my, container, false);   //エラー"cannot resolve symbol"fragment_my" return rootView; } }

}

###試したこと
エラー部分にカーソルを当てると赤色の豆電球マークが出てきたので、そこから「create field '記述名'」をクリックしたりしてみました。
エラーは消えましたが、実行すると実行と同時にアプリが終了してしまいました。
###補足情報(言語/FW/ツール等のバージョンなど)
`・参考にしたサイト
https://dev.classmethod.jp/smartphone/android-beacon-library-introduction-1/
https://dev.classmethod.jp/smartphone/android-beacon-library-introduction-2/
https://dev.classmethod.jp/smartphone/android-beacon-library-introduction-3/
・ソース元
https://github.com/komuro-hiraku/BlogSampleAndroidBeaconLibrary/blob/beacon_003/app/src/main/java/beacon/android/classmethod/jp/altbeaconlibrarysample/MyActivity.java
・補足

  • パーミッションの設定、ライブラリの導入はやってあります。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Android Studio

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