Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6024197
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T04:07:12+00:00 2026-05-23T04:07:12+00:00

I think I already know the answer to this question because it seems, uh,

  • 0

I think I already know the answer to this question because it seems, uh, will uh a bit far fetched. But I am seriously looking for a solution.

Suppose that I have an Activity, call it Bluetooth activity, that starts a bluetooth background thread and the thread runs forever even when the Bluetooth Activity goes away – yes it really does run forever. This bluetooth background thread is a data acquisition thread that continually collects data to be plotted by an Activity, call it Plot activity, in real-time. We can refer to the plotting method as a static method called Plot.plotData();

My problem is I can’t tell when the Plot activity is active, so I cannot tell when to start calling Plot.data(). You might think that since Plot.plotData() is a static method I can call it anytime I want. But not so. I have to wait until Plot is instantiated through Intent() and startActivity. Otherwise Plot’s onCreate() method has not been called and Plot is full of null pointers.

How do I solve this problem. Add a static getter/setter that is initially false until onCreate is run?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T04:07:13+00:00Added an answer on May 23, 2026 at 4:07 am

    Suppose that I have an Activity, call it Bluetooth activity, that starts a bluetooth background thread and the thread runs forever even when the Bluetooth Activity goes away – yes it really does run forever.

    It will not, unless you put it in a Service. Do not leak threads from an Activity, please.

    Please note that you have been told this already.

    We can refer to the plotting method as a static method called Plot.plotData();

    This should not be a static method, as I told you before.

    My problem is I can’t tell when the Plot activity is active, so I cannot tell when to start calling Plot.data().

    Which is why the Plot activity should be responsible for its own drawing. Your background thread in your Service should solely be handling data collection. You can arrange to get the data from the Service to the Plot activity via a Messenger, or via bindService() and a callback, or other means.

    The design of a service doing the data collection and activities displaying the results is pervasive in Android. Email clients use services to collect new email messages. Feed readers use services to collect the latest feed updates. And so on. You just happen to be collecting information via Bluetooth, whereas most of the examples of this concept will collect information over the Internet.

    So, to recap: move your Bluetooth data collection logic into a Service, using a background thread (or threads, plural, if needed). Arrange for the Service to deliver the data to the Plot activity as it arrives. Have the Plot activity display the results.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

No related questions found

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.