세션 유지 확인 페이지 (test.php)

프로그래밍/PHP|2015. 1. 27. 11:18
반응형

<?
session_start();
$mytimeout = 720 * 60; // minutes * 60
echo session_id();

phpinfo();
?>

반응형

댓글()

[html] 웹페이지 자동 이동 소스

반응형

<meta http-equiv="refresh" content="0;url=http://sysdocu.tistory.com">

0초만에 http://sysdocu.tistory.com 페이지로 이동 (브라우저상의 주소도 변경됨)

반응형

댓글()

AlertDialog 메시지 창 띄우기

프로그래밍/Android (Java)|2015. 1. 27. 11:07
반응형

[공통]

import android.content.DialogInterface;

import android.app.AlertDialog;

import android.view.View.OnClickListener;




메세지를 띄우고 [확인] 버튼만 적용할 경우

1
2
3
4
5
6
7
8
9
AlertDialog.Builder alert = new AlertDialog.Builder(MyActivity.this);
alert.setPositiveButton("확인", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
    dialog.dismiss();     //닫기
    }
});
alert.setMessage("테스트 메세지");
alert.show();



메세지를 띄우고 [확인], [취소] 버튼으로 적용할 경우


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
AlertDialog.Builder alert_confirm = new AlertDialog.Builder(MyActivity.this);
alert_confirm.setMessage("프로그램을 종료 하시겠습니까?").setCancelable(false).setPositiveButton("확인",
new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        // 'YES'
    }
}).setNegativeButton("취소",
new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        // 'No'
    return;
    }
});
AlertDialog alert = alert_confirm.create();
alert.show();


[출처] http://shstarkr.tistory.com/144



뒤로가기로 종료하려고 할때 해당 alert 창이 뜨도록 하려면 아래 URL 을 병합하여 사용하자. - 동훈

http://sysdocu.tistory.com/942

반응형

댓글()

webview 배경색 변경

프로그래밍/Android (Java)|2015. 1. 27. 11:06
반응형

So in my views .xml file I simply added a

android:background="@+drawable/backgroundmain"

and use

web.setBackgroundColor(0);

To make the webview transparent to see the background image behind.


[출처] http://stackoverflow.com/questions/1260422/setting-webview-background-image-to-a-resource-graphic-in-android

반응형

댓글()

Preference 기본 예제

프로그래밍/Android (Java)|2015. 1. 27. 11:06
반응형

SharedPreferences pref = getSharedPreferences("setting", 0);    // setting.xml 으로 생성

SharedPreferences.Editor edit = pref.edit();


// 호출

String test = pref.getString("fcm_message", "old_data");


// 입력

edit.putString("fcm_message", "new_data");

edit.commit();



* 참고

setting.xml 과 같이 파일명을 지정하지 않고 default 값을 원할 경우 아래와 같이 사용합니다.


SharedPreferences pref = getDefaultSharedPreferences(this);


반응형

'프로그래밍 > Android (Java)' 카테고리의 다른 글

AlertDialog 메시지 창 띄우기  (0) 2015.01.27
webview 배경색 변경  (0) 2015.01.27
아이디 및 패스워드 저장 체크박스  (0) 2015.01.27
Intent 활용 예시  (0) 2015.01.27
배경 패턴이미지 적용  (0) 2015.01.27

댓글()

아이디 및 패스워드 저장 체크박스

프로그래밍/Android (Java)|2015. 1. 27. 11:05
반응형

간단한 예제



프레퍼런스를 활용한 예제


원하는 항목을 체크한뒤 종료하면


다시 실행했을 때 체크했던 항목이 불려져온다


체크하지 않았던 항목은 삭제된다



 MytestPref.zip


[출처] WareHouse (http://makerj.tistory.com/100)


반응형

'프로그래밍 > Android (Java)' 카테고리의 다른 글

webview 배경색 변경  (0) 2015.01.27
Preference 기본 예제  (0) 2015.01.27
Intent 활용 예시  (0) 2015.01.27
배경 패턴이미지 적용  (0) 2015.01.27
자바 날짜/시간 계산 예제 코드 (다양한 예제) 2  (0) 2015.01.27

댓글()

Intent 활용 예시

프로그래밍/Android (Java)|2015. 1. 27. 11:05
반응형

// 웹페이지 띄우기
Uri uri = Uri.parse("http://www.google.com");
Intent it  = new Intent(Intent.ACTION_VIEW,uri);
startActivity(it);


// 구글맵 띄우기
Uri uri = Uri.parse("geo:38.899533,-77.036476");
Intent it = new Intent(Intent.Action_VIEW,uri);
startActivity(it);


// 구글 길찾기 띄우기
Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=출발지주소&daddr=도착지주소&hl=ko");
Intent it = new Intent(Intent.ACTION_VIEW,URI);
startActivity(it);


// 전화 걸기
Uri uri = Uri.parse("tel:xxxxxx");
Intent it = new Intent(Intent.ACTION_DIAL, uri);  
startActivity(it); 


Uri uri = Uri.parse("tel.xxxxxx");
Intent it = new Intent(Intent.ACTION_CALL,uri);
// 퍼미션을 잊지 마세요. <uses-permission id="android.permission.CALL_PHONE" />


// SMS/MMS 발송
Intent it = new Intent(Intent.ACTION_VIEW);   
it.putExtra("sms_body", "The SMS text");   
it.setType("vnd.android-dir/mms-sms");   
startActivity(it); 


// SMS 발송
Uri uri = Uri.parse("smsto:0800000123");   
Intent it = new Intent(Intent.ACTION_SENDTO, uri);   
it.putExtra("sms_body", "The SMS text");   
startActivity(it); 


// MMS 발송
Uri uri = Uri.parse("content://media/external/images/media/23");   
Intent it = new Intent(Intent.ACTION_SEND);   
it.putExtra("sms_body", "some text");   
it.putExtra(Intent.EXTRA_STREAM, uri);   
it.setType("image/png");   
startActivity(it);


// 이메일 발송
Uri uri = Uri.parse("mailto:xxx@abc.com");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
startActivity(it);


Intent it = new Intent(Intent.ACTION_SEND);   
it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");   
it.putExtra(Intent.EXTRA_TEXT, "The email body text");   
it.setType("text/plain");   
startActivity(Intent.createChooser(it, "Choose Email Client")); 


Intent it = new Intent(Intent.ACTION_SEND);     
String[] tos = {"me@abc.com"};     
String[] ccs = {"you@abc.com"};     
it.putExtra(Intent.EXTRA_EMAIL, tos);     
it.putExtra(Intent.EXTRA_CC, ccs);     
it.putExtra(Intent.EXTRA_TEXT, "The email body text");     
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");     
it.setType("message/rfc822");     
startActivity(Intent.createChooser(it, "Choose Email Client"));  


// extra 추가하기
Intent it = new Intent(Intent.ACTION_SEND);   
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");   
it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");   
sendIntent.setType("audio/mp3");   
startActivity(Intent.createChooser(it, "Choose Email Client"));


// 미디어파일 플레이 하기
Intent it = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("file:///sdcard/song.mp3");
it.setDataAndType(uri, "audio/mp3");
startActivity(it);


Uri uri = Uri.withAppendedPath(
  MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");   
Intent it = new Intent(Intent.ACTION_VIEW, uri);   
startActivity(it); 


// 설치 어플 제거
Uri uri = Uri.fromParts("package", strPackageName, null);   
Intent it = new Intent(Intent.ACTION_DELETE, uri);   
startActivity(it);


// APK파일을 통해 제거하기
Uri uninstallUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);


// APK파일 설치
Uri installUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);


// 음악 파일 재생
Uri playUri = Uri.parse("file:///sdcard/download/everything.mp3");
returnIt = new Intent(Intent.ACTION_VIEW, playUri);


// 첨부파일을 추가하여 메일 보내기
Intent it = new Intent(Intent.ACTION_SEND);  
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");  
it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/eoe.mp3");  
sendIntent.setType("audio/mp3");  
startActivity(Intent.createChooser(it, "Choose Email Client"));


// 마켓에서 어플리케이션 검색
Uri uri = Uri.parse("market://search?q=pname:pkg_name");  
Intent it = new Intent(Intent.ACTION_VIEW, uri);  
startActivity(it);  
// 패키지명은 어플리케이션의 전체 패키지명을 입력해야 합니다.


// 마켓 어플리케이션 상세 화면
Uri uri = Uri.parse("market://details?id=어플리케이션아이디");  
Intent it = new Intent(Intent.ACTION_VIEW, uri);  
startActivity(it);
// 아이디의 경우 마켓 퍼블리싱사이트의 어플을 선택후에 URL을 확인해보면 알 수 있습니다.


// 구글 검색
Intent intent = new Intent();
intent.setAction(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY,"searchString")
startActivity(intent);[/code]

[출처] 아이군의 블로그 (http://theeye.pe.kr/archives/1242)

반응형

댓글()

배경 패턴이미지 적용

프로그래밍/Android (Java)|2015. 1. 27. 11:04
반응형

패턴이미지를 LinearLayout 의 background 속성에 적용을 하면 전체화면에 맞게 늘어난다.
원래 크기의 패턴 이미지를 반복해서 백그라운드에 뿌려주고 싶을때 아래와 같이 한다.

drawable 폴더에 pattern_bg.xml 파일을 생성한 후 아래 코드를 삽입.

1
2
3
4
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/pattern_image"
    android:tileMode="repeat"
/>


이제 적용할 Activity의 LinearLayout 속성에 위 XML 파일을 적용한다.

1
2
3
4
5
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/pattern_bg">
</LinearLayout>

[출처] 아마그래머 (http://shstarkr.tistory.com/160)

반응형

댓글()

자바 날짜/시간 계산 예제 코드 (다양한 예제) 2

프로그래밍/Android (Java)|2015. 1. 27. 11:04
반응형

파일에서 날짜정보를 가져오기

File f = new File ( directory, file );
Date date = new Date ( f.lastModified ( ) );
Calendar cal = Calendar.getInstance ( );
cal.setTime ( date );
 
System.out.println("Year : " + cal.get(Calendar.YEAR));
System.out.println("Month : " + (cal.get(Calendar.MONTH) + 1));
System.out.println("Day : " + cal.get(Calendar.DAY_OF_MONTH));
System.out.println("Hours : " + cal.get(Calendar.HOUR_OF_DAY));
System.out.println("Minutes : " + cal.get(Calendar.MINUTE));
System.out.println("Second : " + cal.get(Calendar.SECOND));

날짜형식으로 2000-01-03으로 처음에 인식을 시킨후
7일씩 증가해서 1년정도의 날짜를 출력해 주고 싶은데요.

SimpleDateFormat sdf = new SimpleDateFormat ( "yyyy-mm-dd" );
Calendar c = Calendar.getInstance ( );
for ( int i = 0; i < 48; i++ )
{
    c.clear ( );
    c.set ( 2000, 1, 3 - ( i * 7 ) );
    java.util.Date d = c.getTime ( );
    String thedate = sdf.format ( d );
    System.out.println ( thedate );
}

쓰레드에서 날짜 바꾸면 죽는 문제

Main화면에 날짜와시간이Display되는 JPanel이 있습니다.
date로 날짜와 시간을 변경하면 Main화면의 날짜와 시간이 Display되는 Panel에 
변경된 날짜가 Display되지 않고 Main화면이 종료되어 버립니다.

문제소스:

public void run ( )
{
    while ( true )
    {
        try{
            timer.sleep ( 60000 );
        }
        catch ( InterruptedException ex ) { }
     
        lblTimeDate.setText ( fGetDateTime ( ) );
        repaint ( );
    }
}
 
public String fGetDateTime ( )
{
    final int millisPerHour = 60 * 60 * 1000;
    String DATE_FORMAT = "yyyy / MM / dd HH:mm";
    SimpleDateFormat sdf = new SimpleDateFormat ( DATE_FORMAT );
    SimpleTimeZone timeZone = new SimpleTimeZone ( 9 * millisPerHour, "KST" );
    sdf.setTimeZone ( timeZone );<p></p>
    long time = System.currentTimeMillis ( );
    Date date = new Date ( time );
    return sdf.format ( date );
}

해답:

// 날짜와 요일 구한다. timezone 으로 날짜를 다시 셋팅하시면 됨니다.
public String getDate ( )
{
    Date now = new Date ( );
    SimpleDateFormat sdf4 = new SimpleDateFormat ( "yyyy/MM/dd HH:mm EE" );
    sdf4.setTimeZone ( TimeZone.getTimeZone ( "Asia/Seoul" ) );
    return sdf4.format ( now );
}

날짜와 시간이 유효한지 검사하려면...?

import java.util.*;
import java.text.*;
 
public class DateCheck
{
    boolean dateValidity = true;
     
    DateCheck ( String dt )
    {
    try
    {
    DateFormat df = DateFormat.getDateInstance ( DateFormat.SHORT );
    df.setLenient ( false );
    Date dt2 = df.parse ( dt );
    }
    catch ( ParseException e ) { this.dateValidity = false; }
    catch ( IllegalArgumentException e ) { this.dateValidity = false; }
    }
 
    public boolean datevalid ( )
    {
        return dateValidity;
    }
 
    public static void main ( String args [] )
    {
        DateCheck dc = new DateCheck ( "2001-02-28" );
        System.out.println ( " 유효한 날짜 : " + dc.datevalid ( ) );
    }
}

두 날짜 비교하기(아래보다 정확)

그냥 날짜 두개를 long(밀리 세컨드)형으로 비교하시면 됩니다...

이전의 데이타가 date형으로 되어 있다면, 이걸 long형으로 변환하고.
현재 날짜(시간)은 System.currentTimeMillis()메소드로 읽어들이고,
두수(long형)를 연산하여 그 결과 값으로 비교를 하시면 됩니다.

만약 그 결과값이 몇시간 혹은 며칠차이가 있는지를 계산할려면,
결과값을 Calender의 setTimeInMillis(long millis) 메소드를 이용해
설정한다음 각각의 날짜나 시간을 읽어오시면 됩니다

두 날짜 비교하기2

import java.util.*;
import java.util.Calendar.*;
import java.text.SimpleDateFormat;
 
public class DayComparisonTest
{
    public static void main(String args[])
    {
        Calendar cal = Calendar.getInstance();
        SimpleDateFormat dateForm = new SimpleDateFormat("yyyy-MM-dd");
        Calendar aDate = Calendar.getInstance();
        // 비교하고자 하는 임의의 날짜
        aDate.set(2001, 0, 1);
        Calendar bDate = Calendar.getInstance();
        // 이것이 시스템의 날짜
 
        // 여기에 시,분,초를 0으로 세팅해야 before, after를 제대로 비교함
        aDate.set( Calendar.HOUR_OF_DAY, 0 );
        aDate.set( Calendar.MINUTE, 0 );
        aDate.set( Calendar.SECOND, 0 );
        aDate.set( Calendar.MILLISECOND, 0 );
        bDate.set( Calendar.HOUR_OF_DAY, 0 );
        bDate.set( Calendar.MINUTE, 0 );
        bDate.set( Calendar.SECOND, 0 );
        bDate.set( Calendar.MILLISECOND, 0 );
 
        if (aDate.after(bDate))
            // aDate가 bDate보다 클 경우 출력
            System.out.println("시스템 날짜보다 뒤일 경우 aDate = " + dateForm.format(aDate.getTime()));
        else if (aDate.before(bDate))
            // aDate가 bDate보다 작을 경우 출력
            System.out.println("시스템 날짜보다 앞일 경우 aDate = " + dateForm.format(aDate.getTime()));
        else
            // aDate = bDate인 경우
            System.out.println("같은 날이구만");
    }
}


[출처] 서비의 다락방 (www.yunsobi.com/blog/325)

반응형

댓글()

자바 날짜/시간 계산 예제 코드 (다양한 예제)

프로그래밍/Android (Java)|2015. 1. 27. 11:04
반응형

시스템의 밀리초 구하기.(국제표준시각(UTC, GMT) 1970/1/1/0/0/0 으로부터 경과한 시각)

// 밀리초 단위(*1000은 1초), 음수이면 이전 시각
long time = System.currentTimeMillis ( );
System.out.println ( time.toString ( ) );

현재 시각을 가져오기.

Date today = new Date ();
System.out.println ( today );


결과 : Sat Jul 12 16:03:00 GMT+01:00 2000

경과시간(초) 구하기

long time1 = System.currentTimeMillis ();
long time2 = System.currentTimeMillis ();
system.out.println ( ( time2 - time1 ) / 1000.0 );

Date를 Calendar로 맵핑하기

Date d = new Date ( );
Calendar c = Calendar.getInstance ( );
c.setTime ( d );

날짜(년/월/일/시/분/초) 구하기

import java.util.*;
import java.text.*;
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy.MM.dd HH:mm:ss", Locale.KOREA );
Date currentTime = new Date ( );
String dTime = formatter.format ( currentTime );
System.out.println ( dTime );

날짜(년/월/일/시/분/초) 구하기2

GregorianCalendar today = new GregorianCalendar ( );
int year = today.get ( today.YEAR );
int month = today.get ( today.MONTH ) + 1;
int yoil = today.get ( today.DAY_OF_MONTH ); <p></p>
<p>GregorianCalendar gc = new GregorianCalendar ( );</p>
<p>System.out.println ( gc.get ( Calendar.YEAR ) );
System.out.println ( String.valueOf ( gc.get ( Calendar.MONTH ) + 1 ) );
System.out.println ( gc.get ( Calendar.DATE ) );
System.out.println ( gc.get ( DAY_OF_MONTH ) );
</p>

날짜(년/월/일/시/분/초) 구하기3

DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.KOREA);
Calendar cal = Calendar.getInstance(Locale.KOREA);
nal = df.format(cal.getTime());

- 표준시간대를 지정하고 날짜를 가져오기.

TimeZone jst = TimeZone.getTimeZone ("JST");
Calendar cal = Calendar.getInstance ( jst );
// 주어진 시간대에 맞게 현재 시각으로 초기화된 GregorianCalender 객체를 반환.
// 또는 Calendar now = Calendar.getInstance(Locale.KOREA);
System.out.println ( cal.get ( Calendar.YEAR ) + "년 "
                    + ( cal.get ( Calendar.MONTH ) + 1 ) + "월 "
                    + cal.get ( Calendar.DATE ) + "일 "
                    + cal.get ( Calendar.HOUR_OF_DAY ) + "시 "
                    + cal.get ( Calendar.MINUTE ) + "분 "
                    + cal.get ( Calendar.SECOND ) + "초 "
                    );


결과 : 2000년 8월 5일 16시 16분 47초

영어로된 날짜를 숫자로 바꾸기

Date myDate = new Date ( "Sun,5 Dec 1999 00:07:21" );
System.out.println ( myDate.getYear ( ) + "-" + myDate.getMonth ( ) + "-" + myDate.getDay ( ) );

"Sun, 5 Dec 1999 00:07:21"를 "1999-12-05"로 바꾸기

SimpleDateFormat formatter_one = new SimpleDateFormat ( "EEE, dd MMM yyyy hh:mm:ss",Locale.ENGLISH );
SimpleDateFormat formatter_two = new SimpleDateFormat ( "yyyy-MM-dd" );
String inString = "Sun, 5 Dec 1999 00:07:21";
ParsePosition pos = new ParsePosition ( 0 );
Date frmTime = formatter_one.parse ( inString, pos );
String outString = formatter_two.format ( frmTime );
System.out.println ( outString );

숫자 12자리를, 다시 날짜로 변환하기

Date conFromDate = new Date();
long ttl = conFromDate.parse ( "Dec 25, 1997 10:10:10" );
System.out.println ( ttl );
//예 938291839221
Date today = new Date ( ttl );
DateFormat format = DateFormat.getDateInstance ( DateFormat.FULL,Locale.US );
String formatted = format.format ( today );
System.out.println ( formatted );

특정일로부터 n일 만큼 이동한 날짜 구하기

특정일의 시간을 long형으로 읽어온다음..
날짜*24*60*60*1000 을 계산하여.
long형에 더해줍니다.
그리고 나서 Date클래스와 Calender클래스를 이용해서 날짜와 시간을 구하면 됩니다

특정일에서 일정 기간후의 날짜 구하기2

//iDay 에 입력하신 만큼 빼거나 더한 날짜를 반환 합니다.
import java.util.*;
public String getDate ( int iDay )
{
    Calendar temp=Calendar.getInstance ( );   
    temp.add ( Calendar.DAY_OF_MONTH, iDay );
     
    int nYear = temp.get ( Calendar.YEAR );
    int nMonth = temp.get ( Calendar.MONTH ) + 1;
    int nDay = temp.get ( Calendar.DAY_OF_MONTH );
     
    StringBuffer sbDate=new StringBuffer ( );
    sbDate.append ( nYear );
     
    if ( nMonth < 10 )
        sbDate.append ( "0" );
        sbDate.append ( nMonth );
 
    if ( nDay < 10 )
        sbDate.append ( "0" );
        sbDate.append ( nDay );
 
    return sbDate.toString ( );
}

현재날짜에서 2달전의 날짜를 구하기

//오늘 날짜를 기준으루..
Calendar cal = Calendar.getInstance ( );
//2개월 전....
cal.add ( cal.MONTH, -2 );
 
System.out.println ( cal.get ( cal.YEAR ) );
System.out.println ( cal.get ( cal.MONTH ) + 1 );
System.out.println ( cal.get ( cal.DATE ) );

달에 마지막 날짜 구하기

for ( int month = 1; month <= 12; month++ )
{
    GregorianCalendar cld = new GregorianCalendar ( 2001, month - 1, 1 );
    System.out.println ( month + "/" + cld.getActualMaximum ( Calendar.DAY_OF_MONTH ) );
}

해당하는 달의 마지막 일 구하기

GregorianCalendar today = new GregorianCalendar ( );
int maxday = today.getActualMaximum ( ( today.DAY_OF_MONTH ) );
System.out.println ( maxday );

특정일을 입력받아 해당 월의 마지막 날짜를 구하는 간단한 예제.(달은 -1 해준다.)...윤달 30일 31일 알아오기.

Calendar cal = Calendar.getInstance ( );
cal.set ( Integer.parseInt ( args[0] ), Integer.parseInt ( args [1] ) - 1, Integer.parseInt ( args [2] ) );
SimpleDateFormat dFormat = new SimpleDateFormat ( "yyyy-MM-dd" );
System.out.println ( "입력 날짜 " + dFormat.format ( cal.getTime ( ) ) );
System.out.println ( "해당 월의 마지막 일자 : " + cal.getActualMaximum ( Calendar.DATE ) );

해당월의 실제 날짜수 구하기 ( 1999년 1월달의 실제 날짜수를 구하기 )

Calendar calendar = Calendar.getInstance ( );
calendar.set ( 1999, 0, 1 );
int maxDays = calendar.getActualMaximum ( Calendar.DAY_OF_MONTH );

어제 날짜 구하기

오늘날짜를 초단위로 구해서 하루분을 빼주고 다시
셋팅해주면 쉽게 구할수 있죠..
setTime((기준일부터 오늘까지의 초를 구함) - 24*60*60)해주면 되겠죠..

어제 날짜 구하기2

import java.util.*;
public static Date getYesterday ( Date today )
{
    if ( today == null )
        throw new IllegalStateException ( "today is null" );
 
    Date yesterday = new Date ( );
    yesterday.setTime ( today.getTime ( ) - ( (long) 1000 * 60 * 60 * 24 ) );
     
    return yesterday;
}

내일 날짜 구하기

Date today = new Date ( );
Date tomorrow = new Date ( today.getTime ( ) + (long) ( 1000 * 60 * 60 * 24 ) );

내일 날짜 구하기2

Calendar today = Calendar.getInstance ( );
today.add ( Calendar.DATE, 1 );
Date tomorrow = today.getTime ( );

오늘날짜에서 5일 이후 날짜를 구하기

Calendar cCal = Calendar.getInstance();
c.add(Calendar.DATE, 5);

날짜에 해당하는 요일 구하기

//DAY_OF_WEEK리턴값이 일요일(1), 월요일(2), 화요일(3) ~~ 토요일(7)을 반환합니다.
//아래 소스는 JSP일부입니다.
import java.util.*;
Calendar cal= Calendar.getInstance ( );
int day_of_week = cal.get ( Calendar.DAY_OF_WEEK );
if ( day_of_week == 1 )
    m_week="일요일";
else if ( day_of_week == 2 )
    m_week="월요일";
else if ( day_of_week == 3 )
    m_week="화요일";
else if ( day_of_week == 4 )
    m_week="수요일";
else if ( day_of_week == 5 )
    m_week="목요일";
else if ( day_of_week == 6 )
    m_week="금요일";
else if ( day_of_week == 7 )
    m_week="토요일";

콤보박스로 선택된 날짜(예:20001023)를 통해 요일을 영문으로 가져오기

//gc.get(gc.DAY_OF_WEEK); 하면 일요일=1, 월요일=2, ..., 토요일=7이 나오니까,
//요일을 배열로 만들어서 뽑아내면 되겠죠.
GregorianCalendar gc=new GregorianCalendar ( 2000, 10 - 1 , 23 );
String [] dayOfWeek = { "", "Sun", "Mon", .... , "Sat" };
String yo_il = dayOfWeek ( gc.get ( gc.DAY_OF_WEEK ) );

두 날짜의 차이를 일수로 구하기

각각의 날짜를 Date형으로 만들어서 getTime()하면 
long으로 값이 나오거든요(1970년 1월 1일 이후-맞던가?- 1/1000 초 단위로..)
그러면 이값의 차를 구해서요. (1000*60*60*24)로 나누어 보면 되겠죠.

두 날짜의 차이를 일수로 구하기2

import java.io.*;
import java.util.*;
 
 
Date today = new Date ( );
Calendar cal = Calendar.getInstance ( );
cal.setTime ( today );
 
// 오늘로 설정.
Calendar cal2 = Calendar.getInstance ( );
cal2.set ( 2000, 3, 12 );
 
// 기준일로 설정. month의 경우 해당월수-1을 해줍니다.
int count = 0;
while ( !cal2.after ( cal ) )
{
    count++;
    cal2.add ( Calendar.DATE, 1 );
    //다음날로 바뀜
    System.out.println ( cal2.get ( Calendar.YEAR ) + "년 "
            + ( cal2.get ( Calendar.MONTH ) + 1 )
            + "월 " + cal2.get ( Calendar.DATE ) + "일"
    );
}
System.out.println ( "기준일로부터 " + count + "일이 지났습니다." );

두 날짜의 차이를 일수로 구하기3

import java.io.*;
import java.util.*;
public class DateDiff
{
    public static int GetDifferenceOfDate ( int nYear1, int nMonth1, int nDate1, int nYear2, int nMonth2, int nDate2 )
    {
        Calendar cal = Calendar.getInstance ( );
        int nTotalDate1 = 0, nTotalDate2 = 0, nDiffOfYear = 0, nDiffOfDay = 0;
        if ( nYear1 > nYear2 )
        {
            for ( int i = nYear2; i < nYear1; i++ )
            {
                cal.set ( i, 12, 0 );
                nDiffOfYear += cal.get ( Calendar.DAY_OF_YEAR );
            }
            nTotalDate1 += nDiffOfYear;
        }
        else if ( nYear1 < nYear2 )
        {
            for ( int i = nYear1; i < nYear2; i++ )
            {
                cal.set ( i, 12, 0 );
                nDiffOfYear += cal.get ( Calendar.DAY_OF_YEAR );
            }
            nTotalDate2 += nDiffOfYear;
        }
         
        cal.set ( nYear1, nMonth1-1, nDate1 );
        nDiffOfDay = cal.get ( Calendar.DAY_OF_YEAR );
        nTotalDate1 += nDiffOfDay;
        cal.set ( nYear2, nMonth2-1, nDate2 );
        nDiffOfDay = cal.get ( Calendar.DAY_OF_YEAR );
        nTotalDate2 += nDiffOfDay;
         
        return nTotalDate1-nTotalDate2;
    }
     
    public static void main ( String args[] )
    {
        System.out.println ( "" + GetDifferenceOfDate (2000, 6, 15, 1999, 8, 23 ) );
    }
}


[출처] 서비의 다락방 (www.yunsobi.com/blog/325)

반응형

댓글()

액션바에 overflow 메뉴 생성하기

프로그래밍/Android (Java)|2015. 1. 27. 11:03
반응형

안드로이드 스마트폰은 대부분 '메뉴'버튼을 가지고 있습니다.

이 메뉴 버튼이 있을 경우 액션바에 overflow 메뉴가 나타나지 않고 메뉴 버튼을 누를때

하단에서부터 메뉴가 출력 되는데요, 이를 방지하고 무조건 overflow 메뉴가 나타나도록 할 수 있습니다.



res/menu/menu.xml


<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item

        android:id="@+id/action_refresh"

        android:showAsAction="ifRoom"

        android:title="새로고침"

        android:icon="@android:drawable/ic_menu_rotate" />

    <item

        android:id="@+id/action_loadyet"

        android:showAsAction="ifRoom"

        android:title="미수신 메세지 가져오기"

        android:icon="@android:drawable/ic_menu_recent_history" />

    <item

        android:id="@+id/action_clear"

        android:title="지우기" />

    <item

        android:id="@+id/action_setting"

        android:title="환경 설정" />

</menu> 



MainActivity.java


import android.view.Menu;

import android.view.MenuInflater;

import android.view.MenuItem;

import android.view.ViewConfiguration;

import java.lang.reflect.Field;


public class MainActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);


// Force Show Overflow menu in Action bar

try {

ViewConfiguration config = ViewConfiguration.get(this);

Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");

if(menuKeyField != null) {

menuKeyField.setAccessible(true);

menuKeyField.setBoolean(config, false);

}

} catch (Exception ex) {

}


}

} 



반응형

댓글()