samedi 18 avril 2015

Android internet connection issue

I am writing an app that uses internet, i have given it the following permissions:



<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.NETWORK"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>


all is fine when on WIFI but when it connects to H+ 3G or 4G it stops working at a POST or GET. I already put all the tasks that request or post something to the server in a aSyncTask but to no result.


Is there something i am missing?


EDIT: a activity with code



public class ParkeerActivity extends ActionBarActivity {


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

DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker);
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
datePicker.init(calendar.get(Calendar.DAY_OF_MONTH), calendar.get(Calendar.MONTH), calendar.get(Calendar.YEAR), new DatePicker.OnDateChangedListener() {@
Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
updateSpacesLeft();
}
});
RadioGroup rg = (RadioGroup) findViewById(R.id.radioGroup);
rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {@
Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
updateSpacesLeft();
}
});
Button reservationBtn = (Button) findViewById(R.id.reservationButton);
reservationBtn.setEnabled(false);
reservationBtn.setOnClickListener(new View.OnClickListener() {@
Override
public void onClick(View v) {
reservationClicked();

}
});
}


@
Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_parkeer, menu);
return true;
}

@
Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}
public void reservationClicked() {
AsyncTask < Void, Void, String > task = new AsyncTask < Void, Void, String > () {@
Override
protected String doInBackground(Void...params) {
String formattedDate = getFormattedDateForUrl();
String selectedTime = getSelectedTime();
EditText commentText = (EditText) findViewById(R.id.editText);
String comment = commentText.getText().toString();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ParkeerActivity.this);
String accessToken = prefs.getString("accessToken", null);
Ion.with(ParkeerActivity.this)
.load("http://ift.tt/1aDkgk4")
.setBodyParameter("accessToken", accessToken)
.setBodyParameter("date", formattedDate)
.setBodyParameter("time", selectedTime)
.setBodyParameter("comment", comment)
.asJsonObject()
.withResponse()
.setCallback(new FutureCallback < Response < JsonObject >> () {@
Override
public void onCompleted(Exception e, Response < JsonObject > result) {
if (result.getHeaders().code() == 201) {
AlertDialog.Builder alert = new AlertDialog.Builder(ParkeerActivity.this);
alert.setMessage("Reservering gelukt");
alert.show();
} else if (result.getHeaders().code() != 201) {
AlertDialog.Builder alert = new AlertDialog.Builder(ParkeerActivity.this);
alert.setMessage("Reservering mislukt");
alert.show();
};
}
});
return null;
}
};
task.execute();
}


it crashes at reservationClicked()


logcat will be posted once i have found a cable to connect my phone to pc EDIT2: Logcat exception on mobile device (not emulator)



04-18 13:48:48.489 18475-19199/com.parkeerapp.-.parkeerapp D/MyLogs﹕ (296 ms) http://-/parkingspaces/available: Connecting socket
04-18 13:48:48.489 18475-19199/com.parkeerapp.-.parkeerapp D/MyLogs﹕ (0 ms) http://-/parkingspaces/available: Executing request.
04-18 13:48:48.499 18475-19199/com.parkeerapp.-.parkeerapp D/MyLogs﹕ (2 ms) http://-/parkingspaces/available: Connecting socket
04-18 13:48:58.549 18475-19199/com.parkeerapp.-.parkeerapp D/MyLogs﹕ (10357 ms) http://-/parkingspaces/available: Response is not cacheable
04-18 13:48:58.559 18475-19199/com.parkeerapp.-.parkeerapp D/MyLogs﹕ (10359 ms) http://-/parkingspaces/available: Connection successful
04-18 13:48:58.569 18475-19199/com.parkeerapp.-.parkeerapp D/MyLogs﹕ (10078 ms) http://-/parkingspaces/available: Response is not cacheable
04-18 13:48:58.569 18475-19199/com.parkeerapp.-.parkeerapp D/MyLogs﹕ (10079 ms) http://-/parkingspaces/available: Connection successful
04-18 13:48:58.579 18475-18475/com.parkeerapp.-.parkeerapp D/AndroidRuntime﹕ Shutting down VM
04-18 13:48:58.579 18475-18475/com.parkeerapp.-.parkeerapp W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41859da0)
04-18 13:48:58.579 18475-19199/com.parkeerapp.-.parkeerapp D/MyLogs﹕ (10386 ms) http://-/parkingspaces/available: Recycling keep-alive socket
04-18 13:48:58.579 18475-18475/com.parkeerapp.indivirtual.parkeerapp E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.parkeerapp.-.parkeerapp, PID: 18475
java.lang.NullPointerException
at com.parkeerapp.-.parkeerapp.ParkeerActivity$5$1.onCompleted(ParkeerActivity.java:154)
at com.parkeerapp.-.parkeerapp.ParkeerActivity$5$1.onCompleted(ParkeerActivity.java:151)
at com.koushikdutta.async.future.SimpleFuture.handleCallbackUnlocked(SimpleFuture.java:107)
at com.koushikdutta.async.future.SimpleFuture.setComplete(SimpleFuture.java:141)
at com.koushikdutta.async.future.SimpleFuture.setComplete(SimpleFuture.java:124)
at com.koushikdutta.ion.IonRequestBuilder$1.run(IonRequestBuilder.java:244)
at com.koushikdutta.async.AsyncServer$RunnableWrapper.run(AsyncServer.java:57)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5679)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
at dalvik.system.NativeStart.main(Native Method)
04-18 13:48:58.589 18475-19199/com.parkeerapp.-.parkeerapp D/MyLogs﹕ (10094 ms) http://-/parkingspaces/available: Recycling keep-alive socket

Aucun commentaire:

Enregistrer un commentaire