Új hozzászólás Aktív témák
-
domel
tag
Igazatok volt a text fájl internetes letöltésében, UI szálon esélytelen, találtam is működő példát, az valahogy async eljárásban tölt le az internetről. Az alábbi kóddal szenvedtem pár órát, egy Delphi-ben ismeretlen problémám volt, mutatom:
(van egy weboldalon egy counter.txt fájl, amiben a számot egy mozgásérzékelő növel ha változás van, akkor lejátszik egy másodperces hangot a telefon)package com.example.csabi.gondolok;
import android.media.MediaPlayer;
import android.os.AsyncTask;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
String textResult;
String egyik;
String masik;
MediaPlayer mySound;
private Handler handler = new Handler();
Random rand = new Random();
public Runnable r = new Runnable() {
@Override
public void run() {
TextView mtextview = (TextView) findViewById(R.id.mTextView);
mtextview.setText(egyik+"---"+masik);
if (egyik != masik){
mySound.start();
masik = egyik;
}
new MyTask().execute();
handler.postDelayed(this,5000);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mySound = MediaPlayer.create(this,R.raw.sound3);
Thread lessThread = new Thread(r);
lessThread.start();
}
public void frissit(View view) {
}
public void fressit(View view) {
}
private class MyTask extends AsyncTask<Void, Void, Void> {
//String textResult;
@Override
protected Void doInBackground(Void... params) {
URL textUrl;
try {
int n = rand.nextInt(9000);
textUrl = new URL("http://www.spessart.hu/counter.txt?a="+Integer.toString(n));
BufferedReader bufferReader
= new BufferedReader(new InputStreamReader(textUrl.openStream()));
String StringBuffer;
String stringText = "";
while ((StringBuffer = bufferReader.readLine()) != null) {
stringText += StringBuffer;
}
bufferReader.close();
textResult = stringText;
} catch (MalformedURLException e) {
e.printStackTrace();
textResult = "*";//e.toString();
} catch (IOException e) {
e.printStackTrace();
textResult = "*";//e.toString();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
egyik = textResult;
int gz = Integer.parseInt(egyik);
egyik = Integer.toString(gz);
}
}
}Itt a végén
egyik = textResult;
int gz = Integer.parseInt(egyik);
egyik = Integer.toString(gz);
ha az "egyik = textResult" csak úgy simán, akkor öt másodpercenként pittyeg, hiába látom hogy például
42---42 akkor is lefut az alábbi kód
if (egyik != masik){
mySound.start();
masik = egyik;
}
Ez mitől van? A string tartalmazza a memóriacímet is??? Vagy bug?Üdv: Domel
Új hozzászólás Aktív témák
- Elektromos autók - motorok
- Katasztrofális PC-piacra figyelmeztet az IDC
- Razr különkiadással készül a foci vb-re a Motorola
- Xiaomi 15T Pro - a téma nincs lezárva
- Jogász topik
- Milyen belső merevlemezt vegyek?
- Azonnali fáradt gőzös kérdések órája
- Tidal
- Xiaomi 17 Ultra - jó az optikája
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- Xiaomi Redmi Note 14 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- iPhone SE 2020 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4594
- LG 27GR93U-B - 27" IPS - UHD 4K - 144Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDR 400
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
- MSI CreatorPro Z16P RTX A5500 TOUCH! (vapor chamberrel)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
