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

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

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

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

Q&A

解決済

1回答

3689閲覧

androidでbeacon情報を取得する

退会済みユーザー

退会済みユーザー

総合スコア0

Android Studio

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

0グッド

1クリップ

投稿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
・補足

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

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

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

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

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

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

guest

回答1

0

ベストアンサー

レイアウトファイルが無い、またはレイアウトファイル名が誤っているようです。
せめて、Androidの基本を学習してから作った方が効率的ですよ。

また、コードはコード用の記述法に修正してください。

投稿2017/11/05 13:54

yona

総合スコア18155

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

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

退会済みユーザー

退会済みユーザー

2017/11/06 12:44

回答ありがとうございます。 諸事情で時間があまりない身ですが、出来る限り基本から見直して行きたいと思います。 追加で質問があるのですが答えて頂けないでしょうか。 ・レイアウトファイルには手を付けていないのですが、それでは動かないのでしょうか。アプリ起動と同時に情報が取得できればいいなと思っています。 ・「コードはコード用の記述法に修正してください。」とのことですが、 どのように書けばいいのか分かりません。そのまま書くのではいけないのでしょうか。
yona

2017/11/07 04:19

ネットのコードを適当に拾っても動きません、今回のコードはレイアウトファイルが無いと動きません。 コード用の記述法についてはteratailのヘルプページを一通り見てください。
退会済みユーザー

退会済みユーザー

2017/11/13 09:54

もう一度冷静に書いてみます。 今回は回答していだだきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問