Android 2.3 zu 4.1 Actionbar

  • 3 Antworten
  • Letztes Antwortdatum
M

mofl

Neues Mitglied
0
Hey,

ich entwickel gerade eine App für ein Tablet (2.3.3) auf Api Level 10, minSdk 8

Jetzt werden aber doch andere Tablets(4.1) genommen und dort treten jetzt fogende Probleme auf:

- Es gibt ja keinen Hardware-Option Button mehr, wird die Actionbar nun automatisch angezeigt oder muss ich daran irgendetwas ändern das dort das Menu angezeigt wird?

- Es wird keine Verbindung zum Internet hergestellt obwohl die permission.Internet gesetzt ist.


Wäre für eure Hilfe & Tipps sehr dankbar!
 
Hallo,

vielleicht währs nicht schlecht wenn du etwas Code postest, ansonsten ist schwierig zu sehen, wieso deine APP keine Internetverbindung aufbaut.

Bzgl. des Menü Buttons brauchst du dir keine Sorgen als Entwickler zu machen. Je nach Software-Interface bzw. ROM nutzen die Tablet Nutzer Gesten anstatt des Menübuttons, bzw. der Menü Button wird bei denen trotzdem angezeigt, sofern du einen MenüButton-Actionlistener implementiert hast.

Lg lola48
 
Hi,

zu 2.:
Ab 3.0 müssen Internetverbindungen in einem AsyncTask behandelt werden.
Ansonsten tritt eine InternetOnMainThreadException auf. Denke das ist dein Problem.

Gruß
 
Zum Beispiel das laden der Daten beim Start:

Code:
//Funktioniert unter 2.3.3 nicht unter 4.0
protected void onCreate(Bundle savedInstanceState) {
	new DownloadTask(this).execute("PARAMETER");		
	super.onCreate(savedInstanceState);
}

Code:
//Funktioniert sowohl unter 2.3.3 als auch 4.0
public void btnClick(View v){
	new DownloadTask(this).execute("PARAMETER");
}

Also der DownloadTask ist ein AsyncTask.
Dort bekomme ich eine IOException geworfen, die Message enthält die URL und der Cause ist null.

Der Stacktrace beginnt beim getInputStream
libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:177)

Code:
HttpURLConnection request;
InputStream response = null;

request = (HttpURLConnection) new URL(url).openConnection();
request.setRequestProperty("Content-Type", "application/json");
request.setRequestProperty("Accept", "application/json");
request.setDoOutput(true);
request.setRequestMethod("GET");
response = request.getInputStream();

if (request.getResponseCode() == successfulResponseCode) {
	return readInputStream(response);
} else {
	throw new ErrorOccuredException( readInputStream(response));
}
 

Ähnliche Themen

M
Antworten
21
Aufrufe
1.399
swa00
swa00
Mr-Fisch
Antworten
5
Aufrufe
997
migi01
migi01
Mr-Fisch
Antworten
8
Aufrufe
1.026
Mr-Fisch
Mr-Fisch
M
Antworten
9
Aufrufe
805
mkuz24
M
A
Antworten
5
Aufrufe
707
swa00
swa00
Zurück
Oben Unten