在模拟器上面做了个简易的计算器,运行启动没问题 可是一进入模拟器,计算机就自动停止;日志如下09-16 20:15:19.501: E/StrictMode(638):  at android.os.AsyncTask$2.call(AsyncTask.java:287)
09-16 20:15:19.501: E/StrictMode(638):  at java.util.concurrent.FutureTask.run(FutureTask.java:234)
09-16 20:15:19.501: E/StrictMode(638):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
09-16 20:15:19.501: E/StrictMode(638):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
09-16 20:15:19.501: E/StrictMode(638):  at java.lang.Thread.run(Thread.java:856)
09-16 20:15:19.501: W/ActivityManager(278): Unbind failed: could not find connection for android.os.BinderProxy@40f35f98
09-16 20:15:19.511: E/ActivityThread(638): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d55928 that was originally bound here
09-16 20:15:19.511: E/ActivityThread(638): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d55928 that was originally bound here
09-16 20:15:19.511: E/ActivityThread(638):  at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
09-16 20:15:19.511: E/ActivityThread(638):  at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
09-16 20:15:19.511: E/ActivityThread(638):  at android.app.ContextImpl.bindService(ContextImpl.java:1418)
09-16 20:15:19.511: E/ActivityThread(638):  at android.app.ContextImpl.bindService(ContextImpl.java:1407)
09-16 20:15:19.511: E/ActivityThread(638):  at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
09-16 20:15:19.511: E/ActivityThread(638):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
09-16 20:15:19.511: E/ActivityThread(638):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
09-16 20:15:19.511: E/ActivityThread(638):  at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
09-16 20:15:19.511: E/ActivityThread(638):  at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
09-16 20:15:19.511: E/ActivityThread(638):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
09-16 20:15:19.511: E/ActivityThread(638):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
09-16 20:15:19.511: E/ActivityThread(638):  at android.os.AsyncTask$2.call(AsyncTask.java:287)
09-16 20:15:19.511: E/ActivityThread(638):  at java.util.concurrent.FutureTask.run(FutureTask.java:234)
09-16 20:15:19.511: E/ActivityThread(638):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
09-16 20:15:19.511: E/ActivityThread(638):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
09-16 20:15:19.511: E/ActivityThread(638):  at java.lang.Thread.run(Thread.java:856)
09-16 20:15:19.511: E/StrictMode(638): null
09-16 20:15:19.511: E/StrictMode(638): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d55928 that was originally bound here
09-16 20:15:19.511: E/StrictMode(638):  at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
09-16 20:15:19.511: E/StrictMode(638):  at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
09-16 20:15:19.511: E/StrictMode(638):  at android.app.ContextImpl.bindService(ContextImpl.java:1418)
09-16 20:15:19.511: E/StrictMode(638):  at android.app.ContextImpl.bindService(ContextImpl.java:1407)
09-16 20:15:19.511: E/StrictMode(638):  at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
09-16 20:15:19.511: E/StrictMode(638):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
09-16 20:15:19.511: E/StrictMode(638):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
09-16 20:15:19.511: E/StrictMode(638):  at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
09-16 20:15:19.511: E/StrictMode(638):  at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
09-16 20:15:19.511: E/StrictMode(638):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
09-16 20:15:19.511: E/StrictMode(638):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
09-16 20:15:19.511: E/StrictMode(638):  at android.os.AsyncTask$2.call(AsyncTask.java:287)
09-16 20:15:19.511: E/StrictMode(638):  at java.util.concurrent.FutureTask.run(FutureTask.java:234)
09-16 20:15:19.511: E/StrictMode(638):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
09-16 20:15:19.511: E/StrictMode(638):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
09-16 20:15:19.511: E/StrictMode(638):  at java.lang.Thread.run(Thread.java:856)
09-16 20:15:19.521: W/ActivityManager(278): Unbind failed: could not find connection for android.os.BinderProxy@40f63898

解决方案 »

  1.   

    MainActivity如下:package com.example.yyyyyy;
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;public class MainActivity extends Activity implements OnClickListener{
     Button btn_0;
     Button btn_1;
     Button btn_2;
     Button btn_3;
     Button btn_4;
     Button btn_5;
     Button btn_6;
     Button btn_7;
     Button btn_8;
     Button btn_9;
     Button btn_clear;
     Button btn_del;
     Button btn_point;
     Button btn_plus;
     Button btn_munus;
     Button btn_multiply;
     Button btn_divide;
     Button btn_equal;
     EditText input;
     Boolean clear_flag;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn_0=(Button) findViewById(R.id.btn_0);
    btn_1=(Button) findViewById(R.id.btn_1);
    btn_2=(Button) findViewById(R.id.btn_2);
    btn_3=(Button) findViewById(R.id.btn_3);
    btn_4=(Button) findViewById(R.id.btn_4);
    btn_5=(Button) findViewById(R.id.btn_5);
    btn_6=(Button) findViewById(R.id.btn_6);
    btn_7=(Button) findViewById(R.id.btn_7);
    btn_8=(Button) findViewById(R.id.btn_8);
    btn_9=(Button) findViewById(R.id.btn_9);
    btn_point=(Button) findViewById(R.id.btn_point);
    btn_clear=(Button) findViewById(R.id.btn_clear);
    btn_del=(Button) findViewById(R.id.btn_del);
    btn_divide=(Button) findViewById(R.id.btn_divide);
    Button btn_minus = (Button) findViewById(R.id.btn_minus);
    btn_multiply=(Button) findViewById(R.id.btn_multiply);
    btn_0=(Button) findViewById(R.id.btn_plus);
    btn_equal=(Button) findViewById(R.id.btn_equal);
    input=(EditText) findViewById(R.id.input);

    btn_0.setOnClickListener(this);
    btn_1.setOnClickListener(this);
    btn_2.setOnClickListener(this);
    btn_3.setOnClickListener(this);
    btn_4.setOnClickListener(this);
    btn_5.setOnClickListener(this);
    btn_6.setOnClickListener(this);
    btn_7.setOnClickListener(this);
    btn_8.setOnClickListener(this);
    btn_9.setOnClickListener(this);
    btn_point.setOnClickListener(this);
    btn_plus.setOnClickListener(this);
    btn_minus.setOnClickListener(this);
    btn_multiply.setOnClickListener(this);
    btn_del.setOnClickListener(this);
    btn_clear.setOnClickListener(this);
    btn_divide.setOnClickListener(this);
    btn_equal.setOnClickListener(this);
        input.setOnClickListener(this);

    } @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
    } @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    String str=input.getText().toString();

    switch (v.getId()) {
    case R.id.btn_0:
    case R.id.btn_1:
    case R.id.btn_2:
    case R.id.btn_3:
    case R.id.btn_4:
    case R.id.btn_5:
    case R.id.btn_6:
    case R.id.btn_7:
    case R.id.btn_8:
    case R.id.btn_9:
    case R.id.btn_point:
    if(clear_flag){
    clear_flag=false;
    input.setText("");
    }
    input.setText(str+((Button)v).getText());

    break; case R.id.btn_divide:
    case R.id.btn_plus:
    case R.id.btn_multiply:
    case R.id.btn_minus:
        input.setText(str+" "+((Button)v).getText()+" ");

    break;

    case R.id.btn_clear:
    clear_flag=false;
    input.setText("");
    break;

    case R.id.btn_del:if(clear_flag){
    clear_flag=false;
    input.setText("");
    }

    else if(str!=null&&str!=("")){
    input.setText(str.substring(0,str.length()-1));
    }
    break;

    case R.id.btn_equal:
    getResult();
    break;
    }


    }
    private void getResult(){
    String exp=input.getText().toString();
    if(exp==null||exp.equals("")){
    return;
    }
    if(!exp.contains(" ")){
    return;
    }
    if(clear_flag){
    clear_flag=false;
    return;
    }
        clear_flag=true;
    double result=0;
    String s1=exp.substring(0,exp.indexOf(" "));
    String op=exp.substring(exp.indexOf(" ")+1,exp.indexOf(" ")+2);
    String s2=exp.substring(exp.indexOf(" ")+2,exp.indexOf(" ")+3);
    if(!s1.equals("")&&!s2.equals("")){
    double d1= Double.parseDouble(s1);
    double d2= Double.parseDouble(s2);
    if(op.equals("+")){
    result=d1+d2;
    }else if (op.equals("-")) {
    result=d1-d2;
    }else if (op.equals("×")){
    result=d1*d2;
    }else if (op.equals("÷")){
    if(d2==0){
    result=0;
    }
    else{
    result=d1/d2;
    }
    }


    if(!s1.contains(".")&&(!s2.contains("."))){
    int r=(int) result;
    input.setText(r+"");
    }else{
    input.setText(result+"");
    }
    }else if(!s1.equals("")&&s2.equals("")){
    input.setText(exp);
    }else if (s1.equals("")&&!s2.equals("")) {
    double d2= Double.parseDouble(s2);
    if(op.equals("+")){
    result=0+d2;
    }else if (op.equals("-")) {
    result=0-d2;
    }else if (op.equals("×")){
    result=0;
    }else if (op.equals("÷")){
    result=0;
    }
    if(!s2.contains(".")){
    int r=(int) result;
    input.setText(r+"");
    }else{
    input.setText(result+"");
    }

    }else{
    input.setText("");
    }}

    }
      

  2.   

    btn_0=(Button) findViewById(R.id.btn_plus);
    付错值了,btn_plus为空