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

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

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

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

Android Studio

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

Q&A

解決済

1回答

3023閲覧

アンドロイドアプリで接続先wifiの設定を切替えるには

kumakumatan

総合スコア213

Android

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

Android Studio

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

0グッド

2クリップ

投稿2017/07/23 07:45

編集2017/08/20 02:38

AndroidStudio2.3.3にて、指定のwifi(SSIDをWEPキーで認証)の接続状態を調べ、
「オン」「オフ」状態を画面に表示し、ボタンを押すことにより、接続を切替えるアプリを作成
しようとしております。

・ssid:SSID
・password:password

■AndroidManifest.xml

xml

1<?xml version="1.0" encoding="utf-8"?> 2<manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="wifi.sample.goodroid.mywifi01"> 4 5 <uses-sdk 6 android:minSdkVersion="10" 7 android:targetSdkVersion="15" /> 8 9 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 10 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> 11 12 <application 13 android:allowBackup="true" 14 android:icon="@mipmap/ic_launcher" 15 android:label="@string/app_name" 16 android:supportsRtl="true" 17 android:theme="@style/AppTheme"> 18 <activity android:name=".WiFiActivity"> 19 <intent-filter> 20 <action android:name="android.intent.action.MAIN" /> 21 22 <category android:name="android.intent.category.LAUNCHER" /> 23 </intent-filter> 24 </activity> 25 </application> 26 27</manifest>

■WiFiActivity

java

1package wifi.sample.goodroid.mywifi01; 2 3import android.annotation.SuppressLint; 4import android.content.Context; 5import android.net.wifi.ScanResult; 6import android.net.wifi.WifiConfiguration; 7import android.net.wifi.WifiManager; 8import android.os.Bundle; 9import android.view.View; 10import android.view.View.OnClickListener; 11import android.widget.ToggleButton; 12import android.app.Activity; 13 14public class WiFiActivity extends Activity implements OnClickListener{ 15 16 private ToggleButton toggle; 17 private WifiManager Wifi; 18 19 @SuppressLint("WifiManagerLeak") 20 @Override 21 public void onCreate(Bundle savedInstanceState) { 22 super.onCreate(savedInstanceState); 23 setContentView(R.layout.activity_wi_fi); 24 25 // WifiManagerのインスタンスを取得する 26 Wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE); 27 28 //WiFi機能をONにする 29 WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE); 30 if (wifiManager.isWifiEnabled() == false) { 31 wifiManager.setWifiEnabled(true); 32 } 33 34 35 //WEPのSSID設定 36 String ssid = "SSID"; 37 WifiConfiguration config = new WifiConfiguration(); 38 config.SSID = "\"" + ssid + "\""; 39 config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 40 config.allowedProtocols.set(WifiConfiguration.Protocol.RSN); 41 config.allowedProtocols.set(WifiConfiguration.Protocol.WPA); 42 config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); 43 config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED); 44 config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); 45 config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); 46 config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40); 47 config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104); 48 config.wepKeys[0] = "\"password\""; 49 config.wepTxKeyIndex = 0; 50 int networkId = wifiManager.addNetwork(config); // 失敗した場合は-1となります 51 wifiManager.saveConfiguration(); 52 wifiManager.updateNetwork(config); 53 54 55 56 57 // トグルボタンのインスタンスを取得する 58 toggle = (ToggleButton) findViewById(R.id.toggleButton1); 59 60 // トグルボタンの状態初期化 61 if(Wifi.isWifiEnabled()){ 62 63 // 現在のWifiがONだった場合、トグルボタンをONに切り替える 64 toggle.setChecked(true); 65 66 }else{ 67 68 // 現在のWifiがOffだった場合、トグルボタンをOFFに切り替える 69 toggle.setChecked(false); 70 } 71 72 } 73 74 @Override 75 public void onClick(View v) { 76 77 if(Wifi.isWifiEnabled()){ 78 // 現在のWifiがONだった場合、OFFに切り替える 79 Wifi.setWifiEnabled(false); 80 81 }else{ 82 // 現在のWifiがOFFだった場合、ONに切り替える 83 // Wifi.setWifiEnabled(true); 84 85 //WiFi機能をONにする 86 WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE); 87 if (!wifiManager.isWifiEnabled()) { 88 wifiManager.setWifiEnabled(true); 89 } 90 91 //WEPのSSID設定 92 String ssid = "SSID"; 93 WifiConfiguration config = new WifiConfiguration(); 94 config.SSID = "\"" + ssid + "\""; 95 config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 96 config.allowedProtocols.set(WifiConfiguration.Protocol.RSN); 97 config.allowedProtocols.set(WifiConfiguration.Protocol.WPA); 98 config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); 99 config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED); 100 config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); 101 config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); 102 config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40); 103 config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104); 104 config.wepKeys[0] = "\"password\""; 105 config.wepTxKeyIndex = 0; 106 int networkId = wifiManager.addNetwork(config); // 失敗した場合は-1となります 107 wifiManager.saveConfiguration(); 108 wifiManager.updateNetwork(config); 109 110 //SSIDに接続する 111 // WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE); 112 // int networkId = 0; // 上記設定で取得できたものを使用 113 String targetSSID = "SSID"; 114// WiFi機能が無効の状態で呼び出されるとSSID検索の所でnullとなるので念のため例外処理を行なう 115 try { 116 // ssidの検索を開始 117 wifiManager.startScan(); 118 for (ScanResult result : wifiManager.getScanResults()) { 119 // Android4.2以降よりダブルクォーテーションが付いてくるので除去 120 String resultSSID = result.SSID.replace("\"", ""); 121 if (resultSSID.equals(targetSSID)) { 122 // 接続を行う 123 if (networkId > 0) { 124 // 先に既存接続先を無効にしてから接続します 125 for (WifiConfiguration c0 : wifiManager.getConfiguredNetworks()) { 126 wifiManager.enableNetwork(c0.networkId, false); 127 } 128 wifiManager.enableNetwork(networkId, true); 129 } 130 break; 131 } 132 } 133 } catch (NullPointerException e) { 134 // 適切な例外処理をしてください。 135 } 136 137 } 138 } 139 140} 141

■activity_wi_fi.xml

xml

1<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" > 5 6 <ToggleButton 7 android:id="@+id/toggleButton1" 8 android:layout_width="wrap_content" 9 android:layout_height="wrap_content" 10 android:text="ToggleButton" 11 android:layout_below="@+id/textView1" 12 android:layout_centerHorizontal="true" 13 android:layout_marginTop="82dp" /> 14 15 <TextView 16 android:id="@+id/textView1" 17 android:layout_width="wrap_content" 18 android:layout_height="wrap_content" 19 android:layout_marginLeft="15dp" 20 android:text="Wi-Fi状態" 21 android:textAppearance="?android:attr/textAppearanceLarge" 22 android:layout_alignParentTop="true" 23 android:layout_alignParentStart="true" 24 android:layout_marginStart="24dp" 25 android:layout_marginTop="37dp" /> 26 27</RelativeLayout>

*WiFiActivityの箇所を変更する事により、ボタンの「オン」「オフ」により、
登録したssidのwifiが接続、切断ができるようにしたいのですが、どのようにしたら
良いかご教授いただきたくお願い致します。

アプリを開いた際、wifiに接続はできるのですが(OFFの場合、接続ONになる)、ボタンの「ON」「OFF」での制御がうまくいかなく困っています。
「public void onClick(View v) {」の処理でボタンのON.OFFの処理命令を記載しようとしておりますが、うまくいかなく困っています。

どうかご教授、宜しくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

私が以前練習の為作ったwifiの状態表示/切り替えアプリのソース(圧縮)ですが参考になれば。

ダウンロード用のパスワード:sample

アップロード先

作成の時に参考にしたHP

WiFi接続情報を取得する - Androidプログラマへの道 ~ Moonlight 明日香 ~

Android の Wi-Fi 実装に関する情報のまとめ | 穀風

回答そのものでなくてすいません・・

投稿2017/08/23 05:04

編集2017/08/23 05:22
rafiene3249

総合スコア53

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

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

kumakumatan

2017/08/24 04:09

ご教授ありがとうございます。 いただいたソースを自分の環境にインストールして、動作させようと思い取り込んでみました。 そうすると、下記のメッセージが表示されて実機転送できない状態になってしまいます。 「package」をインストールするみたいなのですが、どこにどう記述したら良いのかわからなく ご教授いただきたく思います。 C:\aplication\wifi_sample001\app\src\main\res\layout\activity_sub.xml エラー :(9) No resource identifier found for attribute 'layout_constraintBottom_toBottomOf' in package 'org.kazutoshi_koshino.testapp007' エラー :(9) No resource identifier found for attribute 'layout_constraintTop_toTopOf' in package 'org.kazutoshi_koshino.testapp007' エラー :(9) No resource identifier found for attribute 'layout_constraintRight_toRightOf' in package 'org.kazutoshi_koshino.testapp007' エラー :(9) No resource identifier found for attribute 'layout_constraintLeft_toLeftOf' in package 'org.kazutoshi_koshino.testapp007' C:\aplication\wifi_sample001\app\build\intermediates\res\merged\debug\layout\activity_sub.xml エラー :(9) No resource identifier found for attribute 'layout_constraintBottom_toBottomOf' in package 'org.kazutoshi_koshino.testapp007' エラー :(9) No resource identifier found for attribute 'layout_constraintTop_toTopOf' in package 'org.kazutoshi_koshino.testapp007' エラー :(9) No resource identifier found for attribute 'layout_constraintRight_toRightOf' in package 'org.kazutoshi_koshino.testapp007' エラー :(9) No resource identifier found for attribute 'layout_constraintLeft_toLeftOf' in package 'org.kazutoshi_koshino.testapp007' エラー :Execution failed for task ':app:processDebugResources'. > com.android.ide.common.process.ProcessException: Failed to execute aapt 情報 :BUILD FAILED 情報 :Total time: 3.999 secs 情報 :9 errors 情報 :0 warnings 情報 :See complete output in console 宜しくお願いします。
kumakumatan

2017/08/24 04:13

ちなみに「 build.gradle」の「minSdkVersion」は最初「23」だったのですが、 実機転送しようとした際、実機のsdkが「21」だったので、下記のように修正しました。 apply plugin: 'com.android.application' android { compileSdkVersion 24 buildToolsVersion "24.0.3" defaultConfig { applicationId "org.kazutoshi_koshino.testapp007" minSdkVersion 21 targetSdkVersion 24 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:24.2.1' testCompile 'junit:junit:4.12' }
rafiene3249

2017/08/24 04:52

エラーを見た限りでは、activity_sub.xml の7行目にある 以下の記述が問題になっていると思われます。 tools:context="org.kazutoshi_koshino.testapp007.MainActivity" 上記の行をご自身の環境に合わせて修正して下さい。 ご自身の環境が解らない場合は、ご自身で作られたアプリケーションの メインに当たるアクティビティの最初の行を見て下さい。 例:私の環境下のMainActivity.javaは以下の様になっています。 package org.kazutoshi_koshino.testapp007; 仮に貴方の環境のMainActivity.javaの記述が package org.ichirou.tanaka.wifi_sample001; だとするならば activity_sub.xmlの7行目は tools:context="org.ichirou.tanaka.wifi_sample001.MainActivity" と記述しなければ整合性が取れません。 それとMainActivity.java(と私の他の*.javaファイル)の最初の行も同様に package org.ichirou.tanaka.wifi_sample001; と修正しなければ整合性が取れませんので注意して下さい。
kumakumatan

2017/08/24 05:28

MainActivity.javaの記述は 「package org.kazutoshi_koshino.testapp007;」としております。 ちなみに、ディレクトリ構造なのですが、 「c:\aplication\wifi_sample001\app\src\main」 -java\org\kazutoshi_koshino\testapp007に ・App.javaMainActivity.javaMyCustomListAdapter.javaMyCustomLists.javaSubActivity.java となっております。 この場合はどこを修正すればよろしいでしょうか。 宜しくお願いします。
rafiene3249

2017/08/24 05:57

プロジェクト名が「wifi_sample001」なのであれば、MainActivity.javaの記述は 「package org.kazutoshi_koshino.wifi_sample001;」としなければなりません。 それとディレクトリ構造も -java\org\kazutoshi_koshino\wifi_sample001にしないとダメです。 横着かつ無難な方法としてはプロジェクト名をTestApp007で作るのが手っ取り早いでしょう。
kumakumatan

2017/08/24 07:12 編集

「C:\aplication\TestApp007\app\src\main」 と再度作成し直したのですが、メッセージが変わりません・・。 cleanProjectも実施してますし、アプリの再立上げもしておりますが・・。 ・エラーメッセージ C:\aplication\TestApp007\app\src\main\res\layout\activity_sub.xml エラー :(9) No resource identifier found for attribute 'layout_constraintBottom_toBottomOf' in package 'org.kazutoshi_koshino.testapp007' エラー :(9) No resource identifier found for attribute 'layout_constraintTop_toTopOf' in package 'org.kazutoshi_koshino.testapp007' エラー :(9) No resource identifier found for attribute 'layout_constraintRight_toRightOf' in package 'org.kazutoshi_koshino.testapp007' エラー :(9) No resource identifier found for attribute 'layout_constraintLeft_toLeftOf' in package 'org.kazutoshi_koshino.testapp007' C:\aplication\TestApp007\app\build\intermediates\res\merged\debug\layout\activity_sub.xml エラー :(9) No resource identifier found for attribute 'layout_constraintBottom_toBottomOf' in package 'org.kazutoshi_koshino.testapp007' エラー :(9) No resource identifier found for attribute 'layout_constraintTop_toTopOf' in package 'org.kazutoshi_koshino.testapp007' エラー :(9) No resource identifier found for attribute 'layout_constraintRight_toRightOf' in package 'org.kazutoshi_koshino.testapp007' エラー :(9) No resource identifier found for attribute 'layout_constraintLeft_toLeftOf' in package 'org.kazutoshi_koshino.testapp007' エラー :Execution failed for task ':app:processDebugResources'. > com.android.ide.common.process.ProcessException: Failed to execute aapt 宜しくお願いします。
rafiene3249

2017/08/25 05:02 編集

根本的な解決では無いのですが、ちょっと試して欲しい事があります。 C:\aplication\TestApp007\app\src\main\res\layout\activity_sub.xml の内容を以下の様に書き換えてからRebuild Projectしてみて下さい。 <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Wi-Fi機能がオフになっています" android:textAppearance="@android:style/TextAppearance.Material.Large" android:visibility="visible" /> </android.support.constraint.ConstraintLayout>
kumakumatan

2017/08/29 01:12

ご回答ありがとうございます。「activity_sub.xml」でのエラーは消えたのですが、 C:\aplication\TestApp007\app\build\intermediates\manifests\full\debug\AndroidManifest.xml エラー :(16) No resource identifier found for attribute 'roundIcon' in package 'android' エラー :(16) No resource identifier found for attribute 'roundIcon' in package 'android' エラー :Execution failed for task ':app:processDebugResources'. > com.android.ide.common.process.ProcessException: Failed to execute aapt 情報 :BUILD FAILED と表示され、失敗してしまいます・・。
rafiene3249

2017/08/29 04:29 編集

最初の回答でアップロードしているソースファイルの中に以下のフォルダがあるはずです。 main\res\mipmap-hdpi main\res\mipmap-mdpi main\res\mipmap-xhdpi main\res\mipmap-xxhdpi main\res\mipmap-xxxhdpi main\res\values 上記のフォルダを C:\aplication\TestApp007\app\src に上書きコピーして下さい。 上書きした後、構成は以下の様になるはずです。 C:\aplication\TestApp007\app\src\main\res\mipmap-hdpi C:\aplication\TestApp007\app\src\main\res\mipmap-mdpi C:\aplication\TestApp007\app\src\main\res\mipmap-xdpi C:\aplication\TestApp007\app\src\main\res\mipmap-xxdpi C:\aplication\TestApp007\app\src\main\res\mipmap-xxxdpi C:\aplication\TestApp007\app\src\main\res\values それと遅まきながら一言、エラーメッセージを読んでみましょうね。 roundicon属性のリソースが無いって書いてありますよ。(´・ω・`)
kumakumatan

2017/08/29 04:44

ありがとうございます。 ファイルを上書きコピーしました。 「エラー :(16) No resource identifier found for attribute 'roundIcon' in package 'android'」 のメッセージが表示されているので「roundIcon」をsdkマネージャからインストールするという認識で合ってますでしょうか?
rafiene3249

2017/08/29 04:58

上書きコピーしたのに同じエラーが出ているという事ですか? 対処法として本来存在しないといけないリソースを コピーしたつもりだったのですが、何やら上手くいっていない様です。 AndroidManifest.xmlの記述を書き換える方法で対処する事にします。 【修正前】 <application android:allowBackup="true" android:icon="@mipmap/ic_fai_launcher" android:label="Wi-Fi 接続状況" android:name="org.kazutoshi_koshino.testapp007.App" android:roundIcon="@mipmap/ic_fai_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> ~(中略)~ </application> 【修正後】 <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="Wi-Fi 接続状況" android:name="org.kazutoshi_koshino.testapp007.App" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> ~(中略)~ </application> これでどうでしょうか?
kumakumatan

2017/08/29 05:15

>上書きコピーしたのに同じエラーが出ているという事ですか? はい。そうです。上書きコピーをしたのに、上手くいきませんでした。 URIが未設定です(設定→IDE設定→リソース) manifest xmlns:android= http://schemas.android.com/apk/res/android ↑ 赤文字に変換されています。 android:versionCode="1" android:versionName="1.0" > ↑ 赤文字に変換されています(ここでは使用できませんのメッセージが表示されます)。 android:allowBackup="true" android:icon="@mipmap/ic_fai_launcher" android:roundIcon="@mipmap/ic_fai_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme" > ↑ 赤文字に変換されています(ここでは使用できませんのメッセージが表示されます)。 社内プロキシサーバを利用しているのですが、何か関係はありますでしょうか? また、[android:roundIcon="@mipmap/ic_fai_launcher_round"]となっているのですが 「mipmap」のみのフォルダはなく、「mipmap-xx」と何かしら文字が入っております。 それに合わせて[android:roundIcon="@mipmap-hdpi/ic_fai_launcher_round"]のように 記載しないといけないでしょうか? 宜しくお願いします。
rafiene3249

2017/08/29 05:57

一度に色々聞かれても回答しにくいのですが、一つずつ片付けましょう。 その前にちょっと確認したい事が1つ。 resフォルダを全部上書きしちゃいました?(´・ω・`) もしそうなら、[layout\*.xml]も上書きされちゃってるので 貴方の環境に合わせて作り直したファイルが、前の状態に戻ってしまっています。 >manifest xmlns:android= >http://schemas.android.com/apk/res/android > >↑ >赤文字に変換されています。 ここが大問題ですね。 ここが上手くいっていないせいで、下の部分も赤文字になっていると思われます。 ただこの箇所についてエラーが出るという事態に遭遇した事が私は無い為、 何故エラーが出ているのかは今分かっている情報だけでは判断しかねます。 >社内プロキシサーバを利用しているのですが、何か関係はありますでしょうか? 当方ではプロキシサーバは利用していませんが、プロキシサーバは恐らくは関係ないと思われます。 社内のみや1フロアのみ等の閉じたネット環境であれば問題アリですが、 外部へのインターネット接続が出来る環境であれば問題ないはずです。 >それに合わせて[android:roundIcon="@mipmap-hdpi/ic_fai_launcher_round"]のように >記載しないといけないでしょうか? いえ、[android:roundIcon="@mipmap/ic_fai_launcher_round"]のような記述で大丈夫です。 今回の問題となった事柄は[ic_fai_launcher_round.png]が 参照先の[mipmap]の中になかったからなので。 @mipmap でミップマップのリソースを参照します、という宣言なのですが、 では何故フォルダは \mipmap-hdpiとかになっているのか?というと、実行環境毎に 解像度が異なるので実行環境の解像度に合う様にアイコンが複数用意されているのです。 これに関しては先の回答で[ic_launcher][ic_launcher_round](左記2つはデフォルトで 存在するアイコン)をアイコンとして使うように指定したので直っているはずです。
rafiene3249

2017/08/30 01:10 編集

うーん、認識に違いが有るようです。 今回の場合の私の言う「参照先の[mipmap]」とは以下のものを指します。 C:\aplication\TestApp007\app\src\main\res\mipmap-hdpi C:\aplication\TestApp007\app\src\main\res\mipmap-mdpi C:\aplication\TestApp007\app\src\main\res\mipmap-xdpi C:\aplication\TestApp007\app\src\main\res\mipmap-xxdpi C:\aplication\TestApp007\app\src\main\res\mipmap-xxxdpi 上記の内のどれか1つですね。 実際にどれを指すかは実行環境の解像度によって変わってくるので、 どれを使っているのかは具体的には分からないですけど。
kumakumatan

2017/08/30 06:30

ご回答ありがとうございます。 >もしそうなら、[layout\*.xml]も上書きされちゃってるので >貴方の環境に合わせて作り直したファイルが、前の状態に戻ってしまっています。 環境に合わせたファイルを作成しております。 「mipmap」について理解できました。 ありがとうございます。 「http://schemas.android.com/apk/res/andro」 が赤文字になったままで苦戦中です。 ご教示いただければ幸いです。
kumakumatan

2017/08/30 07:38

現在、設定しているフォルダ構成を記述します。 ・Application name:testapp007 ・company Domain:kazutoshi_koshino.org ・Package name:org.kazutoshi_koshino.testapp007 ・Project location:C:\aplication\testapp007 ・Phone and Tablet Minimum SDK:API15:Android 4.0.3(IceCreamSandwich) ・Activity Name:MainActivity ・Layout Name:activity_main ■解凍した「main.zip」の保存場所 ・javaフォルダ(java\org\kazutoshi_koshino\testapp007)  ⇒C:\aplication\testapp007\app\src\main\java\org\kazutoshi_koshino\testapp007   に「App.java/MainActivity.java/MyCustomListAdapter.java/MyCustomLists.java/SubActivity.java」を設置 ・resフォルダ ⇒C:\aplication\testapp007\app\src\main\res に上書きする ・AndroidManifest.xmlファイル ⇒C:\aplication\testapp007\app\src\main に上書きする *間違いなどがございましたら、ご教授いただければ幸いです。 宜しくお願いします。
rafiene3249

2017/09/01 04:07

回答が遅くなりました、すいません。 そちらの環境とこちらのプロジェクト作成環境で大きく異なるのは以下の点です。 Phone and Tablet Minimum SDK API 24:Android 7.0(Nouget) ここがどうも気になった為、Minimum SDKを API 15で新規にプロジェクトを作成し直して *.javaのコピー、resフォルダのコピー、AndroidManifest.xmlのコピーを してみた所、確かに manifest の所が赤くなりまして、 >android:versionCode="1" >android:versionName="1.0" 上記2つの記述が足りない的な「警告」が出てきましたが、 元々私のAndroidManifest.xmlには上記2つの項目は存在しない為、 試しにAndroidManifest.xmlを以下の内容で Rebuild Project した所、問題なくビルド出来ました。 --------------------------------------------------------------------------------------------------------- [AndroidManifest.xml]の内容: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.kazutoshi_koshino.testapp007"> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> <application android:allowBackup="true" android:icon="@mipmap/ic_fai_launcher" android:label="Wi-Fi 接続状況" android:name="org.kazutoshi_koshino.testapp007.App" android:roundIcon="@mipmap/ic_fai_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> ------------------------------------------------------------------------------------------ 当方の環境は動作させる実機が Android7.0 なので SDKのバージョンが以下の様に設定されています。(肝心な所だけ抜粋しました) compileSdkVersion 25 buildToolsVersion "25.0.3" minSdkVersion 15        ←元々は「23」 targetSdkVersion 25 上記の事から恐らくなのですが、build.gradle[Module.app] を修正して、 SDKのバージョンを25に上げればビルドには成功すると思います。 ですが私がソースをアップロードしたのは、あくまで「これを見て参考にして貴方が 作ろうとしているアプリを完成させる手助けになれば」という気持ちからであり、 この設定で貴方の実機上で動作するかに関しては保証致しかねます。 当方が個人的かつ試験的に作成し、正式にGoogle Playにリリースしている アプリではないので、その点はご了承下さいますようお願いします。 仮に動作しなくてもソースを良く読めば、ListViewのアダプタを使って 近所のアクセスポイントを全てリストアップして、 「リストをクリックした時」にクリックされたSSIDのアクセスポイントに 接続する処理をしているだけですので、そこを「ボタンを押した時」に 置き換えればいいので理解出来ると思います。
kumakumatan

2017/09/04 03:00

いろいろとご教授、ありがとうございます。 sdkのバージョンを「25」に上げたら、エラーはでなくなりましたが 実機転送(build)をしようとしたら、下記のメッセージが表示されて しまい、動作確認できない状態です。 お時間のある時に教えていただければと思います。 =========================エラーメッセージ================================================= App.java エラー :(7, 8) エラー: クラス Appは同名のパッケージと競合します App\R.java エラー :(8, 1) エラー: パッケージorg.xxx.Appは同名のクラスと競合しています App\BuildConfig.java エラー :(4, 1) エラー: パッケージorg.xxx.Appは同名のクラスと競合しています MainActivity.java エラー :(256, 29) エラー: パッケージRは存在しません エラー :(261, 25) エラー: パッケージRは存在しません エラー :(271, 43) エラー: パッケージRは存在しません エラー :(277, 92) エラー: パッケージRは存在しません エラー :(389, 84) エラー: パッケージRは存在しません エラー :(392, 84) エラー: パッケージRは存在しません エラー :(395, 84) エラー: パッケージRは存在しません エラー :(398, 84) エラー: パッケージRは存在しません エラー :(405, 87) エラー: パッケージRは存在しません エラー :(409, 87) エラー: パッケージRは存在しません エラー :(428, 29) エラー: パッケージRは存在しません エラー :(552, 52) エラー: パッケージRは存在しません エラー :(561, 73) エラー: パッケージRは存在しません MyCustomListAdapter.java エラー :(48, 54) エラー: パッケージRは存在しません エラー :(53, 56) エラー: パッケージRは存在しません エラー :(57, 57) エラー: パッケージRは存在しません エラー :(62, 60) エラー: パッケージRは存在しません エラー :(66, 61) エラー: パッケージRは存在しません SubActivity.java エラー :(14, 25) エラー: パッケージRは存在しません エラー :Execution failed for task ':app:compileDebugJavaWithJavac'. > Compilation failed; see the compiler error output for details.
kumakumatan

2017/09/26 00:48

とりあえず、アプリのインストールはできたのですが、 「問題が発生したため、wifi接続アプリを終了します。」 と表示されてしまいます。。 どこが問題になっているかご教授いただければ幸いです。 宜しくお願いします。
rafiene3249

2017/09/26 04:40 編集

先のコメント以上の対応をするつもりはなかったのですが、とりあえず一言言いたい。 貴方が何をどうやってそこに辿り着いたのか経緯が判らないのに 「アプリが落ちます、何が悪いんでしょう?」で分かったら神。 一応アドバイスするなら、「動こうとしているが落ちる」なら、 どこかの変数がヌルポにでもなっていてそれを参照しているか、 何かしらのエラーをcatchしていないのが原因なので、 デバッグモードで起動して MainActivity.java の onCreate() の DisplayWifiInfo() で何かが起きている可能性が高いので DisplayWifiInfo() の manager = (WifiManager) App.getContext().getApplicationContext().getSystemService(WIFI_SERVICE); の行の頭の所に赤丸付けてデバッグモードで起動。 赤丸付けた位置で実行が一旦止まるので、F8キーでステップを一行ずつ実行して落ちる箇所を特定。 特定出来たらその行に赤丸付けて再度そこまで実行して、 その行で行っている処理におかしな点(例えば何かしらのクラスを変数に キャストしているのであればその変数がヌルだとか)がないかチェック。 そういうのでないのであれば、とりあえずその処理を try { その処理 } catch (NullPointerException e) { Log.d("デバッグ", e.getMessage() ); } してeの内容を見るしか無いでしょうね。
kumakumatan

2017/09/26 05:19

大変申し訳ございませんでした。 エラーがなくなった経緯をご説明させていただきます。 エラー:org.xxx.Appは同名のクラスと競合しています の対応は、 AndroidManifest.xmlで定義されているpackageを変更したら解消しました。 例「package="com.App"」→「package="com.App2"」 エラー:MainActivity.java エラー :(256, 29) エラー: パッケージRは存在しません の対応はAndroidStudioにて 「?com.App2.R? Alt+Enter」と表示されたので「Alt+Enter」を押すと エラーは消えました。 その後、実機転送をすると、 「ビルドまでは上手く行ったのですが、 アプリが起動されてすぐ、「問題が発生したため、wifi接続状況を終了します。」 と表示されて画面が閉じられてしまいます。」 「Android Monitor」でのログ では、 09-26 10:40:13.990 12811-12811/org.test.myapplication.App2 E/AndroidRuntime: FATAL EXCEPTION: main Process: org.test.myapplication.App2, PID: 12811 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.test.myapplication.App2/org.test.myapplication.App2.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "org.test.myapplication.App2.MainActivity" on path: DexPathList[[zip file "/data/app/org.test.myapplication.App2-2/base.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_dependencies_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_0_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_1_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_2_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_3_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_4_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_5_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_6_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_7_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_8_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2310) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2464) at android.app.ActivityThread.access$1000(ActivityThread.java:161) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1371) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5438) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:917) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:712) Caused by: java.lang.ClassNotFoundException: Didn't find class "org.test.myapplication.App2.MainActivity" on path: DexPathList[[zip file "/data/app/org.test.myapplication.App2-2/base.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_dependencies_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_0_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_1_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_2_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_3_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_4_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_5_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_6_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_7_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_8_apk.apk", zip file "/data/app/org.test.myapplication.App2-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at android.app.Instrumentation.newActivity(Instrumentation.java:1065) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2300) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2464)? at android.app.ActivityThread.access$1000(ActivityThread.java:161)? at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1371)? at android.os.Handler.dispatchMessage(Handler.java:102)? at android.os.Looper.loop(Looper.java:135)? at android.app.ActivityThread.main(ActivityThread.java:5438)? at java.lang.reflect.Method.invoke(Native Method)? at java.lang.reflect.Method.invoke(Method.java:372)? at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:917)? at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:712)? Suppressed: java.lang.ClassNotFoundException: org.test.myapplication.App2.MainActivity at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 13 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available と表示されております。 「AndroidStudioの機能を使わずにActivityを追加した場合は マニフェストファイルを手動で変更しないといけない」との情報があったので、 それを試そうとしたのですが、どのようにしたら良いかがわからない状態です。 宜しくお願いします。
kumakumatan

2017/09/26 05:23

「AndroidManifest.xml」では 「<activity android:name="MainActivity">」の「MainActivity」は赤く表示されてしまっています・・。 ここが怪しいと思うのですが、どのようにしたら良いかわからない状態です。 宜しくお願いします。
abs123

2017/09/26 06:22

横から失礼します サンプルコードを動かすことに躍起になっているように見えますが、 肝心のコード自体は読んでみましたか? 読んでみて何をやっているのか理解できるのであれば、 自分のコードを修正してみて、自分のコードを動かしてしまえば良いと思いませんか? また私がこのような状態に遭遇した場合、新しくプロジェクトを作って、 リソース周りとクラスの中身だけコピー、importは現状に合わせて張り直すという手段をとります。
rafiene3249

2017/09/27 01:04

私も他の方のコードを取り込む場合は、abs123さんの指摘と同じ手段を取ります。 ComponentInfo{org.test.myapplication.App2/org.test.myapplication.App2.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "org.test.myapplication.App2.MainActivity" 「App2にMainActivityなんてクラスは無い」ってエラーなんだけど、 kumakumatan氏がどういった立場の方かは分かりませんが、 文章を見る限り最低でも中学生以上なのは類推出来ます。 正直言って簡単な英語を読めない(又は全く読む気が無い)なら諦めた方が身の為かと思います。 それと、これ以上回答する気はもはやありません、これにて失礼致します。 この一連の質問をご覧になっている方々、お目汚し失礼致しました。
kumakumatan

2017/09/27 07:22

何度も申し訳ございませんでした。 良く見ると、プロジェクト名を「org.test.myapplication.App2」に指定しておりましたので、 エラーになったと思います。実際のディレクトリ構造から「org.test.myapplication」がプロジェクト名 なので、「.App2」をカットすると事で解決しました。 いただいたサンプルコードを基にこれから勉強していきたいと思います。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問