Hirdetés
Ú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
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- MasterDeeJay: Comet lake (10gen) és DDR3 - mert ilyet is lehet!
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Mini-ITX
- Milyen autót vegyek?
- Bakelit, vinyl lemezjátszó
- Építő/felújító topik
- Szeged és környéke adok-veszek-beszélgetek
- iPhone topik
- További aktív témák...
- Dell Alienware AW2721D - NANO IPS - 27' - 2K - 240hz
- Eladó Seasonic Focus Gx-750 tápegység!
- Újszerű Lenovo 15,6"FullHD,10.gen.Core i5(8x3,6Ghz)Intel UHD VGA,8-40GB DDR4 RAM/256-512SSD,jó akku
- Óriás! Gamer PC-Számítógép! Csere-Beszámítás! R7 5700 / RTX 3080 / 16GB DDR4 / 512GB SSD!
- Eladó Gainward Phatom RTX 4080-as videokártya!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

