Ответы пользователя по тегу Android
  • Java создание элементов массива!?

    timych
    @timych
    По русски вы действительно не умеете писать. Из того что я понял (не уверен что правильно) - вы пытаетесь присвоить переменной, находящейся в другом классе и имеющей модификатор "final", новое значение. Читайте про модификатор "final"- opensourcerules.net/java/gl4_2.html
    Более того хорошим тоном является присваивание значений через "сеттеры" а не напрямую. К тому же у вашей переменной temp не указан модификатор доступа, а это значит что переменная будет доступна только внутри своей папки(package).

    Да и неплохо было бы выложить код и ошибки компилятора, чтобы понимать что вы пытаетесь сделать.
    Ответ написан
    Комментировать
  • А вы синхроризируете свои проекты с удаленным каким то сервисом, например гитхаб?

    timych
    @timych
    Свои личные проекты храню на bitbucket. Исключительно удобная штука, к тому же как выше сказали, приватные репозитории в отдичии от github бесплатны.
    Ответ написан
    Комментировать
  • Как реализовать таймер, работающий на массиве дат?

    timych
    @timych
    Вот наваял (надеюсь что правильно понял задачу):
    package application;
    
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Locale;
    import java.util.Timer;
    import java.util.TimerTask;
    
    /**
     * @author Timur Nikiforov
     */
    public class Clazz {
    
    	private Timer dateTimer;
    
    	private Timer remainderTimer;
    
    	private Date nextDate;
    
    	private boolean remainderTimerStarted;
    	
    	private static final long REMINDER_UPDATE_INTERVAL = 1000; 
    
    	private static final String[] DATES = { "12.04.2015 19:56", "12.04.2015 19:57", "12.04.2015 19:58" };
    
    	private int currentIndex;
    
    	public Clazz() {
    		dateTimer = new Timer();
    	}
    
    	public static void main(String[] args) {
    		Clazz instance = new Clazz();
    		instance.run();
    	}
    
    	private void run() {
    		nextDate = parseDate(DATES[currentIndex]);
    		schedule();
    	}
    
    	public void schedule() {
    		runSecondsCounter();
    		dateTimer.schedule(new TimerTask() {
    
    			@Override
    			public void run() {
    
    				System.out.println("Current date is:" + new Date());
    				currentIndex++;
    				if (currentIndex < DATES.length) {
    					nextDate = parseDate(DATES[currentIndex]);
    					System.out.println("Next date is:" + nextDate);
    					schedule();
    				} else {
    					remainderTimer.cancel();
    				}
    			}
    		}, nextDate);
    
    	}
    
    	private Date parseDate(String nextDate) {
    		Date date = null;
    		DateFormat format = new SimpleDateFormat("dd.MM.yyyy HH:mm",
    				Locale.ENGLISH);
    		try {
    			date = format.parse(nextDate);
    		} catch (ParseException e) {
    			e.printStackTrace();
    		}
    		return date;
    	}
    
    	private void runSecondsCounter() {
    		if (remainderTimerStarted) {
    			remainderTimer.cancel();
    		}
    
    		remainderTimer = new Timer();
    		remainderTimer.scheduleAtFixedRate(new TimerTask() {
    
    			@Override
    			public void run() {
    				remainderTimerStarted = true;
    				long remains = nextDate.getTime() - new Date().getTime();
    				System.out.println("Remains: " + (remains / 1000) + " seconds");
    			}
    		}, REMINDER_UPDATE_INTERVAL, REMINDER_UPDATE_INTERVAL);
    	}
    }


    Разберетесь без комментов?
    Ответ написан
    1 комментарий
  • Как передать изображения на клиент?

    timych
    @timych
    Ход мыслей у вас правильный - в DTO кладете весь дескрипшн и линк на сервис выдающий изображения. Например myservice.myimageresource?imgId=12345.
    Ресурс может быть либо сервлетом либо рест ресурсом. Картинку берете из базы и сразу отдаете байтовым потоком клиенту по GET запросу. Писать во временную папку не надо.

    В ответ на ваш коммент отредактировал тут -так как тут есть теги для кода.
    Вот сильно упрощенный пример сервлета, отдающего картинку.
    public class PreviewServlet extends HttpServlet {
    	
    	private static final long serialVersionUID = 1L;
    	
    	//  это ваше DAO
    	private PreviewService previewService = Fascade.getPreviewService();
    
    @Override
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		response.setContentType("image/jpeg");
    		//парсим id картинки из запроса
    		int imageId = Integer.parseInt(request.getParameter("id"));
    		//Тут вы получаете  Entity вашей картинки, одно из полей у которого является массивом байт
    		Preview preview = previewService.getByImageId(imageId);
    		byte[] bytes  = preview.getBytes();
    		response.setContentLength((int) bytes.length);		
    		// получаете поток для своих нужд
    		ServletOutputStream outStream = response.getOutputStream();
    		// отсылаете картинку на клиента
    		outStream.write(bytes);
    		// закрываете поток
    		outStream.close();
    	}
    }

    Почти подобным образом можно и через рест ресурс отдать.
    Ответ написан
    2 комментария
  • Как сделать проверку на нажатие клавиши "." на цифровой клавиатуре NumberDecimal?

    timych
    @timych
    В Java значения строк не проверяют на "==" (в отличии например от C#)
    Нужно вызвать метод .equals().

    if(myedittext.getText().toString().equals(".")) {
          // Действия
    }

    PS: В случае если возвращаемая строка длинней одного символа, то можно проверять наличие "." вызвав метод contains().
    Ответ написан
    2 комментария
  • Как скрыть address bar в браузере на андроиде?

    timych
    @timych
    Я бы посоветовал использовать phonegap, раз уж на js пишете.
    Ответ написан
    Комментировать