Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
I have some problems with the order of method in my app. How i can take the control of time in an Android app? How i can know how many time is elapsed from the start of app? For more accuracy, I would say at 3 seconds from the start of this app, i want make happen this, like an invisible chronometer that, at one second, applies a method that i choose. I hope the question is easy to understand. Thanks in advance!
If You want to run task at once only you can use
new Timer().schedule(task, after);
And for multiple time execution
new Timer().scheduleAtFixedRate(task, after, interval);
for more details java.util.Timer.
Take a look of this library, Hugo
https://github.com/JakeWharton/hugo
With this you can control how many time elapsed in the methods.
To control how many time elapsed from app start until, for example, first activity is shown you have to:
First, extends Application class, you have and example here
http://www.devahead.com/blog/2011/06/extending-the-android-application-class-and-dealing-with-singleton/
In the onCreate method of that class, save the time with System.currentTimeMillis() method
Then create a static method
public long getCurrentTimeFromStart() {
long current = System.currentTimeMillis();
return mInitialTime - current;
}
Call this method in onCreate method of your MainActivity or only the first time is called onResume for a more accurate time.
And for the last question you can use #Keyur Lakhani answer and user Timer class to schelude Runnables
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
In a spring boot web application, I need to be able to do two tasks.
Tasks
Always check on the serial port if there is some data to read. Somebody can have passed a card on the scan. I think this task needs to start with the application.
If a new member comes, I need to scan a card, task 1 needs to be suspended/stopped... if the card is not assigned to anybody, it's assigned to this member. Restart task 1.
I don't know what is the best way to do task 1 to facilitate task 2.
I see there are many possibility: #Scheduled, TaskScheduler who will execute a thread...
Any suggestions?
You should make one Thread that reads data from the serial port in a loop and dispatches this data as events when something usefull was readed to a proper service that will serve this.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I have an interesting scenario based question related to java threads.
Sam has designed an application. I t segregates tasks that are critical and executed frequently from tasks that are non critical and executed less frequently. He has prioritized these tasks based on their criticality and frequency of execution. After close scrutiny, he finds that the tasks designed to be non critical are rarely getting executed. From what kind of problem is the application suffering?
I have figured it out as "Starvation" but i am still confuse whether I am right or wrong.
Starvation is a reasonable term for what is going on here. However, your lecturer might have something more specific in mind (... I'm not sure what ...) so check your lecture notes and text books.
... i am still confuse whether I am right or wrong.
If you stated why you are confused, we might be able to sort out your confusion.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question appears to be off-topic because it lacks sufficient information to diagnose the problem. Describe your problem in more detail or include a minimal example in the question itself.
Closed 8 years ago.
Improve this question
I am struggling to understand why every time I use threads in java i have call the .sleep() method first. I would like someone to explain to me why is it useful to call the sleep method.
And what could happen if it is not called.
Thread.sleep causes the current thread to suspend execution for a specified period. This is an efficient means of making processor time available to the other threads of an application or other applications that might be running on a computer system. The sleep method can also be used for pacing, as shown in the example that follows, and waiting for another thread with duties that are understood to have time requirements, as with the SimpleThreads example in a later section.
For more information, please refer to this link: http://docs.oracle.com/javase/tutorial/essential/concurrency/sleep.html
Sleep is used to pause the thread for x number of milliseconds, as specified in the documentation
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am working on a android application where shake detection is required, which is already implemented and working perfect. I am using Accelerometer to detect shake.
Here is my question:
Current implementation is using/listening sensor on main UI thread, which is working perfect as of now. But still I am confused about the best practice to use the sensor, what it is? to run on Main Thread or on Separate Thread?
if Main Thread, its pretty clear me.
if your suggestion is Separate Thread, then why so?
One more thing, on the name of processing after shake detection, I am doing network request which is on Separate Thread, so no load of after detecting shake, only thing I care about is how costly it is to Start Listening to a sensor on main thread.
With simple sensor detection it is more than adequate to use the main UI thread. Starting up a separate thread with sensors would require a handler and thread cleanup. You are adding unnecessary steps.
If you are already pushing your ui you are likely better off moving some of your other bulk off of the main thread. Sensors are just handled really efficiently with Android already, moving it off the thread won't help as much as it could hurt if you aren't careful.
Now performing operations on the data you get from sensors (like location from GPS) is a whole different ballgame, and something that will very possibly need it's own thread.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Working on a small internet application, I need to deal with a service out-of-service situation. What is a good approach of retry after an exception?
The simplest solution (though maybe not the best) would be to return an error page to the user (with status 503: Service Unavailable), and tell him he should try again in a few seconds.
Depends on how long your application will be out of service but I will go with one of those :
- if the interruption is short less than one minute, loop and try to call the function/service/ ....
- if the interruption could be longer, you could use a JavaScript routine that would automatically refresh the page ... every 60s
- As Eran Zimmerman's answer, display an error page and advice the user to try again later
You don't want to beat your application to death with repeated retries. Returning an error page is not that bad an option. If you must retry (you have some flaky service where you can't cache the results) then use a backing-off approach where with each retry you double the time until the next try.