#java #android
#java #Android
Вопрос:
mainactivity.java
package com.example.myapplication;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private WebView mywebview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mywebview=(WebView)findViewById(R.id.webView);
WebSettings webSettings=mywebview.getSettings();
webSettings.setJavaScriptEnabled(true);
mywebview.loadUrl("file:///android_asset/myresource.html");
mywebview.setWebViewClient(new WebViewClient());
}
@Override
public void onBackPressed() {
if (mywebview.canGoBack()) {
mywebview.goBack();
} else {
super.onBackPressed();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.menu_main,menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
tools:ignore="ExtraText">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<WebView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@ id/webView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>12/13 23:40:42: Launching 'app' on Physical Device.
Установка успешно завершена за 14 секунд 668 мс.
$ adb shell запускаю -n «com.example.myapplication/com.example.myapplication.SplashActivity» — android.intent.action.MAIN -c android.intent.category.ПУСКОВАЯ УСТАНОВКА
Подключено к процессу 25636 на устройстве «xiaomi-redmi_7a-2c5b9bbe0406».
Захват и отображение сообщений logcat из приложения. Это поведение можно отключить в разделе «Вывод Logcat» на странице настроек «Debugger».
Ввод / вывод: подключение к службе perf.
I / FeatureParser: не удается найти pine.xml в активах/device_features/ это может быть в /system/etc/device_features
E / Perf: не удается получить список файлов com.example.myapplication
E/Perf: GetFoldersize() : Exception_1 = java.lang.Исключение NullPointerException: попытка получить длину нулевого массива
Не удается получить список файлов com.example.myapplication
GetFoldersize() : Exception_1 = java.lang.Исключение NullPointerException: попытка получить длину нулевого массива
D / AndroidRuntime: завершение работы виртуальной машины
E / AndroidRuntime: ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: основное
Процесс: com.example.myapplication, PID: 25636
java.lang.RuntimeException: не удается запустить activity ComponentInfo{com.example.myapplication/com.example.myapplication .SplashActivity}: android.content.res.Resources$NotFoundException: Drawable com.example.myapplication:drawable / background с идентификатором ресурса #0x7f07005f
в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3304)
в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3443)
в android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
в android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
в android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
в android.app.ActivityThread $ H.handleMessage(ActivityThread.java: 2040)
в android.os.Handler.DispatchMessage(Handler.java:107)
в android.os.Looper.loop(Looper.java: 221)
в android.app.ActivityThread.main(ActivityThread.java: 7520)
в java.lang.reflect.Метод.invoke(собственный метод)
в com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
в com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 950)
Вызвано: android.content.res.Resources $ NotFoundException: Drawable com.example.myapplication:drawable / background с идентификатором ресурса # 0x7f07005f
Вызвано: android.content.res.Resources $ NotFoundException: File res/drawable/background.xml из идентификатора ресурса для рисования #0x7f07005f
в android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:898)
на android.content.res.ResourcesImpl.originalLoadDrawable(ResourcesImpl.java: 679)
на android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java: 586)
в android.content.res.MiuiResourcesImpl.loadDrawable(MiuiResourcesImpl.java:307)
в android.content.res.Resources.getDrawableForDensity(Ресурсы.java: 920)
в android.content.res.Resources.getDrawable(Resources.java: 859)
в android.content.Context.getDrawable(Context.java: 696)
в androidx.core.content.ContextCompat.getDrawable(ContextCompat.java:454)
в androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:144)
в androidx.appcompat.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java: 411)
в androidx.appcompat.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:86)
в androidx.appcompat.app.AppCompatDelegateImpl.attachToWindow(AppCompatDelegateImpl.java:647)
в androidx.appcompat.app.AppCompatDelegateImpl.ensureWindow(AppCompatDelegateImpl.java:623)
в androidx.appcompat.app.AppCompatDelegateImpl.onCreate(AppCompatDelegateImpl.java: 350)
в androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:105)
в com.example.myapplication.SplashActivity.onCreate(SplashActivity.java: 11)
в android.app.Activity.performCreate(Activity.java:7893)
в android.app.Activity.performCreate(Activity.java:7880)
в android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3279)
в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3443)
в android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
в android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
в android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
в android.app.ActivityThread $ H.handleMessage(ActivityThread.java: 2040)
в android.os.Handler.DispatchMessage(Handler.java:107)
в android.os.Looper.loop(Looper.java: 221)
в android.app.ActivityThread.main(ActivityThread.java: 7520)
в java.lang.reflect.Метод.invoke(собственный метод)
в com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
в com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 950)
E / AndroidRuntime: вызвано: org.xmlpull.v1.XmlPullParserException: строка двоичного XML-файла # 4: для тега требуется атрибут ‘drawable’ или дочерний тег, определяющий drawable
в android.graphics.drawable.LayerDrawable.inflateLayers(LayerDrawable.java: 278)
в android.graphics.drawable.LayerDrawable.inflate(LayerDrawable.java:199)
на android.graphics.drawable.DrawableInflater.inflateFromXmlForDensity(DrawableInflater.java:144)
на android.graphics.drawable.Drawable.createFromXmlInnerForDensity(Drawable.java: 1402)
на android.graphics.drawable.Drawable.createFromXmlForDensity(Drawable.java: 1361)
в android.content.res.ResourcesImpl.createFromXmlForDensity(ResourcesImpl.java: 1615)
в android.content.res.ResourcesImpl.loadXmlDrawable(ResourcesImpl.java: 963)
в android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java: 882)
… еще 30
Ввод / вывод: отправка сигнала. PID: 25636 SIG: 9
**splashactivity.java**
package com.example.myapplication;
import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
}
Ответ №1:
Я думаю, что у вас проблемы с вашей SplashActivity, а не с основной деятельностью. ищите чертежи, которые вы используете для своего XML-файла splash. вы должны правильно импортировать их в свою папку res-> drawable вашего проекта, если они являются векторами или png. Просто попробуйте импортировать их в нужное место.Если это не решит проблему, пожалуйста, поместите свой XML-файл splash, чтобы я мог вам помочь.
Обновить:
Посмотрите на свой splashactivity, у него нет никакого представления содержимого, вы должны создать макет для своей активности splash. Перейдите в папку «Пакеты проекта», разверните папку «res», затем щелкните правой кнопкой мыши на layout и создайте ресурс layout, затем назовите его так, как вы предпочитаете, например, splash со строчными буквами, затем в вашей активности splash в разделе oncreate метод add:
setContentView(R.layout.splash.xml );
Поместите эту строку сразу после super.onCreate(savedinstancestate)
Комментарии:
1. я добавил файл заставки
2. я имел в виду, что ваше splash.xml файл и ресурсы, которые вы для него использовали.
3. я не использовал splash.xml файл не могли бы вы, пожалуйста, написать это для меня
4. Каждый раз, когда вы хотите создать действие, просто щелкните правой кнопкой мыши на своем пакете Java и вместо создания класса просто выберите действие, а затем создайте пустое действие, оно автоматически сгенерирует для вас XML-файл