마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

앱위젯에 디데이 추가하려는데 도와주세요

0 추천
package org.androidtown.media.video.player;

import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.widget.RemoteViews;

import java.util.Calendar;


/**
 * Implementation of App Widget functionality.
 */

public class NewAppWidget extends AppWidgetProvider{


    private int tYear;           //오늘 연월일 변수
    private int tMonth;
    private int tDay;

    private int dYear;        //디데이 연월일 변수
    private int dMonth;
    private int dDay;


    private long d;
    private long t;
    private long r;

    private int resultNumber;




    public void onEnabled(Context context) {
        // Enter relevant functionality for when the first widget is created
    }


    public void onDisabled(Context context) {
        // Enter relevant functionality for when the last widget is disabled
    }

    static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
                                int appWidgetId) {
        NewAppWidget newappwidget = new NewAppWidget();

        Calendar calendar = Calendar.getInstance();              //현재 날짜 불러옴
        newappwidget.tYear = calendar.get(Calendar.YEAR);
        newappwidget.tMonth = calendar.get(Calendar.MONTH);
        newappwidget.tDay = calendar.get(Calendar.DAY_OF_MONTH);

        Calendar dCalendar = Calendar.getInstance();
        dCalendar.set(newappwidget.dYear=2015, newappwidget.dMonth=7, newappwidget.dDay=7);

        newappwidget.t = calendar.getTimeInMillis();                 //오늘 날짜를 밀리타임으로 바꿈
        newappwidget.d = dCalendar.getTimeInMillis();              //디데이날짜를 밀리타임으로 바꿈
        newappwidget.r = (newappwidget.d - newappwidget.t) / (24 * 60 * 60 * 1000);                 //디데이 날짜에서 오늘 날짜를 뺀 값을 '일'단위로 바꿈

        newappwidget.resultNumber=0;
        newappwidget.resultNumber = (int) newappwidget.r + 1;
        RemoteViews updateViews = new RemoteViews(context.getPackageName(),
                R.layout.new_app_widget);


       updateViews.setTextViewText(R.id.today,String.format("%d년 %d월 %d일", newappwidget.tYear, newappwidget.tMonth + 1, newappwidget.tDay));
        updateViews.setTextViewText(R.id.dday,String.format("%d년 %d월 %d일", newappwidget.dYear, newappwidget.dMonth + 1, newappwidget.dDay));

        if (newappwidget.resultNumber >= 0) {
            updateViews.setTextViewText(R.id.result,String.format("D-%d", newappwidget.resultNumber));
        } else {
            int absR = Math.abs(newappwidget.resultNumber);
            updateViews.setTextViewText(R.id.result,String.format("D+%d", absR));
        }
        //디데이 날짜가 오늘날짜보다 뒤에오면 '-', 앞에오면 '+'를 붙인다


        // Instruct the widget manager to update the widget
        appWidgetManager.updateAppWidget(appWidgetId, updateViews);


    }}







이렇게 앱위젯에 디데이기능을 추가하려하는데 아무것도나오질않아요 ㅠㅠㅠ왜일까요

도와주세요 제발요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 곧 군대가는데 여자친구한테 좋은선물해주고싶어요 형님들 부탁드립니다.

 

익명사용자 님이 2015년 3월 23일 질문

1개의 답변

0 추천
updateAppWidget 이것이 불려지는지 안에 로그를 찍어서 확인해보셔요

로그가 안찍히면

@Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager,
            int[] appWidgetIds) {

이걸 추가하고 updateAppWidget 의 내용들을 모두 옮겨보셔요
nicehee (73,100 포인트) 님이 2015년 3월 24일 답변
...