私はJAVAもアプリ開発も初心者です。
私がやりたい事は、Androidで下記のURLに行くと機種検索のテキストボックスと検索ボタンがありますが、自動でこのテキストボックスに検索キーワード入力し、その後にこのボタンの押下まで行いたいのです。
なお、検索キーワードの取得及び、下記URLへのアクセスは、WEBを参考にして
JAVAで作成済みです。
■URL http://www.p-world.co.jp/sp/machine.cgi
リンク内容
コーディングについてご教示のほど、よろしくお願いいたします。
==================================================================
作成済みのソースコードを改造したいと考えています。
※検索は、テキストからと音声入力からの2箇所あります。
import android.content.Activity import android.content.Intent; import android.net.Uri; import android.speech.RecognizerIntent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { // リクエストを識別するための変数宣言。適当な数字でよい private static final int REQUEST_CODE = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //表示ボタンであるButtonオブジェクトを取得。 Button btClick = (Button) findViewById(R.id.btClick); //リスナクラスのインスタンスを生成。 PachiListener listener = new PachiListener(); //表示ボタンにリスナを設定。 btClick.setOnClickListener(listener); } private class PachiListener implements View.OnClickListener { //定義 EditText input = (EditText) findViewById(R.id.editText1); @Override public void onClick(View view) { String inputStr = input.getText().toString(); String a = "https://777-pachinko.com/site_search?cat_name=7&seach_txt="; String b; b = a + inputStr; Uri uri = Uri.parse(b); Intent i = new Intent(Intent.ACTION_VIEW,uri); startActivity(i); } } // タッチイベントが起きたら呼ばれる関数 public boolean onTouchEvent(MotionEvent event) { // 画面から指が離れるイベントの場合のみ実行 if (event.getAction() == MotionEvent.ACTION_UP) { try { // 音声認識プロンプトを立ち上げるインテント作成 Intent intent = new Intent( RecognizerIntent.ACTION_RECOGNIZE_SPEECH); // 言語モデルをfree-form speech recognitionに設定 // web search terms用のLANGUAGE_MODEL_WEB_SEARCHにすると検索画面になる intent.putExtra( RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); // プロンプトに表示する文字を設定 intent.putExtra( RecognizerIntent.EXTRA_PROMPT, "話してください"); // インテント発行 startActivityForResult(intent, REQUEST_CODE); } catch (ActivityNotFoundException e) { // エラー表示 Toast.makeText(MainActivity.this, "ActivityNotFoundException", Toast.LENGTH_LONG).show(); } } return true; } // startActivityForResultで起動したアクティビティが終了した時に呼び出される関数 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // 音声認識結果のとき if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) { // 結果文字列リストを取得 ArrayList<String> results = data.getStringArrayListExtra( RecognizerIntent.EXTRA_RESULTS); // 取得した文字列を結合 String resultsString = ""; for (int i = 0; i < results.size(); i++) { resultsString += results.get(i); //追加 break; } //追加 String a = "https://777-pachinko.com/site_search?cat_name=7&seach_txt="; String b; b = a + resultsString; Uri uri = Uri.parse(b); Intent i = new Intent(Intent.ACTION_VIEW,uri); startActivity(i); // トーストを使って結果表示 Toast.makeText(this, resultsString, Toast.LENGTH_LONG).show(); } super.onActivityResult(requestCode, resultCode, data); } }
==================================================================
上記は、検索キーワードをURLの後ろに追加して出来るパターンのものです。
以上、よろしくお願いいたします。
あなたの回答
tips
プレビュー