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

Установка ресурсов от строки - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Скачивание приложения - в какой раздел? http://www.cyberforum.ru/android-dev/thread1632361.html
где не читаю - везде упоминают об огромном рынке в гугл андроид и что для бесплатных приложений скачивания идут на десятки тысяч. сделал приложение - инетрактивную книгу. Разместил в разделы игры...
Программирование Android Изменить формат даты Добра друзья. Не могу разобраться как поменять показ месяца сокращено. Что бы только три буквы месяца. Ссылка на github:... http://www.cyberforum.ru/android-dev/thread1632359.html
Переход к Activity по выбранному пункту из спиннера Программирование Android
Есть два спиннера со списками, нужно что б каждый элемент различных спиннеров пересылал в свои зарезервированные классы package com.example.user.algebra; import android.app.Activity; import...
Программирование Android Ошибка при создании проекта "invalid LOC header (bad signature)"
Здравствуйте! При создании нового проекта в Android Studio возникает ошибка Gradle 'MyApplication16' project refresh failed Error:Cause: invalid LOC header (bad signature) Что это и...
Программирование Android Можно ли адаптировать dimensions, исходя из фактического разрешения? http://www.cyberforum.ru/android-dev/thread1632291.html
у меня сейчас папки values-hdpi values-xhdpi и так далее. а в них файлы с установленными размерами dimension.xml но иногда попадаются телефоны в которых вот эта обобщенная плотность не...
Программирование Android Правильный URL для Автокомплита Я делаю запрос через HttpURLConnection по ссылке https://maps.googleapis.com/maps/api/place/autocomplete/json?input=tokx&types=geocode&sensor=false&key=AIzaSyArj0c_mzPfwsqoSA0U-TSEvMHx4BdQKSw, чтобы... подробнее

Показать сообщение отдельно
Molyakos
0 / 0 / 0
Регистрация: 08.09.2015
Сообщений: 31

Установка ресурсов от строки - Программирование Android

06.01.2016, 11:12. Просмотров 191. Ответов 2
Метки (Все метки)

Есть у меня главное активити:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class MainActivity extends AppCompatActivity {
 
    private static ImageView actionBarWifi;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        StatusBarControl sbc = new StatusBarControl();
        sbc.updateWifiDrawable(this);
        actionBarWifi = (ImageView)findViewById(R.id.wifiIcon);
 
    }
 
    public static void setWifiDrawable(Drawable drawable) {
        actionBarWifi.setVisibility(View.VISIBLE);
        actionBarWifi.setImageDrawable(drawable);
    }
}
Также есть второе активити, которое работает с установкой ресурсов:
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
public class StatusBarControl extends BroadcastReceiver {
    private static int wifiStrength;
    private ConnectivityManager connectivityManager;
    private WifiManager wifiManager;
 
    private void initManagers(Context context) {
        if (wifiManager == null) {
            wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
        }
        if (connectivityManager == null) {
            connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
        }
    }
 
    void updateWifiDrawable(Context context) {
        boolean flag = true;
        Object obj = null;
        initManagers(context);
        NetworkInfo networkinfo = connectivityManager.getActiveNetworkInfo();
        if (networkinfo == null || !networkinfo.isConnected()) {
            flag = false;
        }
        if (flag) {
            WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
            int rssi = wifiManager.getConnectionInfo().getRssi();
            int wifiStrength = WifiManager.calculateSignalLevel(rssi, 5);
 
            obj = (new StringBuilder()).append("ic_signal_wifi_").append(wifiStrength).append("_bar_white_24dp").toString();
            obj = context.getResources().getDrawable(getResId(((String) (obj)), Drawable.class));
        }
        MainActivity.setWifiDrawable(((android.graphics.drawable.Drawable) (obj)));
    }
 
    public static int getResId(String resName, Class<?> c) {
 
        try {
            Field idField = c.getDeclaredField(resName);
            return idField.getInt(idField);
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        }
    }
 
    public void onReceive(Context context, Intent intent) {
        initManagers(context);
                Iterator iterator = wifiManager.getScanResults().iterator();
                do {
                    if (!iterator.hasNext()) {
                        break;
                    }
                    ScanResult scanresult = (ScanResult)iterator.next();
                        int i = WifiManager.calculateSignalLevel(wifiManager.getConnectionInfo().getRssi(), scanresult.level);
                        if (scanresult.level > 0) {
                            i = (i * 100) / scanresult.level;
                        } else {
                            i = 100;
                        } if (i >= 100) {
                            wifiStrength = 4;
                        } else if (i >= 80) {
                            wifiStrength = 3;
                        } else if (i >= 60) {
                            wifiStrength = 2;
                        } else if (i >= 40) {
                            wifiStrength = 1;
                        } else if (i >= 20) {
                            wifiStrength = 0;
                        }
                } while (true);
            updateWifiDrawable(context);
        }
    }
Но вылезает ошибка NoSuchFieldException, а в последствии и NotFoundException, хотя файл существует, лежит в папке Drawable. Логи:
Кликните здесь для просмотра всего текста

01-06 14:01:41.916 3709-3709/? W/System.err: java.lang.NoSuchFieldException: ic_signal_wifi_4_bar_white_24dp
01-06 14:01:41.916 3709-3709/? W/System.err: at java.lang.Class.getDeclaredField(Class.java)
01-06 14:01:41.916 3709-3709/? W/System.err: at com.example.sergey.mywifi.StatusBarControl.getResId(StatusBarControl.java:51)
01-06 14:01:41.916 3709-3709/? W/System.err: at com.example.sergey.mywifi.StatusBarControl.updateWifiDrawable(StatusBarControl.java:43)
01-06 14:01:41.916 3709-3709/? W/System.err: at com.example.sergey.mywifi.MainActivity.onCreate(MainActivity.java:18)
01-06 14:01:41.916 3709-3709/? W/System.err: at android.app.Activity.performCreate(Activity.java)
01-06 14:01:41.916 3709-3709/? W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java)
01-06 14:01:41.916 3709-3709/? W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java)
01-06 14:01:41.916 3709-3709/? W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)
01-06 14:01:41.916 3709-3709/? W/System.err: at android.app.ActivityThread.access$600(ActivityThread.java)
01-06 14:01:41.916 3709-3709/? W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
01-06 14:01:41.916 3709-3709/? W/System.err: at android.os.Handler.dispatchMessage(Handler.java)
01-06 14:01:41.916 3709-3709/? W/System.err: at android.os.Looper.loop(Looper.java)
01-06 14:01:41.916 3709-3709/? W/System.err: at android.app.ActivityThread.main(ActivityThread.java)
01-06 14:01:41.916 3709-3709/? W/System.err: at java.lang.reflect.Method.invokeNative(Native Method)
01-06 14:01:41.916 3709-3709/? W/System.err: at java.lang.reflect.Method.invoke(Method.java)
01-06 14:01:41.916 3709-3709/? W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
01-06 14:01:41.916 3709-3709/? W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
01-06 14:01:41.916 3709-3709/? W/System.err: at dalvik.system.NativeStart.main(Native Method)
01-06 14:01:41.916 3709-3709/? W/ResourceType: No known package when getting value for resource number 0xffffffff
01-06 14:01:41.916 3709-3709/? W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x4104bba0)
01-06 14:01:41.916 710-787/? E/EmbeddedLogger: App crashed! Process: com.example.sergey.mywifi
01-06 14:01:41.916 710-787/? E/EmbeddedLogger: App crashed! Package: com.example.sergey.mywifi v1 (1.0)
01-06 14:01:41.916 710-787/? E/EmbeddedLogger: Application Label: mywifi


01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: FATAL EXCEPTION: main
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sergey.mywifi/com.example.sergey.mywifi.MainActivity}: android.content.res.Resources$NotFoundException: Resource ID #0xffffffff
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: Caused by: android.content.res.Resources$NotFoundException: Resource ID #0xffffffff
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.content.res.Resources.getValue(Resources.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.content.res.Resources.getDrawable(Resources.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at com.example.sergey.mywifi.StatusBarControl.updateWifiDrawable(StatusBarControl.java:43)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at com.example.sergey.mywifi.MainActivity.onCreate(MainActivity.java:18)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java)
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java)*
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)*
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java)*
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java)*
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java)*
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java)*
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java)*
01-06 14:01:41.916 3709-3709/? E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)*

Вроде все по инструкции. Укажите, пожалуйста, на ошибки. Что не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru