0

そのため、これをタイトルに入れる方法がわかりませんでしたが、私がやろうとしてきたことは、アプリケーションを開いて、YouTube と言って、自動的に検索を入力することです (以前に与えられた)。これが説明を簡単にする私のコードです。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Get the URL and search from the intent
    Intent intent = getIntent();
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

    // Open browser and auto search in searchbar
    if (!message.startsWith("http://") && !message.startsWith("https://"))
    message = "http://" + message + ".com";
    Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(message));
    startActivity(browserIntent);
}

だから私がやりたかったのはYouTubeを開くことでした(これはうまくいきます)が、検索に入力された次の単語(スペースで分割)を使用して、YouTubeの検索バーに入力したいと考えています。

  1. 入力内容: ユーチューブの面白い動画

  2. 2 番目のアクティビティにメッセージを配信します。URL「Youtube」を開きます (これまでのところ正常に動作しています)。

  3. アクティビティは、「Youtube」の後のメッセージの他の部分 (スペースで分割) を認識し、これらを YouTube の検索バーに入れます。

これどうやってするの?

4

1 に答える 1

1

私が理解していることから、あなたがしたいことは、文字列"youtube cat videos"部分から抽出したいことです"youtube""cat videos". 次のコードはそれを行います。

String message = "youtube cat videos";
// Remove leading and trailing whitespaces.
message = message.trim();  
// Set limit to one so only the first  space is used to split.
String[] parts = message.split(" ", 2);  
// Check if domain and query are set.
if (parts.length < 2) {
    // Invalid.
}
String domain = parts[0];  
String query = parts[1];  
// Check if we have a valid domain name.
if (domain.matches("[a-zA-Z][a-zA-Z0-9]+")) {
    // Do stuff.
}

無効なクエリを除外するための trim() および matches() 関数を忘れないでください。

于 2012-11-19T22:46:15.233 に答える