質問編集履歴

11

こーど

2020/07/17 00:10

投稿

snowdropAPP
snowdropAPP

スコア41

test CHANGED
File without changes
test CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
 
4
4
 
5
- 例えばSplit,以外を区切る
5
+ 現状今現在コードがないの後でのせますと言っていたので成功したコード貼り付けておきます。
6
6
 
7
- 現状今現在コードがないの後でのせ
7
+ これ普通に動きした。
8
8
 
9
9
  ```C#
10
10
 

10

コード掲載

2020/07/17 00:10

投稿

snowdropAPP
snowdropAPP

スコア41

test CHANGED
File without changes
test CHANGED
@@ -5,3 +5,79 @@
5
5
  例えばSplitで,以外を区切る
6
6
 
7
7
  現状今現在コードがないので後でのせます
8
+
9
+ ```C#
10
+
11
+
12
+
13
+ private void btnRead_Click(object sender, EventArgs e)
14
+
15
+ {
16
+
17
+ //dataGridView1.Columns.Clear();
18
+
19
+ dataGridView1.Rows.Clear();
20
+
21
+
22
+
23
+ ofd.Filter = "| *.csv";
24
+
25
+ DialogResult dr = ofd.ShowDialog();
26
+
27
+ if (dr == System.Windows.Forms.DialogResult.OK)
28
+
29
+
30
+
31
+ {
32
+
33
+ try {
34
+
35
+
36
+
37
+
38
+
39
+ string str = ofd.FileName;
40
+
41
+ StreamReader Sr = new StreamReader(str);
42
+
43
+ Sr.ReadLine();
44
+
45
+ for (int i = 0; Sr.Peek() >= 0; i++)
46
+
47
+ {
48
+
49
+
50
+
51
+ string strText = Sr.ReadLine();
52
+
53
+ string[] strArray = strText.Split(':');
54
+
55
+ dataGridView1.Rows.Add(strArray[0], strArray[1], strArray[2], strArray[3], strArray[4], strArray[5], strArray[6], strArray[7], strArray[8], strArray[9], strArray[10]);
56
+
57
+
58
+
59
+ }
60
+
61
+
62
+
63
+ Sr.Close();
64
+
65
+ }
66
+
67
+
68
+
69
+ catch (Exception err)
70
+
71
+ {
72
+
73
+ MessageBox.Show(err.Message + "エラー");
74
+
75
+
76
+
77
+ }
78
+
79
+ }
80
+
81
+ }
82
+
83
+ ```

9

2020/07/17 00:08

投稿

snowdropAPP
snowdropAPP

スコア41

test CHANGED
File without changes
test CHANGED
File without changes

8

2020/07/16 11:58

投稿

snowdropAPP
snowdropAPP

スコア41

test CHANGED
@@ -1 +1 @@
1
- AndroidStudioでJoyStick座標をPC送りた
1
+ C♯ツールのデータグリッドビュー
test CHANGED
@@ -1,285 +1,7 @@
1
- ### 前提・実現したいこと
2
-
3
- とあるサイトでJoyStick作成して、座標を取得するアプリを見つけ外部ラブラリとしてンドロイドスタジオで読み込んで必要部分訂正を加え実行ました。
1
+ データグリッドビュー使用するにあたっファルオープンダイアログでファルを開いてCSVを読み込みたいと思っていたんですがカンマで区切っていいようなもももCSVとし認識するのでょうか?
4
-
5
- そしてもう一つアンドロイドのエミュレーターとPCでソケット通信を行いチャットを行うようなアプリを作成しました。
6
-
7
- この二つをどうにかしてうまくマージしてPCに対して座標の位置などを送信してPC側で表示したいと思っています。
8
-
9
- どこが間違っているのか教えていただけると幸いです。
10
-
11
- 当方かなりの初心者でまだ本を見ながら書き写すのが精いっぱいでC#、JAVAを少し学んでいたのですが少々変数の宣言などがわかる程度です。
12
-
13
- サイトURL https://github.com/zerokol/JoystickView
14
-
15
- ### 発生している問題・エラーメッセージ
16
2
 
17
3
 
18
4
 
19
- 二つのコードとりあえず一つにまとめました。
5
+ 例えばSplitで,以外区切る
20
6
 
21
- まだマニフェストファイルなどはいじっておりませんが、JoyStickのほうだけが反映されてソケット通信のほうは表示されません。
22
-
23
- ### 該当のソースコード
24
-
25
-
26
-
27
- ```Java
28
-
29
- package com.example.myapplication;
30
-
31
- import android.graphics.Color;
32
-
33
- import android.os.Bundle;
34
-
35
- import android.os.Handler;
36
-
37
- import android.view.View;
38
-
39
- import android.view.ViewGroup;
40
-
41
- import android.view.Window;
42
-
43
- import android.widget.Button;
44
-
45
- import android.widget.EditText;
46
-
47
- import android.widget.LinearLayout;
48
-
49
- import android.widget.TextView;
50
-
51
- import java.io.InputStream;
52
-
53
- import java.io.OutputStream;
54
-
55
- import java.io.PrintWriter;
56
-
57
- import java.net.InetSocketAddress;
58
-
59
- import java.net.Socket;
60
-
61
- import com.zerokol.views.joystickView.JoystickView;
62
-
63
- import com.zerokol.views.joystickView.JoystickView.OnJoystickMoveListener;
64
-
65
- import android.app.Activity;
66
-
67
- import java.io.IOException;
68
-
69
- import android.os.Bundle;
70
-
71
- import android.widget.TextView;
72
-
73
- import android.widget.Toast;
74
-
75
-
76
-
77
- public class MainActivity extends Activity {
78
-
79
- private TextView angleTextView;
80
-
81
- private TextView powerTextView;
82
-
83
- private TextView directionTextView;
84
-
85
- // Importing also other views
86
-
87
- private JoystickView joystick;
88
-
89
- private final static int WC = ViewGroup.LayoutParams.WRAP_CONTENT;
90
-
91
- private final static int MP = ViewGroup.LayoutParams.MATCH_PARENT;
92
-
93
- private final static String IP = "000000000";
94
-
95
- private Socket socket;
96
-
97
- private InputStream in;
98
-
99
- private OutputStream out;
100
-
101
- private boolean error;
102
-
103
-
104
-
105
-
106
-
107
-
108
-
109
- /** Called when the activity is first created. */
110
-
111
- @Override
112
-
113
-
114
-
115
- public void onCreate(Bundle savedInstanceState) {
116
-
117
- super.onCreate(savedInstanceState);
118
-
119
- setContentView(R.layout.activity_main);
120
-
121
-
122
-
123
- angleTextView = (TextView) findViewById(R.id.angleTextView);
124
-
125
- powerTextView = (TextView) findViewById(R.id.powerTextView);
126
-
127
- directionTextView = (TextView) findViewById(R.id.directionTextView);
128
-
129
- //Referencing also other views
130
-
131
- joystick = (JoystickView) findViewById(R.id.joystickView);
132
-
133
-
134
-
135
- new Thread (new Runnable() {
136
-
137
- public void run() {
7
+ 現状今現在コードがないので後でのせます
138
-
139
- String ip = "000000000000";
140
-
141
- int port = 0000;
142
-
143
- InetSocketAddress address = new InetSocketAddress(ip, port);
144
-
145
- Socket socket = new Socket();
146
-
147
- try {
148
-
149
- socket.connect(address, 3000);
150
-
151
- PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);
152
-
153
- pw.println("Hello!");
154
-
155
-
156
-
157
- } catch (Exception e) {
158
-
159
- MainActivity.this.runOnUiThread(new Runnable() {
160
-
161
- @Override
162
-
163
- public void run () {
164
-
165
- Toast.makeText(MainActivity.this, "接続に失敗しました。", Toast.LENGTH_LONG).show();
166
-
167
- }
168
-
169
- });
170
-
171
- }
172
-
173
- }
174
-
175
- }).start();
176
-
177
- //Event listener that always returns the variation of the angle in degrees, motion power in percentage and direction of movement
178
-
179
- joystick.setOnJoystickMoveListener(new OnJoystickMoveListener() {
180
-
181
-
182
-
183
-
184
-
185
- @Override
186
-
187
- public void onValueChanged(int angle, int power, int direction) {
188
-
189
- // TODO Auto-generated method stub
190
-
191
- angleTextView.setText(" " + String.valueOf(angle) + "°");
192
-
193
- powerTextView.setText(" " + String.valueOf(power) + "%");
194
-
195
- switch (direction) {
196
-
197
- case JoystickView.FRONT:
198
-
199
- directionTextView.setText(R.string.front_lab);
200
-
201
-
202
-
203
- break;
204
-
205
- case JoystickView.FRONT_RIGHT:
206
-
207
- directionTextView.setText(R.string.front_right_lab);
208
-
209
- break;
210
-
211
- case JoystickView.RIGHT:
212
-
213
- directionTextView.setText(R.string.right_lab);
214
-
215
- break;
216
-
217
- case JoystickView.RIGHT_BOTTOM:
218
-
219
- directionTextView.setText(R.string.right_bottom_lab);
220
-
221
- break;
222
-
223
- case JoystickView.BOTTOM:
224
-
225
- directionTextView.setText(R.string.bottom_lab);
226
-
227
- break;
228
-
229
- case JoystickView.BOTTOM_LEFT:
230
-
231
- directionTextView.setText(R.string.bottom_left_lab);
232
-
233
- break;
234
-
235
- case JoystickView.LEFT:
236
-
237
- directionTextView.setText(R.string.left_lab);
238
-
239
- break;
240
-
241
- case JoystickView.LEFT_FRONT:
242
-
243
- directionTextView.setText(R.string.left_front_lab);
244
-
245
- break;
246
-
247
- default:
248
-
249
- directionTextView.setText(R.string.center_lab);
250
-
251
- }
252
-
253
- }
254
-
255
- }, JoystickView.DEFAULT_LOOP_INTERVAL);
256
-
257
- }
258
-
259
- }
260
-
261
- ```
262
-
263
-
264
-
265
- ### 試したこと
266
-
267
- 現状何をしたらいいかわからないのでモジュールとしてソケット通信をインポートして依存関係をいじってみたのですが、うまくいかず仕方がないのでコードをマージさせようと思った次第です。
268
-
269
-
270
-
271
- ### 補足情報(FW/ツールのバージョンなど)
272
-
273
- AVD pixel3a API30
274
-
275
- 答えだけでなくヒントのようなものであるとありがたいです。
276
-
277
- もちろんヒントだけでは解決できるかわかりませんのでもしかしたらコメントにて質問等してしまうかもしれませんがお許しください。
278
-
279
-
280
-
281
- ### 追記
282
-
283
-
284
-
285
- コードを更新しまして現在サーバー側で確認できましたのはsocketの通信ができていてHELLOWの文字がコンソールに出るようになりました。

7

dd

2020/07/16 10:43

投稿

snowdropAPP
snowdropAPP

スコア41

test CHANGED
File without changes
test CHANGED
@@ -90,7 +90,7 @@
90
90
 
91
91
  private final static int MP = ViewGroup.LayoutParams.MATCH_PARENT;
92
92
 
93
- private final static String IP = "192.168.100.211";
93
+ private final static String IP = "000000000";
94
94
 
95
95
  private Socket socket;
96
96
 

6

dd

2020/07/16 02:28

投稿

snowdropAPP
snowdropAPP

スコア41

test CHANGED
File without changes
test CHANGED
@@ -136,9 +136,9 @@
136
136
 
137
137
  public void run() {
138
138
 
139
- String ip = "192.168.100.211";
139
+ String ip = "000000000000";
140
-
140
+
141
- int port = 8081;
141
+ int port = 0000;
142
142
 
143
143
  InetSocketAddress address = new InetSocketAddress(ip, port);
144
144
 

5

更新

2020/07/16 02:28

投稿

snowdropAPP
snowdropAPP

スコア41

test CHANGED
File without changes
test CHANGED
@@ -275,3 +275,11 @@
275
275
  答えだけでなくヒントのようなものであるとありがたいです。
276
276
 
277
277
  もちろんヒントだけでは解決できるかわかりませんのでもしかしたらコメントにて質問等してしまうかもしれませんがお許しください。
278
+
279
+
280
+
281
+ ### 追記
282
+
283
+
284
+
285
+ コードを更新しまして現在サーバー側で確認できましたのはsocketの通信ができていてHELLOWの文字がコンソールに出るようになりました。

4

変更した

2020/07/16 02:27

投稿

snowdropAPP
snowdropAPP

スコア41

test CHANGED
File without changes
test CHANGED
@@ -52,6 +52,10 @@
52
52
 
53
53
  import java.io.OutputStream;
54
54
 
55
+ import java.io.PrintWriter;
56
+
57
+ import java.net.InetSocketAddress;
58
+
55
59
  import java.net.Socket;
56
60
 
57
61
  import com.zerokol.views.joystickView.JoystickView;
@@ -66,6 +70,8 @@
66
70
 
67
71
  import android.widget.TextView;
68
72
 
73
+ import android.widget.Toast;
74
+
69
75
 
70
76
 
71
77
  public class MainActivity extends Activity {
@@ -80,12 +86,32 @@
80
86
 
81
87
  private JoystickView joystick;
82
88
 
89
+ private final static int WC = ViewGroup.LayoutParams.WRAP_CONTENT;
90
+
91
+ private final static int MP = ViewGroup.LayoutParams.MATCH_PARENT;
92
+
93
+ private final static String IP = "192.168.100.211";
94
+
95
+ private Socket socket;
96
+
97
+ private InputStream in;
98
+
99
+ private OutputStream out;
100
+
101
+ private boolean error;
102
+
103
+
104
+
105
+
106
+
83
107
 
84
108
 
85
109
  /** Called when the activity is first created. */
86
110
 
87
111
  @Override
88
112
 
113
+
114
+
89
115
  public void onCreate(Bundle savedInstanceState) {
90
116
 
91
117
  super.onCreate(savedInstanceState);
@@ -106,12 +132,56 @@
106
132
 
107
133
 
108
134
 
135
+ new Thread (new Runnable() {
136
+
137
+ public void run() {
138
+
139
+ String ip = "192.168.100.211";
140
+
141
+ int port = 8081;
142
+
143
+ InetSocketAddress address = new InetSocketAddress(ip, port);
144
+
145
+ Socket socket = new Socket();
146
+
147
+ try {
148
+
149
+ socket.connect(address, 3000);
150
+
151
+ PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);
152
+
153
+ pw.println("Hello!");
154
+
155
+
156
+
157
+ } catch (Exception e) {
158
+
159
+ MainActivity.this.runOnUiThread(new Runnable() {
160
+
161
+ @Override
162
+
163
+ public void run () {
164
+
165
+ Toast.makeText(MainActivity.this, "接続に失敗しました。", Toast.LENGTH_LONG).show();
166
+
167
+ }
168
+
169
+ });
170
+
171
+ }
172
+
173
+ }
174
+
175
+ }).start();
176
+
109
177
  //Event listener that always returns the variation of the angle in degrees, motion power in percentage and direction of movement
110
178
 
111
179
  joystick.setOnJoystickMoveListener(new OnJoystickMoveListener() {
112
180
 
113
181
 
114
182
 
183
+
184
+
115
185
  @Override
116
186
 
117
187
  public void onValueChanged(int angle, int power, int direction) {
@@ -128,6 +198,8 @@
128
198
 
129
199
  directionTextView.setText(R.string.front_lab);
130
200
 
201
+
202
+
131
203
  break;
132
204
 
133
205
  case JoystickView.FRONT_RIGHT:
@@ -186,296 +258,6 @@
186
258
 
187
259
  }
188
260
 
189
-
190
-
191
- class SocketEX extends MainActivity implements View.OnClickListener{
192
-
193
- private final static String BR = System.getProperty("line.separater");
194
-
195
- private final static int WC = ViewGroup.LayoutParams.WRAP_CONTENT;
196
-
197
- private final static int MP = ViewGroup.LayoutParams.MATCH_PARENT;
198
-
199
- private final static String IP = "192.168.100.211";
200
-
201
- private TextView lblReceive;
202
-
203
- private EditText edtSend;
204
-
205
- private Button btnSend;
206
-
207
-
208
-
209
- private Socket socket;
210
-
211
- private InputStream in;
212
-
213
- private OutputStream out;
214
-
215
- private boolean error;
216
-
217
-
218
-
219
- private final Handler handler = new Handler();
220
-
221
-
222
-
223
- //アクティビティ開始時に呼ばれる
224
-
225
- @Override
226
-
227
- public void onCreate(Bundle bundle){
228
-
229
- super.onCreate(bundle);
230
-
231
- requestWindowFeature(Window.FEATURE_NO_TITLE);
232
-
233
-
234
-
235
- //レイアウトの生成
236
-
237
- LinearLayout layout = new LinearLayout(this);
238
-
239
- layout.setBackgroundColor(Color.WHITE);
240
-
241
- layout.setOrientation(LinearLayout.VERTICAL);
242
-
243
- setContentView(layout);
244
-
245
-
246
-
247
- //送信エディットのテキスト生成
248
-
249
- edtSend = new EditText(this);
250
-
251
- edtSend.setText("");
252
-
253
- edtSend.setLayoutParams(new LinearLayout.LayoutParams(MP,WC));
254
-
255
- layout.addView(layout);
256
-
257
-
258
-
259
- //送信ボタン生成
260
-
261
- btnSend = new Button(this);
262
-
263
- btnSend.setText("送信");
264
-
265
- btnSend.setOnClickListener(this);
266
-
267
- btnSend.setLayoutParams(new LinearLayout.LayoutParams(WC,WC));
268
-
269
- layout.addView(btnSend);
270
-
271
-
272
-
273
- //受信ラベルの生成
274
-
275
- lblReceive = new Button(this);
276
-
277
- lblReceive.setText("");
278
-
279
- lblReceive.setTextSize(16,0f);
280
-
281
- lblReceive.setTextColor(Color.BLACK);
282
-
283
- lblReceive.setLayoutParams(new LinearLayout.LayoutParams(MP,WC));
284
-
285
- layout.addView(lblReceive);
286
-
287
- }
288
-
289
- //アクティビティ開始時に呼ばれる
290
-
291
- @Override
292
-
293
- public void onStart(){
294
-
295
- super.onStart();
296
-
297
- //スレッドの生成
298
-
299
- Thread thread = new Thread(){
300
-
301
- public void run(){
302
-
303
- try {
304
-
305
- connect(IP, 8081);
306
-
307
- }catch (Exception e){
308
-
309
- }
310
-
311
- }
312
-
313
- };
314
-
315
- thread.start();
316
-
317
- }
318
-
319
- @Override
320
-
321
- public void onStop(){
322
-
323
- super.onStop();
324
-
325
- disconnect();
326
-
327
- }
328
-
329
- //受信テキストの追加
330
-
331
- private void addText(final String text){
332
-
333
- //ハンドラの生成
334
-
335
- handler.post(new Runnable() {
336
-
337
- @Override
338
-
339
- public void run() {
340
-
341
- lblReceive.setText(text+BR+lblReceive.getText());
342
-
343
- }
344
-
345
- });
346
-
347
- }
348
-
349
- //接続
350
-
351
- private void connect (String ip,int port){
352
-
353
- int size;
354
-
355
- String str;
356
-
357
- byte[] w = new byte[1024];
358
-
359
- try{
360
-
361
- //ソケット通信
362
-
363
- addText("接続中");
364
-
365
- socket = new Socket(ip,port);
366
-
367
- in = socket.getInputStream();
368
-
369
- out = socket.getOutputStream();
370
-
371
- addText("接続完了");
372
-
373
- //受信ループ
374
-
375
- while(socket != null && socket.isConnected()) {
376
-
377
- //データの受信
378
-
379
- size = in.read(w);
380
-
381
- if (size <= 0) continue;
382
-
383
- str = new String(w, 0, size, "UTF-8");
384
-
385
- //ラベルの文字列の追加
386
-
387
- addText(str);
388
-
389
- }
390
-
391
-
392
-
393
- }catch (Exception e){
394
-
395
- addText("通信に失敗しました");
396
-
397
- }
398
-
399
- }
400
-
401
- //切断
402
-
403
- private void disconnect(){
404
-
405
- try {
406
-
407
- socket.close();
408
-
409
- socket = null;
410
-
411
- }catch (Exception e){
412
-
413
- }
414
-
415
- }
416
-
417
- //ボタンクリックイベントの処理
418
-
419
- public void onClick (View v){
420
-
421
- //スレッドの生成
422
-
423
- Thread thread = new Thread(new Runnable(){
424
-
425
- public void run() {
426
-
427
- error = false;
428
-
429
- try {
430
-
431
- //データの送信
432
-
433
- if (socket != null && socket.isConnected()) {
434
-
435
- byte[] w = edtSend.getText().toString().getBytes("UTF-8");
436
-
437
- out.write(w);
438
-
439
- out.flush();
440
-
441
-
442
-
443
- }
444
-
445
- } catch (Exception e) {
446
-
447
- error = true;
448
-
449
- }
450
-
451
- //ハンドラの生成
452
-
453
- handler.post(new Runnable() {
454
-
455
- public void run() {
456
-
457
- if (!error) {
458
-
459
- edtSend.setText("");
460
-
461
- } else {
462
-
463
- addText("通信失敗しました");
464
-
465
- }
466
-
467
- }
468
-
469
- });
470
-
471
- }});
472
-
473
- thread.start();
474
-
475
- }
476
-
477
- }
478
-
479
261
  ```
480
262
 
481
263
 

3

返信

2020/07/16 02:24

投稿

snowdropAPP
snowdropAPP

スコア41

test CHANGED
@@ -1 +1 @@
1
- AndroidStudioでJoyStickの座標をPCに送
1
+ AndroidStudioでJoyStickの座標をPCに送りたい
test CHANGED
File without changes

2

誤字

2020/07/15 02:59

投稿

snowdropAPP
snowdropAPP

スコア41

test CHANGED
File without changes
test CHANGED
@@ -1,14 +1,14 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- とあるサイトでJoyStickを作成して、座標を取得するアプリを見つけて外部ライブラリとしてアンドロイドスタジオで読み込んで必要な部分の訂正を加えて実行しました。
3
+ とあるサイトでJoyStickを作成して、座標を取得するアプリを見つけて外部ライブラリとしてアンドロイドスタジオで読み込んで必要な部分の訂正を加えて実行しました。
4
-
4
+
5
- そしてアンドロイドのエミュレーターとPCでソケット通信を行いチャットを行うようなアプリを作成しました。
5
+ そしてもう一つアンドロイドのエミュレーターとPCでソケット通信を行いチャットを行うようなアプリを作成しました。
6
6
 
7
7
  この二つをどうにかしてうまくマージしてPCに対して座標の位置などを送信してPC側で表示したいと思っています。
8
8
 
9
9
  どこが間違っているのか教えていただけると幸いです。
10
10
 
11
- 当方かなりの初心者でまだ本を見ながら書き写すのが精いっぱいでほかの言語としてはC#、JAVAを少し学んでいたため少々変数の宣言などがわかる程度です。
11
+ 当方かなりの初心者でまだ本を見ながら書き写すのが精いっぱいでC#、JAVAを少し学んでいたのですが少々変数の宣言などがわかる程度です。
12
12
 
13
13
  サイトURL https://github.com/zerokol/JoystickView
14
14
 

1

タイトルのミス

2020/07/15 00:28

投稿

snowdropAPP
snowdropAPP

スコア41

test CHANGED
@@ -1 +1 @@
1
- androidJoyStickでリモコン作成したい
1
+ AndroidStudioでJoyStickの座標PCに送る
test CHANGED
File without changes