Форум программистов, компьютерный форум CyberForum.ru

Подскажите с работой сервиса в андроид - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Настройка экрана при откладке в BlueStacks http://www.cyberforum.ru/android-dev/thread923545.html
Добрый день, тормоза и зависания стандартного эмулятора невыносимы. Решил перейти на BlueStacks по этой статье http://habrahabr.ru/company/infopulse/blog/148512/ в которой указано что можно менять тип экрана под мобильный как здесь https://getsatisfaction.com/bstk/topics/hxg3m5nqqxuls Однако на моем эмуляторе такой выбор просто отсутствует! см. скрин
Программирование Android Извлечение данных c TextView Здравствуйте уважаемые форумчане. Как извлеч значение TextView1? Есть TextView хочу построить процедуру if then else public void onClick(View v) { if (TextView1 == 1) { String encodedHash = Uri.encode("#"); http://www.cyberforum.ru/android-dev/thread923515.html
Узнать появился ли scroll в scrollview Программирование Android
Всем привет! Кто знает как программно узнать появился ли скролл в scrollview??
Вывести в программу дату-время компиляции Программирование Android
Дурная затея, но хочется.... Есть ли возможность либо вставить в константу в момент пер-компииляции, либо получить из каких-нибудь характеристик, уже встроенных в проект через API? На этапе отладки это проще номера версии. А отладочных устройств несколько.
Программирование Android Обращение к файлу ресурсов http://www.cyberforum.ru/android-dev/thread923296.html
Всем доброго времени суток. У меня вопрос как можно, и можно ли, обратиться к файлу ресурса моего приложения (изображение) для его последующего копирования (например на карту памяти). Собственно как скопировать я знаю, а как обратиться это вопрос.
Программирование Android Android + Firebird Всем привет ! Пытаюсь подключиться к БД Firebird из программки под Android. Здесь - http://www.firebirdnews.org/?p=8620 пишут, что всё должно работать и примерчик имеется для NB. Эмулятор андроида для NB не смог найти. Попробывал тоже самое в Eclipse, jar файл драйвера взял из примера. Вот кусок кода где происходит обращение к базе: public void myClick(View v){ TextView tvOut =... подробнее

Показать сообщение отдельно
jenyakirmiza
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 90
16.07.2013, 15:57  [ТС]
Цитата Сообщение от MonStar Посмотреть сообщение
Вам нужно использовать SyncAdapter. Это отдельная не маленькая статья, сам реализовывал первый раз его очень долго. Гугл в помощь. Если вообще никак могу помочь своими исходниками
было бы хорошо если сбросите исходники jenyakirmiza@gmail.com. я уже сделал но там есть свои проблемы. Сделал с помощью сервиса. Но теперь не знаю как обратится к этому сервису чтоб узнавать есть ли соединение с интернетом, и если нет, то остановить сервис, а потом если подключение появится запустить его обратно.



вот мой сервис:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
package com.http.gps;
 
import java.util.ArrayList;
import java.util.List;
 
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
 
import android.app.ProgressDialog;
import android.app.Service;
import android.content.Intent;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Binder;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.os.Process;
import android.util.Log;
import android.widget.Toast;
 
public class GPSService extends Service {
    
    public class LocalBinder extends Binder {
        GPSService getService() {
            return GPSService.this;
        }
    }
    // Progress Dialog
        private Double lat=0.0;
        private Double lon=0.0;
        JSONParser jsonParser = new JSONParser();
 
        // url to create new product
        private static String url_create_product = "http://www.wiseguys.com.ua/android_connect/create_product.php";
 
        // JSON Node names
      private static final String TAG_SUCCESS = "success";
      private Looper mServiceLooper;
      private ServiceHandler mServiceHandler;
 
      // Handler that receives messages from the thread
      private final class ServiceHandler extends Handler {
          public ServiceHandler(Looper looper) {
              super(looper);
          }
          @Override
          public void handleMessage(Message msg) {
              // Normally we would do some work here, like download a file.
              // For our sample, we just sleep for 5 seconds.
              while(true){
                  
              _getLocation();
              String coord1 = lat.toString();           
                String coord2 = lon.toString();
                // Building Parameters
                List<NameValuePair> params = new ArrayList<NameValuePair>();
                params.add(new BasicNameValuePair("coord1", coord1));
                params.add(new BasicNameValuePair("coord2", coord2));
                params.add(new BasicNameValuePair("description", "1"));
 
                // getting JSON Object
                // Note that create product url accepts POST method
                JSONObject json = jsonParser.makeHttpRequest(url_create_product,
                        "POST", params);
                
                // check log cat fro response
                Log.d("Create Response", json.toString());
 
                // check for success tag
                try {
                    int success = json.getInt(TAG_SUCCESS);
 
                    if (success == 1) {
                        // successfully created product
                    /*  Intent i = new Intent(getApplicationContext(), AllProductsActivity.class);
                        startActivity(i);
                        finish();
                        */
                        
                    } else {
                        // failed to create product
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
 
              long endTime = System.currentTimeMillis() + 60*1000;
              while (System.currentTimeMillis() < endTime) {
                  synchronized (this) {
                      try {
                          wait(endTime - System.currentTimeMillis());
                      } catch (Exception e) {
                      }
                  }
              }
              }
          }
          
          
      }
 
      @Override
      public void onCreate() {
        // Start up the thread running the service.  Note that we create a
        // separate thread because the service normally runs in the process's
        // main thread, which we don't want to block.  We also make it
        // background priority so CPU-intensive work will not disrupt our UI.
        HandlerThread thread = new HandlerThread("ServiceStartArguments",
                Process.THREAD_PRIORITY_BACKGROUND);
        thread.start();
        
        // Get the HandlerThread's Looper and use it for our Handler 
        mServiceLooper = thread.getLooper();
        mServiceHandler = new ServiceHandler(mServiceLooper);
      }
 
      @Override
      public int onStartCommand(Intent intent, int flags, int startId) {
          Toast.makeText(this, "service starting", Toast.LENGTH_SHORT).show();
 
          // For each start request, send a message to start a job and deliver the
          // start ID so we know which request we're stopping when we finish the job
          Message msg = mServiceHandler.obtainMessage();
          msg.arg1 = startId;
          mServiceHandler.sendMessage(msg);
          
          // If we get killed, after returning from here, restart
          return START_STICKY;
      }
      private final IBinder mBinder = new LocalBinder();
      @Override
      public IBinder onBind(Intent intent) {
          // We don't provide binding, so return null
          return mBinder;
      }
      
      @Override
      public void onDestroy() {
        Toast.makeText(this, "service done", Toast.LENGTH_SHORT).show(); 
      }
      
      
      private void _getLocation() {
            // Get the location manager
            LocationManager locationManager = (LocationManager) 
                    getSystemService(LOCATION_SERVICE);
            Criteria criteria = new Criteria();
            String bestProvider = locationManager.getBestProvider(criteria, false);
            Location location = locationManager.getLastKnownLocation(bestProvider);
            LocationListener loc_listener = new LocationListener() {
 
                public void onLocationChanged(Location l) {}
 
                public void onProviderEnabled(String p) {}
 
                public void onProviderDisabled(String p) {}
 
                public void onStatusChanged(String p, int status, Bundle extras) {}
            };
            locationManager
                    .requestLocationUpdates(bestProvider, 0, 0, loc_listener);
            location = locationManager.getLastKnownLocation(bestProvider);
            try {
                lat = location.getLatitude();
                lon = location.getLongitude();
            } catch (NullPointerException e) {
                lat = -1.0;
                lon = -1.0;
            }
        }
    }
он у меня работает не предсказуемо. Вообщем если интернет в определенный момент исчезает, то сервис почему-то перезапускатся сам. Еще интересные момент, если я снимаю задачу сервиса в диспетчера, то сервис потом опять сам запускается(ну в принципе это приятно, ведь так и нужно, но не понимаю почему так происходит)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru