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

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

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

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

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

Q&A

解決済

2回答

1611閲覧

引数宣言をしようとするとコンマ(,)をセミコロン(;)にしなさい等複数のエラーが出る

editor1

総合スコア1

Java

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

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

0グッド

0クリップ

投稿2021/08/22 03:37

編集2021/08/22 04:07

前提・実現したいこと

androidアプリの開発中でpermisiionリクエスト(インターネット)を実装しようと思っています(目的はサーバーへのpost通信)

発生している問題・エラーメッセージ

いろいろなサイトを参考に製作していたのですが同時に引数宣言をしようとすると複数のエラーを吐き、できるだけ出ないように エラーに従ってみましたがエラーに従うと違うエラーが出てしまいます AndroidManifestへの使用記述はしてあります。 エラーに従わなかったときのエラー内容 Annotations are not allowed here:56 Identifier or type expected:56//これと上のエラーは多分もっと前で@overrideしてるからだと思います ';' expected ';' expected Expression expected ';' expected ';' expected Unexpected token ';' expected Unexpected token エラーに従った時のエラー内容 ';'expected:57 Expression expected:56 ;を置いた場合のエラー Modifire 'public' not allowed here:57 Illegal type: 'void':57 Expression expected:57

該当のソースコード

JAVA

1 2//エラーを減らしたコード 3 4package com.example.httpposttask; 5 6import androidx.appcompat.app.AppCompatActivity; 7import androidx.core.app.ActivityCompat; 8 9import android.Manifest; 10import android.content.pm.PackageManager; 11import android.os.Build; 12import android.os.Bundle; 13 14import android.os.AsyncTask; 15import android.view.View; 16import android.widget.Button; 17import android.widget.Toast; 18 19import com.example.HttpPostTask.R; 20 21import java.io.IOException; 22import java.io.OutputStream; 23import java.net.HttpURLConnection; 24import java.net.URL; 25 26public class MainActivity extends AppCompatActivity { 27 28 // レイアウトxmlと関連付けるWidget 29 Button ENTbutton; 30 31 @Override 32 protected void onCreate(Bundle savedInstanceState) { 33 //↓private staticがつくかも 34 final int PERMISSION_INTERNET = 1; 35 if (Build.VERSION.SDK_INT >= 23) { 36 if(ActivityCompat.checkSelfPermission(this, 37 Manifest.permission.INTERNET) 38 != PackageManager.PERMISSION_GRANTED) 39 40 { 41 ActivityCompat.requestPermissions(this, 42 new String[]{ 43 Manifest.permission.INTERNET 44 }, 45 PERMISSION_INTERNET); 46 } 47 } 48 else{ 49 50 } 51 52 53 // 54 55 //@override 56 public void onRequestPermissionsResult (); 57 int requestCode; 58 String[] Permission; 59 int[] grantResults; 60 { 61 if (grantResults.length <= 0) { 62 return; 63 } 64 switch (requestCode) { 65 case PERMISSION_INTERNET: { 66 if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { 67 /// 許可が取れた場合 68 /// 必要な処理を書いておく 69 70 } else { 71 /// 許可が取れなかった場合 72 Toast.makeText(this, "can't start application..", Toast.LENGTH_LONG).show(); 73 finish(); 74 } 75 } 76 return; 77 } 78 79 } 80 81 82 83 super.onCreate(savedInstanceState); 84 setContentView(R.layout.activity_main); 85 86 87 ENTbutton = findViewById(R.id.entbutton); 88 89 View.OnClickListener Click = new View.OnClickListener() { 90 @Override 91 public void onClick(View view) { 92 93 94 95 96 } 97 }; 98 } 99} 100 101 102//サイトの元コード 103 104@Override 105public void onRequestPermissionsResult( 106 int requestCode, String[] permission, int[] grantResults 107){ 108 if (grantResults.length <= 0) { return; } 109 switch(requestCode){ 110 case PERMISSION_WRITE_EX_STR: { 111 if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { 112 /// 許可が取れた場合・・・ 113 /// 必要な処理を書いておく 114 } else { 115 /// 許可が取れなかった場合・・・ 116 Toast.makeText(this, 117 "アプリを起動できません....", Toast.LENGTH_LONG).show(); 118 finish(); 119 } 120 } 121 return; 122 } 123} 124 125//                                     ↓に赤線が出ている 126//上記がエラーが出ないように修正したが一番上のonRequestPermissionsResult ();の 127//                                    ↑この部分にセミコロン(;)をつけろというエラーが出た

試したこと

()をなくす、publicを消すなどしましたがそうするとまたほかのエラーが出ます。

補足情報(FW/ツールのバージョンなど)

androidバージョン:android 11
Javaに詳しくないので自分なりに記述しているところがあります。
なので構文自体が間違っていたらすみません。

下記サイトを参考に製作していました
https://pisuke-code.com/android-show-permission-dialog/

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

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

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

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

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

m.ts10806

2021/08/22 03:42

行数は確認の邪魔なので排除し、 実際のコードを略すことなく全て提示してください。 問題の箇所は結局はメソッドの引数なんですか?そうじゃないんですか? 各変数の用途や想定される値も記載してください。
hoshi-takanori

2021/08/22 03:43

public void onRequestPermissionsResult の後ろの () の中身は変数ではなく引数のはずですが、その前の onCreate メソッドの } が足りなくてメソッドが終了してないためにおかしくなってるのでしょう。
editor1

2021/08/22 04:09

自分の知識不足で引数と変数を間違えていました。すいません 変数等の用途に関してですがサイト依存のため何となくしかわかりません。 ご期待に沿えずすみません
jimbe

2021/08/22 04:28

> 構文自体が間違っていたらすみません 間違っているのでエラーが出ているのではないでしょうか。勘でコードを弄って動作するラッキーを期待するのは、プログラミングではありません。 > Javaに詳しくないので自分なりに記述している スペース・タブやコメントの入れ方であれば「自分なり」もありますが、構文をテキトウに書いて「自分なり」は意味が有りません。 資料からの切り貼りであれば、何を切り貼りしようとしているかを理解して頂かなくてはなりません。 せめて java の入門書 2~3 冊程度はお読みになることをお勧めします。
dodox86

2021/08/22 05:06

jimbeさんのご指摘の通りですね。teratailはコーディングやデバッグを代行してくれるサイトではありません。 [質問するときのヒント] https://teratail.com/help/question-tips
m.ts10806

2021/08/22 05:52

結局はプログラミングは書いたとおりにしか動かないので既に指摘されている通り確実に理解して書かれないことには動くようにはなりません。 何をおいても基礎です。
guest

回答2

0

ベストアンサー

わけのわからないエラーが大量に出てきた場合は、根本的に何かを間違えている可能性を考えてください。本来合わない書き方で書いているものを、文法的に合わせようとして、わけのわからないエラーに繋がってる可能性が高いです。

今回の場合は、**メソッドを書く場所がおかしいです。**onRequestPermissionsResultメソッドを書いている場所が、onCreateメソッドの中になっています。

投稿2021/08/23 01:33

swordone

総合スコア20669

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

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

0

どういう記述をしたらどういうエラーが出るのか、ってのを対比しましょう
そうすれば、どこがまずくてそのエラーが出るのかがわかってくると思います

そこらへんの記述ってのは全て、言語の仕様にのっとって解釈されます。
なので、それから外れるような記述をするとエラーが出る、ってだけのはなしですね。

#エラーメッセージだけ提示されても、あなたがなにをやらかしたのかってのはわかりませんねー

投稿2021/08/22 04:07

y_waiwai

総合スコア88042

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問