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

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

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

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

Android Studio

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

Q&A

解決済

1回答

618閲覧

android studio javaプログラムに関して

tamuko

総合スコア5

Java

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

Android Studio

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

0グッド

0クリップ

投稿2019/09/02 14:44

編集2019/09/04 03:34

初めて質問させていただきます。よろしくお願いいたします。

高校・大学と情報系の分野を学び、現在、会社でandroid studioを用いて、撮影した画像をサーバーに格納して、物品の紛失防止の改善を行おうとしています。

調べながらやった結果、ニフクラmobile backendを利用すると導入がやりやすそうだったので、サンプルプログラムを利用して、撮影した写真をサーバーに格納するというアプリは実現できました。

しかしながら、その日使用した物品番号と、使用者名を写真のファイル名につけられないと、誰がどの物品を使用したのかが分かりません。

そのため、アプリ画面に番号と名前を入力するEditTextを配置し、あとはMainActivityを編集していくだけかと思ったのですが、調べながらやってもなかなかうまくいきません...

テキストボックスに入力された文字列を取得するには「getText」メソッドを使用するそうなのですが、知識不足で上手くプログラムが組めません。

EditTextで入力した数字・文字列を読み取り、今「test.png」に名前が固定されているファイル名を変更できるようにするプログラムの組み方を教えていただきたいです。

以下、ソースコードです。よろしくお願いします。

/MainActivity.java/ package mbaas.com.nifcloud.ncmbcameraquickstart; import 中略... public class MainActivity extends AppCompatActivity { Button b1; ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //**************** APIキーの設定とSDKの初期化 ********************** NCMB.initialize(this.getApplicationContext(),ここにキーが入る); setContentView(R.layout.activity_main); b1 = (Button) findViewById(R.id.button); iv = (ImageView) findViewById(R.id.imageView); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 0); } }); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (data == null || data.getExtras() == null) { return; } else { Bitmap bp = (Bitmap) data.getExtras().get("data"); //******* NCMB file upload ******* ByteArrayOutputStream byteArrayStream = new ByteArrayOutputStream(); bp.compress(Bitmap.CompressFormat.PNG, 0, byteArrayStream); byte[] dataByte = byteArrayStream.toByteArray(); //ACL 読み込み:可 , 書き込み:可 NCMBAcl acl = new NCMBAcl(); acl.setPublicReadAccess(true); acl.setPublicWriteAccess(true); //通信実施 final NCMBFile file; try { file = new NCMBFile("test.png", dataByte, acl); file.saveInBackground(new DoneCallback() { @Override public void done(NCMBException e) { String result; if (e != null) { //保存失敗 new AlertDialog.Builder(MainActivity.this) .setTitle("転送確認") .setMessage("Error:" + e.getMessage()) .setPositiveButton("OK", null) .show(); } else { //******* NCMB file download ******* NCMBFile file = null; try { file = new NCMBFile("test.png"); file.fetchInBackground(new FetchFileCallback() { @Override public void done(byte[] dataFetch, NCMBException er) { if (er != null) { //失敗処理 new AlertDialog.Builder(MainActivity.this) .setTitle("転送確認") .setMessage("Error:" + er.getMessage()) .setPositiveButton("OK", null) .show(); } else { //成功処理 new AlertDialog.Builder(MainActivity.this) .setTitle("転送確認") .setMessage("写真の転送に成功しました") .setPositiveButton("OK", null) .show(); Bitmap bMap = BitmapFactory.decodeByteArray(dataFetch, 0, dataFetch.length); iv.setImageBitmap(bMap); } } }); } catch (NCMBException e1) { e1.printStackTrace(); } } } }); } catch (NCMBException e) { e.printStackTrace(); } } } @Override protected void onDestroy() { super.onDestroy(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, 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(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } } /activity_main.xml/ 中略... <EditText android:id="@+id/editText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView2" android:layout_alignParentStart="true" android:layout_alignParentLeft="true" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_marginStart="59dp" android:layout_marginLeft="5dp" android:layout_marginTop="5dp" android:layout_marginEnd="123dp" android:layout_marginRight="5dp" android:ems="10" android:inputType="number" android:text="@string/text_number" android:textSize="18sp" /> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView3" android:layout_alignParentStart="true" android:layout_alignParentLeft="true" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_marginStart="108dp" android:layout_marginLeft="5dp" android:layout_marginTop="5dp" android:layout_marginEnd="106dp" android:layout_marginRight="5dp" android:ems="10" android:inputType="textPersonName" android:text="@string/text_name" /> </RelativeLayout> /strings.xml/ <resources> <string name="app_name">キット写真点検</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> <string name="textView">撮影写真</string> <string name="Camera_button">撮影</string> <string name="kit_number">キット番号を入力してください</string> <string name="text_number" /> <string name="kit_name">使用者の名前を入力してください</string> <string name="text_name" /> </resources>

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

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

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

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

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

keicha_hrs

2019/09/02 14:53

TextViewに情報を入力することはできないでしょう。情報入力したいのならば、用いるべきはEditTextではないのですか?
tamuko

2019/09/03 13:53

そうですね、EditTextの間違いでした、修正しました。よろしくお願いします。
guest

回答1

0

ベストアンサー

示されたコードを参考にするのは難しいのですが、EditTextに入力した文字列を取得する基本的な使い方は下記サイトが参考にならないでしょうか。

[Android] スマホにEditTextを使って文字を入力する | nyan のアプリ開発

投稿2019/09/04 11:57

keicha_hrs

総合スコア6768

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

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

tamuko

2019/09/05 03:53

ありがとうございます!参考にしてプログラムし直したところ、うまくいきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問