BTW Why are you calling startService in the stopservices part of the
switch statement in your code?

On Feb 9, 10:30 am, Walaa Mahmoud <walaamahmou...@gmail.com> wrote:
> Thanks for replaying i saw this link before i asked but no result ,i start
> service via intent here is the code :
>
> public boolean onOptionsItemSelected(MenuItem item) {
> switch (item.getItemId()) {
> case R.id.prefs:
>
> startActivity(new Intent(MarkanaActivity.this, Prefs.class));
> break;
>  case R.id.startservices:
>
> startService(new Intent(MarkanaActivity.this, UpdaterServices.class));
>           break;
>
> case R.id.stopservices:
>  startService(new Intent(MarkanaActivity.this, UpdaterServices.class));
>           break;
>
> }
>
> return true;
>
>
>
> On Thu, Feb 9, 2012 at 3:04 PM, Chris Mawata <chris.maw...@gmail.com> wrote:
> > Take a look at
> >http://developer.android.com/reference/android/app/Service.html
> > It depends on how you are starting the service.
>
> > On Feb 9, 5:25 am, AndroidGirl8 <walaamahmou...@gmail.com> wrote:
> > > Hi all,
> > > i'm  trying to  make service getting twitter update by a thread every
> > > 5secs
> > > start service just fine and getting new twittes and inserting to
> > > database but i cant close service and it continue working untill force
> > > close
>
> > > here is my code :
>
> > > public class UpdaterServices extends Service {
>
> > >         private static final String TAG =
> > > UpdaterServices.class.getSimpleName();
> > >         updater up;
>
> > >         @Override
> > >         public IBinder onBind(Intent intent) {
> > >                 // TODO Auto-generated method stub
> > >                 return null;
> > >         }
>
> > >         @Override
> > >         public void onCreate() {
> > >                 super.onCreate();
> > >                 up = new updater();
> > >                 Log.d(TAG, "check on create");
> > >         }
>
> > >         @Override
> > >         public synchronized void onStart(Intent intent, int startId) {
> > >                 super.onStart(intent, startId);
>
> > >                 if (up.isRunning() == false) {
> > >                         up.start();
> > >                         Log.d(TAG, "check onstart");
> > >                 }
> > >         }
>
> > >         @Override
> > >         public synchronized void onDestroy() {
>
> > >                 super.onDestroy();
>
> > >                 if (up.isRunning() == true) {
>
> > >                         up.interrupt();
> > >                 }
> > >                 up = null;
> > >                 Log.d(TAG, "check ondestroy");
>
> > >         }
>
> > >         class updater extends Thread {
>
> > >                 final static int Delay = 5000;
> > >                 private boolean running = false;
>
> > >                 public void run() {
>
> > >                         running = true;
> > >                         while (running) {
> > >                                 try {
>
> > >                                         // ///open database and
> > inserting what we get from twitter
> > >                                         // into our sqlite new schema
> > >                                         DBHelper dhhelper = new
> > DBHelper(UpdaterServices.this);
> > >                                         SQLiteDatabase db =
> > dhhelper.getWritableDatabase();
>
> > >                                         Twitter twitter =
> > ((MarkanaApplication) getApplication())
> > >                                                         .gettwitter();
> > >                                         List<Status> s =
> > twitter.getFriendsTimeline();
> > >                                         ContentValues value = new
> > ContentValues();
> > >                                         for (Status w : s) {
> > >                                                 value.put(DBHelper.C_ID,
> > w.id);
>
> > value.put(DBHelper.C_CreatedAt, w.createdAt.getTime());
>
> > value.put(DBHelper.C_User, w.user.name);
>
> > value.put(DBHelper.C_Text, w.text);
>
> > >                                                 try {
>
> > db.insertWithOnConflict(DBHelper.Table, null,
>
> > value, SQLiteDatabase.CONFLICT_REPLACE);
> > >                                                 } catch (Exception e) {
>
> > >                                                 }
>
> > >                                                 Log.d(TAG,
> > String.format("%s %s", w.user.name, w.text));
>
> > >                                         }
>
> > >                                         // ///close databases which we
> > opened
>
> > >                                         db.close();
> > >                                         dhhelper.close();
>
> > >                                         Log.d(TAG, "running thread");
> > >                                         Thread.sleep(Delay);
>
> > >                                 } catch (InterruptedException e) {
> > >                                         running = false;
>
> > >                                 }
>
> > >                         }
>
> > >                 }
>
> > >                 public boolean isRunning() {
>
> > >                         return running;
>
> > >                 }
>
> > >         }
>
> > > }
>
> > > what is wrong in my code or how can stop service when user click on
> > > stop ??
> > > another question  what better using Asynctask instead of service
> > > cause i can control in it better than service or service just fine ??
>
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Android Developers" group.
> > To post to this group, send email to android-developers@googlegroups.com
> > To unsubscribe from this group, send email to
> > android-developers+unsubscr...@googlegroups.com
> > For more options, visit this group at
> >http://groups.google.com/group/android-developers?hl=en- Hide quoted text -
>
> - Show quoted text -

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to