Hirdetés
Új hozzászólás Aktív témák
-
[KgP].Robot
aktív tag
Sziasztok!
Egy AsyncDownloader osztallyal lenne gondom. Ketto is.
1: onPreExecute metodusban elinditok egy ProgressDialogot, hogy az API-val torteno kommunikacio alatt tudja a user, hogy dolgozunk... Sajnos nem jelenik meg es nem tudom, hogy miert.2: OKHTTP respons-nal ha pl 500-as hibakodot kapok vissza, akkor a message-ben "Internal server error" uzenet kerul. Ez azert baj, mert ott egy custom uzenetnek kene lennie, amit visszakuld a szerver. Erre azert lenne szuksegem, mert ez alapjan tudnam kezelni a kiveteleket. De igy, hogy az OKHTTP kicsereli a gyeri uzenetre, sajnos nincs lehetosegem.
Ezekre szeretnek megoldast talalni.Async class:
public class AsyncDownloader extends AsyncTask<String, Void, String> {
public static final String TAG = AsyncDownloader.class.getSimpleName();
private Context context;
private ProgressDialog dialog;
public AsyncDownloader(Context ctx) {
context = ctx;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
dialog = new ProgressDialog(context);
dialog.setMessage("Loading...");
dialog.setProgressStyle(dialog.STYLE_SPINNER);
dialog.setCancelable(false);
dialog.show();
}
@Override
protected String doInBackground(String... params)
{
String url = params[0];
String bodyparam = params[1];
String user_agent = params[2];
String content_type = params[3];
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse(content_type);
RequestBody body = RequestBody.create(mediaType, bodyparam);
Request request = new Request.Builder()
.url(url)
.post(body)
.addHeader("user-agent", user_agent)
.addHeader("content-type", content_type)
.build();
Call call = client.newCall(request);
Response response = null;
String jsonData = null;
try {
response = call.execute();
if (response.isSuccessful()) {
jsonData = response.body().string();
} else {
jsonData = null;
}
} catch (IOException e) {
e.printStackTrace();
}
return jsonData; //This is returned to onPostExecute()
}
@TargetApi(Build.VERSION_CODES.CUPCAKE)
@Override
protected void onPostExecute(String jsonData)
{
super.onPostExecute(jsonData);
if (dialog.isShowing()) {
dialog.dismiss();
}
}
}es igy hivom meg:
response = downloader.execute(list.get(0), list.get(1), list.get(2), list.get(3)).get();
Új hozzászólás Aktív témák
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Székesfehérvár és környéke adok-veszek-beszélgetek
- EA Sports WRC '23
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Home server / házi szerver építése
- AMD Navi Radeon™ RX 9xxx sorozat
- Hobby elektronika
- Last contact: rejtélyes körülmények között semmisült meg a 34343-as műhold
- Samsung Galaxy Felhasználók OFF topicja
- Xiaomi 17 Ultra - jó az optikája
- További aktív témák...
- AKCIÓ! LENOVO ThinkPad P15 Gen1 - i7 10850H 16GB DDR4 512GB SSD Quadro T1000 4GB WIN11
- Gamer PC-Számítógép! Csere-Beszámítás! R7 5700 / RTX 2080Ti 11GB / 16GB DDR4 / 1TB Nvme SSD
- LG UltraGear 38GN950P-B Monitor! 38" 3840x1600 / 1ms / 160Hz / G-Sync / FreeSync! BeszámítOK
- Samsung 16GB DDR5 5600MHz M425R2GA3PB0-CWM
- 27%! LG 86UR76006LC (86") UHD (Active HDR, 60 Hz, Smart TV)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

