Door AsyncTask te gebruiken (aanbevolen)
androidx.appcompat.app.AppCompatActivity importeren; importeer android.os.AsyncTask; importeer android.os.Bundel; import android.widget.TextView; java.io.BufferedReader importeren; java.io.IOException importeren; java.io.InputStreamReader importeren; java.net.URL importeren; public class MainActivity breidt AppCompatActivity uit { TextView textLoad, textMessage; laatste tekenreeks strMessage = "https://sites.google.com/site/androidersite/text.txt"; @Override beschermde leegte onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textLoad = findViewById(R.id.textLoad); textMessage = findViewById(R.id.textMessage); textLoad.setText(“Laden…”); nieuwe MyTask().execute(); } privéklasse MyTask breidt AsyncTask uit{ Stringresultaat; @Override beschermde Void doInBackground(Void… voids) { URL url; probeer { url = nieuwe URL(strMessage); BufferedReader bufferedReader = nieuwe BufferedReader(nieuwe InputStreamReader(url.openStream())); String stringBuffer; Tekenreeks tekenreeks = ""; while ((stringBuffer = bufferedReader.readLine()) != null){ string = String.format(“%s%s”, string, stringBuffer); } gebufferdeReader.close(); resultaat = tekenreeks; } vangst (IOException e){ e.printStackTrace(); resultaat = e.toString(); } geef null terug; } @Override beschermde leegte onPostExecute(Void aVoid) { textMessage.setText(resultaat); textLoad.setText(“Klaar”); super.onPostExecute(aVoid); } } }Strikte modus uitschakelen (niet aanbevolen)
if (android.os.Build.VERSION.SDK_INT > 9) { StrictMode.ThreadPolicy beleidsmaatregelen = nieuwe StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(beleidsmaatregelen); }Laatst bijgewerkt: 11 juni 2023
Sandeep Bhandari heeft een Bachelor of Engineering in Computers van Thapar University (2006). Hij heeft 20 jaar ervaring op het gebied van technologie. Hij heeft een grote interesse in verschillende technische gebieden, waaronder databasesystemen, computernetwerken en programmeren. Je kunt meer over hem lezen op zijn bio pagina.
Wat denk je?
6
4
11
9
16
10
Het is verwarrend om de suggestie te zien om de Strict Mode uit te schakelen in de code. Een twijfelachtig besluit inderdaad.
Het lijkt een komische tegenstrijdigheid om iets aan te bevelen en tegelijkertijd te beweren dat het niet wordt aanbevolen.
Ik ben het ermee eens dat prioriteit geven aan beveiliging altijd onbespreekbaar moet zijn bij de ontwikkeling van apps.
De afhankelijkheid van de code van AsyncTask en de juiste foutafhandeling vormen een goed voorbeeld voor andere ontwikkelaars.
Absoluut, het is belangrijk om een positief voorbeeld te geven in de ontwikkelaarsgemeenschap.
Het uitschakelen van de strikte modus wordt niet aanbevolen vanwege mogelijke beveiligings- en prestatieproblemen.
Ironisch hoe de code suggereert om de Strict Mode uit te schakelen, terwijl wordt vermeld dat dit niet wordt aanbevolen.
Akkoord, het is belangrijk om prioriteit te geven aan beveiliging en prestaties bij de ontwikkeling van Android.
Het gebruik van AsyncTask en de implementatie van UI-updates in onPostExecute laten goede codeerpraktijken zien.
Het is verfrissend om schone en georganiseerde code te zien die prioriteit geeft aan de gebruikerservaring.
Het handhaven van een hoge coderingsstandaard is inderdaad essentieel bij de ontwikkeling van software.
Het gebruik van AsyncTask in deze code demonstreert inzicht in asynchrone bewerkingen in Android.
Deze code is zeer goed gestructureerd en gemakkelijk te begrijpen. Goed werk!
Ik ben het ermee eens dat het gebruik van AsyncTask voor netwerkbewerkingen een goede gewoonte is.
Ik ben niet overtuigd door de beslissing om de Strict Mode uit te schakelen. De veiligheid mag nooit in gevaar komen.
Ik deel uw zorgen. Beveiliging moet altijd een topprioriteit zijn bij de ontwikkeling van apps.
De code demonstreert de juiste foutafhandeling en biedt informatieve berichten aan de gebruiker.
Absoluut, gebruikers moeten altijd op de hoogte worden gesteld van eventuele problemen die zich voordoen.
Foutafhandeling is in elke applicatie cruciaal om een goede gebruikerservaring te garanderen.
Het gebruik van AsyncTask in deze code zorgt voor een duidelijke scheiding tussen UI- en achtergrondtaken. Goed gedaan!
Ja, het volgt de best practices voor het afhandelen van achtergrondtaken bij Android-ontwikkeling.
Hoewel AsyncTask kan worden aanbevolen, is het belangrijk om rekening te houden met de mogelijke geheugenlekken die dit kan veroorzaken.
Het is waar dat AsyncTask tot geheugenlekken kan leiden als het niet zorgvuldig wordt gebruikt. Ontwikkelaars moeten zich hiervan bewust zijn.