scorpio18k
public class MainActivity extends ActionBarActivity {

static WifiManager wifiManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

TextView myTextView = (TextView) findViewById(R.id.helloW);
myTextView.setText("");
wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
new TyperTask(myTextView, "Jest", 10000).execute();
}

}

class TyperTask extends AsyncTask {
TextView mTextView;
String mMessage;
int mTypingDelay;

TyperTask(TextView textView, String message, int typingDelay) {
this.mTextView = textView;
this.mMessage = message;
this.mTypingDelay = typingDelay;
}

@Override
protected Void doInBackground(Void... params) {
for (int i = 0; i < mMessage.length(); i++) {
publishProgress(String.valueOf(mMessage.charAt(i)));

if(MainActivity.wifiManager.isWifiEnabled()){
MainActivity.wifiManager.setWifiEnabled(false);
}else{
MainActivity.wifiManager.setWifiEnabled(true);
}

try {
Thread.sleep(mTypingDelay);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return null;
}

}

Szukam błędu.
Program ma wyświetlać "J" i włączyć wifi, później "e" i wyłączyć wifi, później "s" - wifi włączone itd...
Kompiluje się dobrze, tylko na telefonie pokazuje się "aplikacja została zatrzymana"
Widzicie gdzieś błąd?

#androiddev #programowanie
  • Najlepsze
  • Wszystkie komentarze
G.....n
G.....n
if(MainActivity.wifiManager.isWifiEnabled()){
MainActivity.wifiManager.setWifiEnabled(false);
}else{
MainActivity.wifiManager.setWifiEnabled(true);
}

@scorpio18k: Nie znam się na Javie, ale śmiechłem z tego. #itgraduate
404notfound
404notfound
@scorpio18k: a w logcacie pusto? zero wyjątków?
scorpio18k
scorpio18k Autor
0
@Ginden: Ma zmieniać stan wifi
jblck
jblck
@scorpio18k: W manifescie dodaj permission CHANGEWIFISTATE
K.....l
K.....l
@Ginden:
@scorpio18k: znam się na javie i prychlem z tego :D
7.....n
7.....n
@scorpio18k
@Ginden chodzi o to, ze zamiast korzystac z if-elsa lepiej by bylo jakbys napisal np. cos takiego:
boolean isWifiEnabled = MainActivity.wifiManager.isWifiEnabled()
MainActivity.wifiManager.setWifiEnabled(!isWifiEnabled)

Odnosnie bledu: pokaz Logcata.
scorpio18k
scorpio18k Autor
0
@jblck: dodane, musi być błąd w kodzie
chore_kalafiory
@scorpio18k: czemu nie zamieścisz logów? na pewno nie jest to nic wielkiego i logi od razu zasugerują co jest źle
scorpio18k
scorpio18k Autor
0
@404notfound: @Ginden: @jblck: @
scorpio18k
scorpio18k Autor
0
@404notfound: @Ginden: @jblck: @Kuriozal: @7malan: @chore_kalafiory:

Gdyby to kogoś interesowało to trzeba było dodać "public" przed
static WifiManager wifiManager;
(a myślałem, że taki zapis ma zasięg pakietu... )
MacDada