Ion.with(context)在调用时获取E / AndroidRuntime

时间:2017-10-20 11:51:52

标签: java android android-studio-2.2 ion

我不能在这个项目中运行这个ion.eith(context)但它在另一个项目中运行请帮助我解决这个问题 MainActivity.java

package com.example.a123.scanner;

import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.os.StrictMode;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.google.gson.JsonObject;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
import com.koushikdutta.ion.builder.Builders;

import android.content.Intent;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.RatingBar;
import android.widget.SimpleAdapter;
import android.widget.TableLayout;
import android.widget.TextView;
import android.widget.Toast;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.koushikdutta.async.future.FutureCallback;
import com.example.a123.scanner.Cnct;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.logging.Logger;

public class MainActivity extends AppCompatActivity implements 
OnClickListener {

private Button scanBtn,ratingbtn;
private TextView formatTxt, contentTxt,scanInfo;
private RatingBar ratingBar ;
public TableLayout factorChart;
public View line;
public Context context;
public TextView pasengerNameLable,startNameLable,pasengerNameFromData,
   startNameFromData,carNameFromData,CostOfTravelFromData,costOfTravelLable,chargeFromData,chargeNameLable,
        aimNameLable,aimNameFromData,carNameLable;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

   getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
    ratingBar = (RatingBar) findViewById(R.id.ratingBar);
    ratingbtn=(Button) findViewById(R.id.ratingButton);
    scanBtn = (Button)findViewById(R.id.scan_button);
    formatTxt = (TextView)findViewById(R.id.scan_format);
    contentTxt = (TextView)findViewById(R.id.scan_content);
    scanInfo=(TextView)findViewById(R.id.scaninfo);
    ratingBar.setVisibility(View.INVISIBLE);
    ratingbtn.setVisibility(View.INVISIBLE);
    //show factor
    pasengerNameLable=(TextView)findViewById(R.id.pasengerNameLable);
    pasengerNameFromData=(TextView)findViewById(R.id.pasengerNameFromData);
    carNameLable=(TextView)findViewById(R.id.carNameLable);
    carNameFromData=(TextView)findViewById(R.id.carNameFromData);
    aimNameLable=(TextView)findViewById(R.id.aimNameLable);
    aimNameFromData=(TextView)findViewById(R.id.aimNameFromData);
    startNameLable=(TextView)findViewById(R.id.startNameLable);
    startNameFromData=(TextView)findViewById(R.id.startNameFromData);
    chargeNameLable=(TextView)findViewById(R.id.chargeNameLable);
    chargeFromData=(TextView)findViewById(R.id.chargeFromData);
    CostOfTravelFromData=(TextView)findViewById(R.id.CostOfTravelFromData);
    costOfTravelLable=(TextView)findViewById(R.id.costOfTravelLable);
    line=(View) findViewById(R.id.line);
    factorChart=(TableLayout) findViewById(R.id.opinionChart);
    scanBtn.setOnClickListener(this);
    context= MainActivity.this;
    Cnct cnct=new Cnct(context);
    cnct.send(new FutureCallback<JsonObject>() {
        @Override
        public void onCompleted(Exception e, JsonObject jsonObject) {
            if(jsonObject==null){
                Log.i("done","");
            }else{
                Log.i("done","ll");
            }
        }
    });
}
public void onClick(View v){
    if(v.getId()==R.id.scan_button){
        IntentIntegrator scanIntegrator = new IntentIntegrator(this);
        scanIntegrator.initiateScan();
    }
}

public void onActivityResult(int requestCode, int resultCode, Intent intent) 
{
    IntentResult scanningResult = 
    IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
    if (scanningResult != null) {
        //add texviews that want show in result
        String scanContent = scanningResult.getContents();
        String scanFormat = scanningResult.getFormatName();
        scanBtn.setVisibility(View.INVISIBLE);
        scanInfo.setVisibility(View.INVISIBLE);
        ratingBar.setVisibility(View.VISIBLE);
        ratingbtn.setVisibility(View.VISIBLE);
        factorChart.setVisibility(View.VISIBLE);
        line.setVisibility(View.VISIBLE);
        onClickListenBottunRate();
        //set information
        pasengerNameFromData.setText("بهزاد قرنی");
        pasengerNameLable.setText("نام مشتری:");
        carNameLable.setText("نا ماشین:");
        carNameFromData.setText("کمری/cammery");
        aimNameLable.setText("مقصد:");
        aimNameFromData.setText("ستارخان");
        startNameLable.setText("مبدا:");
        startNameFromData.setText("پونک");
        chargeNameLable.setText("شارژ حساب:");
        chargeFromData.setText("12000"+"ریال");
        CostOfTravelFromData.setText("هزینه سفر:");
        costOfTravelLable.setText("22000"+"ریال");
    }
    else{
        Toast toast = Toast.makeText(getApplicationContext(),
                "No scan data received!", Toast.LENGTH_SHORT);
        toast.show();
    }
}
public void onClickListenBottunRate(){

    ratingbtn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
           float rating=ratingBar.getRating();
           Log.i("starFill",String.valueOf(rating));
            Intent intent= new Intent(MainActivity.this, RatingResult.class);
            intent.putExtra("starFill",rating);
            startActivity(intent);

        }
    });
}

}

Cnct.java

 package com.example.a123.scanner;

import android.content.Context;
import android.util.Log;

import com.google.gson.JsonObject;
import com.koushikdutta.async.future.FutureCallback;
import com.koushikdutta.ion.Ion;

public class Cnct {
public Context context;
public Cnct(Context context){this.context=context;}
public void send(FutureCallback<JsonObject> callback){
    Log.i("done",context.toString());
    Ion.with(context)
            .load("GET","http://84.241.18.8:1067/api/staxi/")
            .setTimeout(3000)
            .asJsonObject()
            .setCallback(callback);

}
public void getData(JsonObject json, FutureCallback<JsonObject> callback){
    JsonObject jsonObject=new JsonObject();
    jsonObject.addProperty("name","");
    Ion.with(context)
            .load("POST","http://84.241.18.8:1067/api/staxi/" )
            .setTimeout(30000)
            .setJsonObjectBody(jsonObject)
            .asJsonObject()
            .setCallback(callback);
}
}

错误

  

E / AndroidRuntime:FATAL EXCEPTION:main

Process: com.example.a123.scanner, PID: 11926                                                                     
java.lang.NoSuchMethodError: com.koushikdutta.async.AsyncServer.<init>                             

at com.koushikdutta.ion.Ion.<init>(Ion.java:155)                                                                          
at com.koushikdutta.ion.Ion.getInstance(Ion.java:114)
                                                                          at     com.koushikdutta.ion.Ion.getDefault(Ion.java:100)
                                                                          at 
 com.koushikdutta.ion.Ion.with(Ion.java:72)
                                                                          at     com.example.a123.scanner.Cnct.send(Cnct.java:19)
                                                                          at    
     

com.example.a123.scanner.MainActivity.onCreate(MainActivity.java:80)                                                                                 在android.app.Activity.performCreate(Activity.java:5231)                                                                                 在       android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)                                                                                 在   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2157)                                                                                 在   android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2243)                                                                                 在android.app.ActivityThread.access $ 800(ActivityThread.java:135)                                                                                 在   android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1196)                                                                                 在android.os.Handler.dispatchMessage(Handler.java:102)                                                                                 在android.os.Looper.loop(Looper.java:136)                                                                                 在android.app.ActivityThread.main(ActivityThread.java:5019)                                                                                 at java.lang.reflect.Method.invokeNative(Native Method)                                                                                 在java.lang.reflect.Method.invoke(Method.java:515)                                                                                 在

com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
                                                                          at 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
                                                                          at 
dalvik.system.NativeStart.main(Native Method)

0 个答案:

没有答案