Luj*_*ska 7 c# multithreading android xamarin
如何以1秒的间隔或"While(True)"循环以1秒的线程睡眠代码运行此代码?
private void GetCodeOnServer()
{
WebClient _client = new WebClient();
string _code = _client.DownloadString(new Uri(@"http://myUrl/car"));
Toast.MakeText(this, "Code: " + _code, ToastLength.Long).Show();
}
Run Code Online (Sandbox Code Playgroud)
小智 18
如果您需要以1秒的间隔执行某些操作,则可以使用计时器.我自己在Xamarin.Android中使用过这样的代码:
private void CountDown ()
{
System.Timers.Timer timer = new System.Timers.Timer();
timer.Interval = 1000;
timer.Elapsed += OnTimedEvent;
timer.Enabled = true;
}
private void OnTimedEvent(object sender, System.Timers.ElapsedEventArgs e)
{
}
Run Code Online (Sandbox Code Playgroud)
然后OnTimedEvent将每秒触发,您可以在异步任务中进行调用.
小智 0
您将无法在 Activity 主线程上调用 Web。使用异步任务来执行您的代码。异步任务将在后台运行,下载内容后将为您显示 Toast。下面的示例会有所帮助。
private class GetStringTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
String str = "...";
/** String From Web **/
return str;
}
@Override
protected void onPostExecute(String address) {
// Show Toast Here
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16603 次 |
最近记录: |