• Разработка под Android: как сделать Activity по типу Настройки -> О телефоне -> Общая информация?

    palmut
    @palmut
    А вот такой вариант не подойдет?

    Это код активити:
    public class TestActivity extends ListActivity {
    
    	private final static String TITLE_KEY = "title";
    	private final static String DESCRIPTION_LEY = "description";
    
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    
    		List<Map<String, String>> data = new ArrayList<Map<String, String>>();
    		int count = 10;
    		for (int i = 1; i <= count; i++) {
    			final HashMap<String, String> item = new HashMap<String, String>();
    			item.put(TITLE_KEY, String.format("Title %d", i));
    			item.put(DESCRIPTION_LEY, String.format("Description %d", i));
    			data.add(item);
    		}
    
    		setListAdapter(new SimpleAdapter(this, data, android.R.layout.simple_list_item_2, new String[] { TITLE_KEY,
    						DESCRIPTION_LEY }, new int[] { android.R.id.text1, android.R.id.text2 }));
    	}
    
    }
    


    А это код лейаута mail.xml:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <ListView
            android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1" />
    
        <TextView
            android:id="@android:id/empty"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:text="No data" />
    
    </LinearLayout>
    
    Ответ написан
    2 комментария
  • Android, глобальные данные

    palmut
    @palmut
    Лучше данные хранить либо в SharedPreferences, либо в файлах кеша. Зависит от размера и формата самих данных. А доступ к ним обеспечить через наследника Application. Если данных очень много, то лучше их хранить в базе SQLite и работать через провайдер. Никто никогда не гарантирует время жизни приложения — система сама определяет когда выгружать по мере надобности. Теоретически можно написать свой Service, который будет «висеть» в памяти постоянно, но пользователи приложения это не оценят.
    Ответ написан
    5 комментариев
  • Android, проблемы после обновления SDK?

    palmut
    @palmut
    На Windows 7 x64 помогает метод описаный на StackOverflow: изменение в фале файла [Android SDK Installation Directory]\tools\proguard\bin\proguard.bat строки:
    call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*

    на
    call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
    Ответ написан
    Комментировать
  • Android, смена локализации приложения на лету

    palmut
    @palmut
    Рестартовать активити придется в любом случае, чтобы новые ресурсы подгрузились, а сделать это можно вот так:
    protected void restart() {
    	Intent intent = getIntent();
    	finish();
    
    	startActivity(intent);
    }
    
    Ответ написан
  • Как делать дизайн для Android?

    palmut
    @palmut
    Рисовать надо обязательно для трех плотностей экранов. Стандартная схема — рисуется для MDPI устройств, потом адаптируется для HDPI и LDPI. А вот привязываться к пикселям не стоит совсем. Надо работать как с web страницей. Уточните вопрос — может речь идет о каком-то аналоге splash-страницы? Как вариант — можно фон сделать однотонным либо пригодным для растягивания и на нем отдельно расположить нужные компонеты (иконки, текст). Но сначала хорошо подумать насколько этот splash нужен.

    Так же учитывайте, что экраны могут быть с другими соотношениями сторон (когда ширина больше высоты например). В этом случае приложение «залоченное» только на портретный режим будет «лежать» на боку.
    Ответ написан
    Комментировать
  • Скины для android приложения

    palmut
    @palmut
    А почему для этой цели нельзя использовать атрибуты? Вынести в атрибуты фоновые картинки и цвета, которые специфичны теме и переопределить в темах эти атрибуты. Далее используем стандартный механизм переключения тем.
    Ответ написан
    Комментировать