我不能在这个项目中运行这个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)