在 Android Studio 中打开 link 的按钮
Button to open link in Android Studio
我是 Java 和 Kotlin 的新手,基本上也是 Android Studio 的新手。
我试图制作一个简单的应用程序,点击它会进入 link。 就像在 Android 工作室一样,一个空的 activity 和 Java 语言选择。在设计中,中间只有一个按钮,按下时 link 将打开 YouTube。简单。
我使用了网上找到的无数代码,但在代码或构建 APK 时总是有几个错误。
谁能告诉我怎么做,给我代码,也许可以放入 xml 和 main activity? 我会真的很感谢。对不起,如果我不够清楚:(
编辑:我的意思是代码,我可以从这里复制一些东西,然后粘贴到 xml 和主要的 activity,抱歉,我只是在试验,我是堆栈溢出的新手太!
我为您制作了一个示例应用程序。只需克隆存储库或下载它,导入 android studio 并构建它。
https://github.com/Farbklex/openUrlExample
我把它保持得相当简单。 activity_main.xml
文件包含布局。它使用 ConstraintLayout
来排列元素。
文本输入由来自 Material Design library 的 TextInputLayout
和 TextInputEditText
处理。那些是用来让它看起来更好一点的。
MainActivity
查找 EditText
和 Button
并用逻辑将它们连接起来。
单击按钮时,将调用 onOpenUrlButtonClicked
方法。然后它检查 EditText
的输入并尝试将其解析为 Uri。如果可以解析,它会尝试在可以处理 Uri 的设备上找到 activity。
如果无法解析 Uri 或在设备上找不到匹配项 activity,则会显示一条错误消息。
private void onOpenUrlButtonClicked() {
String inputString = urlInput.getText().toString();
Uri parsedUrl = null;
try {
parsedUrl = Uri.parse(inputString);
}catch (Exception ex){
Log.e(TAG, "Failed to parse input to a URL. Input: " + inputString);
Toast.makeText(this, "Failed to parse URL", Toast.LENGTH_LONG).show();
}
if(parsedUrl != null){
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(parsedUrl);
startActivity(intent);
}catch (ActivityNotFoundException ex){
Toast.makeText(this, "Can't open URL. Did you enter a valid URL (https://...)", Toast.LENGTH_LONG).show();
}
}
}
我是 Java 和 Kotlin 的新手,基本上也是 Android Studio 的新手。
我试图制作一个简单的应用程序,点击它会进入 link。 就像在 Android 工作室一样,一个空的 activity 和 Java 语言选择。在设计中,中间只有一个按钮,按下时 link 将打开 YouTube。简单。
我使用了网上找到的无数代码,但在代码或构建 APK 时总是有几个错误。
谁能告诉我怎么做,给我代码,也许可以放入 xml 和 main activity? 我会真的很感谢。对不起,如果我不够清楚:(
编辑:我的意思是代码,我可以从这里复制一些东西,然后粘贴到 xml 和主要的 activity,抱歉,我只是在试验,我是堆栈溢出的新手太!
我为您制作了一个示例应用程序。只需克隆存储库或下载它,导入 android studio 并构建它。
https://github.com/Farbklex/openUrlExample
我把它保持得相当简单。 activity_main.xml
文件包含布局。它使用 ConstraintLayout
来排列元素。
文本输入由来自 Material Design library 的 TextInputLayout
和 TextInputEditText
处理。那些是用来让它看起来更好一点的。
MainActivity
查找 EditText
和 Button
并用逻辑将它们连接起来。
单击按钮时,将调用 onOpenUrlButtonClicked
方法。然后它检查 EditText
的输入并尝试将其解析为 Uri。如果可以解析,它会尝试在可以处理 Uri 的设备上找到 activity。
如果无法解析 Uri 或在设备上找不到匹配项 activity,则会显示一条错误消息。
private void onOpenUrlButtonClicked() {
String inputString = urlInput.getText().toString();
Uri parsedUrl = null;
try {
parsedUrl = Uri.parse(inputString);
}catch (Exception ex){
Log.e(TAG, "Failed to parse input to a URL. Input: " + inputString);
Toast.makeText(this, "Failed to parse URL", Toast.LENGTH_LONG).show();
}
if(parsedUrl != null){
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(parsedUrl);
startActivity(intent);
}catch (ActivityNotFoundException ex){
Toast.makeText(this, "Can't open URL. Did you enter a valid URL (https://...)", Toast.LENGTH_LONG).show();
}
}
}