您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Android >> 编写的Android应用出现The application has stopped unexpected,Please try again

编写的Android应用出现The application has stopped unexpected,Please try again

来源:网络整理     时间:2016/4/23 5:46:16     关键词:

关于网友提出的“编写的Android应用出现The application has stopped unexpected,Please try again”问题疑问,本网通过在网上对“编写的Android应用出现The application has stopped unexpected,Please try again”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:编写的Android应用出现The application has stopped unexpected,Please try again
描述:

Logcat是这样的..
05-25 08:57:37.636: E/AndroidRuntime(510): FATAL EXCEPTION: main
05-25 08:57:37.636: E/AndroidRuntime(510): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{sim.activity/sim.activity.SIMActivity}: java.lang.NullPointerException
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.os.Looper.loop(Looper.java:123)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.app.ActivityThread.main(ActivityThread.java:3683)
05-25 08:57:37.636: E/AndroidRuntime(510):  at java.lang.reflect.Method.invokeNative(Native Method)
05-25 08:57:37.636: E/AndroidRuntime(510):  at java.lang.reflect.Method.invoke(Method.java:507)
05-25 08:57:37.636: E/AndroidRuntime(510):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-25 08:57:37.636: E/AndroidRuntime(510):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-25 08:57:37.636: E/AndroidRuntime(510):  at dalvik.system.NativeStart.main(Native Method)
05-25 08:57:37.636: E/AndroidRuntime(510): Caused by: java.lang.NullPointerException
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.content.ContextWrapper.getResources(ContextWrapper.java:80)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.view.View.(View.java:1874)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.view.View.(View.java:1921)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.view.ViewGroup.(ViewGroup.java:292)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.widget.AbsoluteLayout.(AbsoluteLayout.java:52)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.webkit.WebView.(WebView.java:975)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.webkit.WebView.(WebView.java:958)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.webkit.WebView.(WebView.java:948)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.webkit.WebView.(WebView.java:939)
05-25 08:57:37.636: E/AndroidRuntime(510):  at sim.activity.SIMActivity.(SIMActivity.java:33)
05-25 08:57:37.636: E/AndroidRuntime(510):  at java.lang.Class.newInstanceImpl(Native Method)
05-25 08:57:37.636: E/AndroidRuntime(510):  at java.lang.Class.newInstance(Class.java:1409)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
05-25 08:57:37.636: E/AndroidRuntime(510):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
05-25 08:57:37.636: E/AndroidRuntime(510):  ... 11 more
之前出现过一次..有个String忘了加null判定..但是这次我实在找不出问题了..求帮助=  =
代码还没写完..见笑=。=

package sim.activity;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;
public class SIMActivity extends Activity {
    /** Called when the activity is first created. */
    private WebView webView = new WebView(this);
    private Menu menu;
    private int group1 = 1;
    private int group2 = 2;
    private Context mContext;   
    private Notification mNotification;  
    private NotificationManager mNotificationManager;  
    private final static int NOTIFICATION_ID = 0x0001; 
    
    @Override    
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        TextView tv = (TextView)findViewById(R.id.tv1);
        
        TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);   
        
        tm.getLine1Number();
        String imei1 = tm.getDeviceId();
        tm.getSubscriberId();
        
        String imei2 ="0";
         //这里为了安全起见我删掉了我的URL=-=
        String url1 = "MyURL";
        String Format1 = getResources().getString(R.string.imeis);
        String imei = "";
        int len = imei1.length();
        if(len == 14){
        imei = String.format(Format1,imei2,imei1);
        }
        else {imei = imei1;}
        
        String urll = String.format(Format1,url1,imei);
        
        //浏览器界面
        webView.loadUrl(urll);
        webView.setWebChromeClient(new WebChromeClient() {  
            public void onProgressChanged(WebView view, int progress) {  
                setTitle("页面加载中,请稍候..." + progress + "%");  
                setProgress(progress * 100);  
                if (progress == 100) {  
                    setTitle(R.string.app_name);  
                }  
            }  
        });  
        webView.setWebViewClient(new WebViewClient(){       
                     public boolean shouldOverrideUrlLoading(WebView view, String url) {       
                         view.loadUrl(url);       
                         return true;       
                     }       
         });
        
         setContentView(webView,new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
         ViewGroup.LayoutParams.WRAP_CONTENT));
         //这里为了安全起见我删掉了我的URL=-=
         String httpUrl = "myURL";
         StringBuffer sb = new StringBuffer();
         URL urlx = null;
    try{
     urlx = new URL(httpUrl);
    }catch(MalformedURLException e){
     e.printStackTrace();
    }
    if (urlx != null){
     try{
     HttpURLConnection urlConn = 
     (HttpURLConnection) urlx.openConnection();
         urlConn.connect();
         InputStream input = urlConn.getInputStream();
         InputStreamReader inputReader = new InputStreamReader(input);
         BufferedReader reader = new BufferedReader(inputReader);
         String inputLine = null;
         while((inputLine = reader.readLine()) != null){
          sb.append(inputLine).append("\n");
         }
         reader.close();
         inputReader.close();
         input.close();
         urlConn.disconnect();
         }catch(IOException e){
          e.printStackTrace();
             }
            }else{
          Log.i("TAG","url is null");
          }
          String sbstr =null;
          if (sb != null){
             
              String sbtr = sb.toString();
              int sblen = sbtr.length();
              int index=sbtr.lastIndexOf("|");
              
              sbstr=sbtr.substring(index+1,sblen);
              
              tv.setText(sbstr);
          }else{
           tv.setText("cannot get page");
          }
          
          if (sbstr != null){
           if (sbstr == "none"){
         menu.setGroupVisible(group1, false);
             menu.setGroupVisible(group2, true);
           }else{
           menu.setGroupVisible(group1, true);
             menu.setGroupVisible(group2, true);
           }
           
          }else{System.out.println("null");}
         }
    
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(group2,1,1,"后退");
menu.add(group2,2,2,"前进");
        SubMenu subMenu = menu.addSubMenu(group1, 100, 100, "系统通知");        
        subMenu.add(group1, 101, 101, "接收");        
        subMenu.add(group1, 102, 102, "不接收"); 
        return true;    }
    public boolean onOptionsItemSelected(MenuItem item){
     switch (item.getItemId()){
     case 1:
     if(webView.canGoBack()){
     webView.goBack();
     return true;
     }
     break;
     case 2:
     if(webView.canGoForward()){
     webView.goForward();
     return true;
     }
     break;
     case 101:
        Intent mIntent = new Intent(mContext,SIMActivity.class);  
             mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);      
             PendingIntent mContentIntent =PendingIntent.getActivity(mContext,0, mIntent, 0);  
             mNotification.setLatestEventInfo(mContext, "通知", "有新的通知", mContentIntent);  
             mNotificationManager.notify(NOTIFICATION_ID, mNotification);   
     break;
     case 102:
     mNotificationManager.cancel(NOTIFICATION_ID);
     break;
         default:
          return super.onOptionsItemSelected(item);
     }
     return true;
    }
    public void setupViews(){  
        mContext = SIMActivity.this;  
          
        mNotification = new Notification(R.drawable.ic_launcher,"new notification.",System.currentTimeMillis());  
        mNotification.defaults = Notification.DEFAULT_SOUND;  
        mNotificationManager = (NotificationManager)this.getSystemService(NOTIFICATION_SERVICE);  
 }  
}


解决方案1:

将private WebView webView = new WebView(this);改为
private WebView webView;
然后在onCreate()的这段代码setContentView(R.layout.main);后面增加
webView = new WebView(this);


以上介绍了“编写的Android应用出现The application has stopped unexpected,Please try again”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/794599.html

相关图片

相关文章