2014-11-14 7 views
1

I m Новое в Android. Я пытаюсь создать простую веб-приложение браузера android. Это приложение важно для меня. Но приложение не открывается и сбой. Существует много ошибок в log cat.Как решить эту ошибку. пожалуйста, любой программист мне поможет. СпасибоКак решить ошибку в приложении Android для браузера веб-браузера?

ошибка журнала TXT

11-14 13:31:03.922: E/AndroidRuntime(901): FATAL EXCEPTION: main 
 
11-14 13:31:03.922: E/AndroidRuntime(901): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ronny.yesjarweb/com.ronny.yesjarweb.MainActivity}: java.lang.NullPointerException 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.app.ActivityThread.access$600(ActivityThread.java:130) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.os.Handler.dispatchMessage(Handler.java:99) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.os.Looper.loop(Looper.java:137) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.app.ActivityThread.main(ActivityThread.java:4745) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at java.lang.reflect.Method.invokeNative(Native Method) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at java.lang.reflect.Method.invoke(Method.java:511) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at dalvik.system.NativeStart.main(Native Method) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): Caused by: java.lang.NullPointerException 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.view.ViewGroup.addViewInner(ViewGroup.java:3377) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.view.ViewGroup.addView(ViewGroup.java:3249) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.view.ViewGroup.addView(ViewGroup.java:3225) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:275) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:265) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.app.Activity.setContentView(Activity.java:1887) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.support.v7.app.ActionBarActivity.superSetContentView(ActionBarActivity.java:220) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.support.v7.app.ActionBarActivityDelegateICS.setContentView(ActionBarActivityDelegateICS.java:105) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:81) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at com.ronny.yesjarweb.MainActivity.onCreate(MainActivity.java:52) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.app.Activity.performCreate(Activity.java:5008) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) 
 
11-14 13:31:03.922: E/AndroidRuntime(901): \t ... 11 more

MainActivity.java

package com.example.package; 
 

 
import android.annotation.SuppressLint; 
 
import android.app.DownloadManager; 
 
import android.app.DownloadManager.Request; 
 
import android.graphics.Bitmap; 
 
import android.net.Uri; 
 
import android.os.Bundle; 
 
import android.os.Environment; 
 
import android.support.v7.app.ActionBarActivity; 
 
import android.util.Log; 
 
import android.view.KeyEvent; 
 
import android.view.Menu; 
 
import android.view.MenuInflater; 
 
import android.view.MenuItem; 
 
import android.view.View; 
 
import android.webkit.MimeTypeMap; 
 
import android.webkit.WebChromeClient; 
 
import android.webkit.WebSettings; 
 
import android.webkit.WebSettings.PluginState; 
 
import android.webkit.WebView; 
 
import android.webkit.WebViewClient; 
 
import android.widget.Toast; 
 
import java.io.File; 
 
import java.io.UnsupportedEncodingException; 
 
import java.net.URLDecoder; 
 

 
public class MainActivity 
 
    extends ActionBarActivity 
 
{ 
 
    private static final View activity_main = null; 
 
private static final int exit = 0; 
 
public static File localFile2 = null; 
 
Toast toast; 
 
    WebView webview; 
 
private int yesjar_web; 
 
private int main; 
 
private int refresh; 
 
private int back; 
 
private int forward; 
 
    
 
    public String getFileName(String paramString) 
 
    throws UnsupportedEncodingException 
 
    { 
 
    return URLDecoder.decode(paramString.substring(1 + paramString.lastIndexOf('/')), "UTF-8"); 
 
    } 
 
    
 
    @SuppressLint({"SetJavaScriptEnabled", "NewApi"}) 
 
    protected void onCreate(Bundle paramBundle) 
 
    { 
 
    super.onCreate(paramBundle); 
 
    setContentView(activity_main); 
 
    this.webview = ((WebView)findViewById(yesjar_web)); 
 
    this.webview.setWebChromeClient(new WebChromeClient() 
 
    { 
 
     private CharSequence app_name; 
 

 
\t public void onProgressChanged(WebView paramAnonymousWebView, int paramAnonymousInt) 
 
     { 
 
     MainActivity.this.setTitle("Loading..."); 
 
     MainActivity.this.setProgress(paramAnonymousInt * 100); 
 
     if (paramAnonymousInt == 100) { 
 
      MainActivity.this.setTitle(app_name); 
 
     } 
 
     } 
 
    }); 
 
    this.webview.setLayerType(1, null); 
 
    ChildBrowserClient localChildBrowserClient = new ChildBrowserClient(); 
 
    this.webview.setWebViewClient(localChildBrowserClient); 
 
    WebSettings localWebSettings = this.webview.getSettings(); 
 
    this.webview.setInitialScale(1); 
 
    localWebSettings.setBuiltInZoomControls(true); 
 
    localWebSettings.setPluginState(WebSettings.PluginState.ON); 
 
    localWebSettings.setDomStorageEnabled(true); 
 
    this.webview.loadUrl("http://google.com"); 
 
    this.webview.setId(5); 
 
    this.webview.setInitialScale(0); 
 
    this.webview.requestFocus(); 
 
    this.webview.requestFocusFromTouch(); 
 
    } 
 
    
 
    public boolean onCreateOptionsMenu(Menu paramMenu) 
 
    { 
 
    getMenuInflater().inflate(main, paramMenu); 
 
    return true; 
 
    } 
 
    
 
    public boolean onKeyDown(int paramInt, KeyEvent paramKeyEvent) 
 
    { 
 
    if ((paramInt == 4) && (this.webview.canGoBack())) 
 
    { 
 
     this.webview.goBack(); 
 
     return true; 
 
    } 
 
    return super.onKeyDown(paramInt, paramKeyEvent); 
 
    } 
 
    
 
    public boolean onOptionsItemSelected(MenuItem paramMenuItem) 
 
    { 
 
    int i = paramMenuItem.getItemId(); 
 
    if (i == refresh) 
 
    { 
 
     String str = this.webview.getUrl().toString(); 
 
     this.webview.loadUrl(str); 
 
     return true; 
 
    } 
 
    if (i == back) { 
 
     this.webview.goBack(); 
 
    } 
 
    for (;;) 
 
    { 
 
     return super.onOptionsItemSelected(paramMenuItem); 
 
    } 
 
    } 
 
    
 
    public class ChildBrowserClient 
 
    extends WebViewClient 
 
    { 
 
    public ChildBrowserClient() {} 
 
    
 
    public void onPageFinished(WebView paramWebView, String paramString) 
 
    { 
 
     super.onPageFinished(paramWebView, paramString); 
 
    } 
 
    
 
    public void onPageStarted(WebView paramWebView, String paramString, Bitmap paramBitmap) 
 
    { 
 
     super.onPageStarted(paramWebView, paramString, paramBitmap); 
 
    } 
 
    
 
    @SuppressLint({"InlinedApi", "NewApi"}) 
 
    public boolean shouldOverrideUrlLoading(WebView paramWebView, String paramString) 
 
    { 
 
     boolean bool = true; 
 
     String str1 = MimeTypeMap.getFileExtensionFromUrl(paramString); 
 
     DownloadManager localDownloadManager = null; 
 
     DownloadManager.Request localRequest = null; 
 
     if (str1 != null) 
 
     { 
 
     String str2 = MimeTypeMap.getSingleton().getMimeTypeFromExtension(str1); 
 
     if ((str2 != null) && ((str2.toLowerCase().contains("video")) || (str1.toLowerCase().contains("mov")) || (str1.toLowerCase().contains("mp3")) || (str1.toLowerCase().contains("3gp")))) 
 
     { 
 
      localDownloadManager = (DownloadManager)MainActivity.this.getSystemService("download"); 
 
      localRequest = new DownloadManager.Request(Uri.parse(paramString)); 
 
     } 
 
     } 
 
     try 
 
     { 
 
     File localFile1 = new File(Environment.getExternalStorageDirectory(), MainActivity.this.getFileName(paramString)); 
 
     localFile2 = localFile1; 
 
     } 
 
     catch (UnsupportedEncodingException localUnsupportedEncodingException) 
 
     { 
 
     for (;;) 
 
     { 
 
      localUnsupportedEncodingException.printStackTrace(); 
 
      File localFile2 = null; 
 
     } 
 
     } 
 
     localRequest.setDescription("Downloading from YesJar Web"); 
 
     localRequest.setNotificationVisibility(1); 
 
     localRequest.setDestinationUri(Uri.fromFile(localFile2)); 
 
     localDownloadManager.enqueue(localRequest); 
 
     bool = false; 
 
     if (bool) { 
 
     paramWebView.loadUrl(paramString); 
 
     } 
 
     Log.v("blank", paramString.toString()); 
 
     return bool; 
 
    } 
 
    } 
 
}

ответ

0

Использование ниже

setContentView(R.layout.activity_main); 

вместо

setContentView(activity_main); 

или

findViewById(R.id.yesjar_web) 

вместо

findViewById(yesjar_web) 
+0

ок. но много ошибок сейчас – Yj0007

Смежные вопросы