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

Как обновить домашний виджет с данными вытащил из JSON файл - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как лучше "повесить" обработчик событий на пункты списка, а потом отлавливать нажатие на них http://www.cyberforum.ru/android-dev/thread1084621.html
Здравствуйте! Ниже приведенный код, получает json строку, затем достает от туда массив и данные из каждой строчки массива, распихивает в "маленькие" layout'ы которые в свою очередь закидываются в LayoutInflater, таким образом получается список. Натолкните, пожалуйста, на мысль, как лучше реализовать. Что бы в одной строке(в "маленьком" layout'е) не выводить все, а только одну строчку, все...
Программирование Android Проверка на существование массива Здравствуйте. есть такой код. ... for(int i=0; i<3; i++){ Log.d(ci+" ",label_str.toString().length()+""); // <- падает здесь с java.lang.NullPointerException } ...нужно проерить строки пустые или нет как быть? http://www.cyberforum.ru/android-dev/thread1084606.html
Программирование Android Сериализация
У меня есть ArrayList<ZoneView>; который я сериализую в функции onPause(); но при десериализации обратно из файла я получаю только поля протого типа(int), а ArrayList<CategoryForZone> путой, подскажите, как лучше сериализовать объекты типа ZoneView Поля классов: public class ZoneView implements Serializable{ private static final long serialVersionUID = 2952056031459050819L; //Поля...
Работа с разными пакетами Программирование Android
Всем доброго дня. Подскажите ссылку - не смог найти нормального объяснения в гугле. Нужно реализовать чтобы в приложении было несколько пакетов и в зависимости от условия приложение выбирало нужный для работы, ну стандартный пример: com.site.name.pro com.site.name.free Соответственно могу ли я сделать папки layout-pro и layout-free чтобы подгружать разные xml для работы с каждым...
Программирование Android Не могу загрузить преференс http://www.cyberforum.ru/android-dev/thread1084426.html
Здравствуйте! Записать в preferences получилось в классе public class MainActivity extends Activity А получить в этом классе не могу public class MyClass extends BroadcastReceiver Делаю это в методе onReceiver вот таким способом: link = ctx.getSharedPreferences("my_prefs", Context.MODE_PRIVATE).getString(SAVED_TEXT, "Exist"); link это переменная класса. Переменная SAVED_TEXT тоже в...
Программирование Android Не получается запустить приложение на реальном устройстве Я новичок в разработке ПО под данную ось сразу отмечу... Вообщем учусь и пытаюсь разобраться что и как кодить для андройд... впринципе уже разобрался основное что делать, но всё запускаю на эмуляторе, а хотелось бы и ради теста запустить написанное на реальном устройстве... у меня в наличии тел под андройд версии 4.1.2 читаю манулы разный..вроде всё написано просто: 1) кабель к ноуту 2)... подробнее

Показать сообщение отдельно
xonski
1 / 1 / 0
Регистрация: 24.07.2013
Сообщений: 35

Как обновить домашний виджет с данными вытащил из JSON файл - Программирование Android

29.01.2014, 18:00. Просмотров 623. Ответов 0
Метки (Все метки)

есть домашний виджет, который "должен" дисплей тексты и изображения, как только вытащил из файла JSON с моего сервера, но это ничего не показывая.

Мой кода Java:
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
public class DisplayHadith extends AppWidgetProvider {
 
    public static String CLOCK_WIDGET_UPDATE = "CLOCK_WIDGET_UPDATE";
 
    
    DefaultHttpClient httpclient;
    HttpPost httppost;
    InputStream inputStream = null;
    String result = null;
    StringBuilder sb;
    JSONArray jsonArray;
    String[] date, quote;
    RemoteViews views;
 
    @Override
    public void onReceive(Context context, Intent intent) {
        super.onReceive(context, intent);
 
        if (CLOCK_WIDGET_UPDATE.equals(intent.getAction())) {
            Toast.makeText(context, "onReceiver()", Toast.LENGTH_LONG).show();
        }
 
        new GetJSON().execute();
    }
 
    public void onUpdate(Context context, AppWidgetManager appWidgetManager,
            int[] appWidgetIds) {
        final int N = appWidgetIds.length;
 
        Log.i("ExampleWidget",
                "Updating widgets " + Arrays.asList(appWidgetIds));
 
        // Perform this loop procedure for each App Widget that belongs to this
        // provider
        for (int i = 0; i < N; i++) {
            int appWidgetId = appWidgetIds[i];
 
            // Create an Intent to launch MainActivity
            Intent intent = new Intent(context, MainActivity.class);
            PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
                    intent, 0);
 
            // Get the layout for the App Widget and attach an on-click listener
            // to the button
            views = new RemoteViews(context.getPackageName(),
                    R.layout.widgetlayout);
 
            views.setOnClickPendingIntent(R.id.ivCal, pendingIntent);
            views.setOnClickPendingIntent(R.id.tvParkStatus, pendingIntent);
            views.setOnClickPendingIntent(R.id.tvToday, pendingIntent);
 
            views.setTextViewText(R.id.tvParkStatus,
                    "Alternate Parking is Suspended");
 
            // Tell the AppWidgetManager to perform an update on the current app
            // widget
            appWidgetManager.updateAppWidget(appWidgetId, views);
        }
    }
 
    public static void updateAppWidget(Context context,
            AppWidgetManager appWidgetManager, int appWidgetId) {
        RemoteViews updateViews = new RemoteViews(context.getPackageName(),
                R.layout.widgetlayout);
        appWidgetManager.updateAppWidget(appWidgetId, updateViews);
    }
 
    public class GetJSON extends AsyncTask<Void, Void, Void> {
        @Override
        protected Void doInBackground(Void... params) { // Running in background
            try {
                httpclient = new DefaultHttpClient(new BasicHttpParams());
                HttpPost httppost = new HttpPost(
                        "http://bri.ge/api/getList.aspx?count=20");
                // Depends on your web service
                httppost.setHeader("Content-type", "application/json");
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
 
                inputStream = entity.getContent();
                // json is UTF-8 by default
                BufferedReader reader = new BufferedReader(
                        new InputStreamReader(inputStream, "UTF-8"), 8);
                sb = new StringBuilder();
 
                String line = null;
                while ((line = reader.readLine()) != null) {
                    sb.append(line + "\n");
                }
                result = sb.toString();
 
            } catch (Exception e) {
                Log.i("TEST", e.toString());
                // Oops
            } finally {
                try {
                    if (inputStream != null)
                        inputStream.close();
                } catch (Exception squish) {
                }
            }
            return null;
        }
 
        @Override
        protected void onPreExecute() { // Activity is on progress
        }
 
        @Override
        protected void onPostExecute(Void v) {
            try {
                jsonArray = new JSONArray(result);
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject jsonObj = (JSONObject) jsonArray.get(i);
                    date[i] = jsonObj.getString("statID");
                    quote[i] = jsonObj.getString("journal");
 
                }
                views.setTextViewText(R.id.tvToday, date[0]);
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru