액션바 메뉴 생성

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

res/menu/activity_main.xml


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

    <item

        android:id="@+id/action_setting"

        android:showAsAction="always"

        android:title="Setting"

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

    <item

        android:id="@+id/setting"

        android:title="SETTING" />

    <item

        android:id="@+id/clear"

        android:title="CLEAR" />

    <item

        android:id="@+id/exit"

        android:title="EXIT" />

</menu>


빨간 글씨 부분이 액션바 우측에 나타나는 메뉴이고

나머지 부분은 스마트폰 '메뉴'버튼을 눌렀을때 나타나는 메뉴입니다.



※ 참고

1) android:showAsAction 속성

never : 액션 아이템으로 표시하지 않음 (기본)

always : 항상 액션 아이템으로 표시

ifRoom : 액션 아이템을 표시할 수 있는 공간이 있을 경우 표시

withText : 메뉴 아이콘과 메뉴 텍스트를 함께 액션 아이템으로 표시


2) android:title 속성

메뉴을 길게 눌렀을때 출력되는 텍스트 입니다.


3) android:icon 속성

@android:drawable 로 시작하게 되면 안드로이드 기본 이미지가 출력됩니다.

이미지 정보는 별도 문서를 참고하시기 바랍니다.


4) MainActivity.java 에서  switch 를 통한 case 부분은 OptionsMenu 와 동일합니다.


반응형

댓글()

ImageView 레이아웃 옵션과 사용예제들

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

다음은 이미지를 표시해주는 레이아웃 ImageView 의 옵션중 android:ScaleType 에 대한

설명이다이것은 ImageView 의 크기에 맞게 이미지 크기를 조작하거나 이동시키는 옵션이다

xml 에서는 표에서 나온 android:scaleType=”matrix” 로 표현하며 소스에서는

ImageView::setScaleType(ImageView.ScaleType.MATRIX) 로 구현된다.

 

이제 각각의 값들이 적용되는 예를 살펴보도록 하자.

그림에서 빨간색은 ImageView 의 틀을 보여주기 위해 ImageView  Background 값으로

준것이다그리고 Padding 값을 3으로 주었기 때문에 이미지가 조금 안쪽으로 당겨져 표현된다.


(1) MATRIX
 : ImageView 의 틀을 기준으로 해서 왼쪽 상단을 꼭지점으로 정렬된다.

이미지를 틀에 맞게 재조정하지 않는다틀보다 작거나 커도 그대로 표현된다.

XML : android:scaleType=”matrix”

Source : setScaleType(ImageView.ScaleType.MATRIX);

ImageView : width=287, height=316

Image : width=150, height=250

위의 경우는 이미지가 틀보다 작으므로 정상적으로 보이지만  ImageView 의 틀보다 키우게

되면 줄이지 않기 때문에 잘라져서 보이게 된다.

ImageView : width=287, height=316

Image : width=400, height=400

(2) FIT_XY : 이미지가 ImageView 틀 보다 작거나 크든지 간에 이미지를 틀에 맞추는 것이다.

비율과 상관없이 틀에 맞추기 때문에 좌우 크기가 맞지 않은 그림일 경우에는 찌그러져

보일것이다.

(3) FIX_START : 이미지크기를 틀에 맞게 비율을 줄이되 이미지 시작지점을 ImageView 왼쪽

상단에 맞추어 그림을 표현한다.

XML : android:scaleType=”fitStart”

Source : setScaleType(ImageView.ScaleType.FIT_START);

ImageView : width=287, height=316

Image : width=450, height=350


 

(4) FIX_CENTER : 이미지크기를 틀에 맞게 비율을 줄이되 ImageView 중앙에 맞추어 표현한다.

XML : android:scaleType=”fitCenter”

Source : setScaleType(ImageView.ScaleType.FIT_CENTER);

ImageView : width=287, height=316

Image : width=450, height=350

(5) FIX_END : 이미지크기를 틀에 맞게 비율을 줄이되 ImageView 의 오른쪽 아래에 맞추어

이미지를 표현한다.

XML : android:scaleType=”fitEnd”

Source : setScaleType(ImageView.ScaleType.FIT_END);

ImageView : width=287, height=316

Image : width=450, height=350

(6) CENTER : 이미지크기 그대로 표현하되 이미지를 틀에 맞게 줄이지는 않는다그리고

ImageView 틀의 중앙에 위치시킨다.

XML : android:scaleType=”center”

Source : setScaleType(ImageView.ScaleType.CENTER);

ImageView : width=287, height=316

Image : width=450, height=200

 

(7) CENTER_CROP : 6번에서의 그림은 높이가 ImageView 의 틀과 맞지 않다이것처럼

한쪽이 틀과 맞지 않다면 틀에 맞게 이미지를 늘이면서 다른 한쪽도 같이 비율에 맞게

증가 시킨다그러면 6번 그림은 높이가 증가한 비율만큼 넓이가 증가하여 표현되게 된다.

그리고 그림의 위치는 틀의 중앙에서 표현된다.

XML : android:scaleType=”centerCrop”

Source : setScaleType(ImageView.ScaleType.CENTER_CROP);

ImageView : width=287, height=316

Image : width=450, height=200

(8) CENTER_INSIDE : 7번에서의 내용과 반대로 ImageView 의 틀에 벗어나는 쪽을 맞추어

비율을 줄여 표현한다만약 넓이가 틀에서 벗어난다면 넓이를 틀에 맞추고 그 비율만큼

높이를 줄이게 될것이다. CENTER_CROP, CENTER_INSIDE  ImageView 의 틀에 맞게

이미지를 조정하는 것이 공통적인 특징이다.

XML : android:scaleType=”centerInside”

Source : setScaleType(ImageView.ScaleType.CENTER_INSIDE);

ImageView : width=287, height=316

Image : width=450, height=200


전체소스와 XML 설정값

 

구현한 소스

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
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
 
public class ViewDetail extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.view_detail);
        ImageView iv = (ImageView)findViewById(R.id.imageView);
 
        Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.test02);
        Bitmap resized = Bitmap.createScaledBitmap(image, 450, 200, true);
        iv.setImageBitmap(resized);
        iv.setScaleType(ImageView.ScaleType.CENTER_INSIDE); // 레이아웃 크기에 이미지를 맞춘다
        iv.setPadding(3, 3, 3, 3);
        iv.setOnClickListener(new OnClickListener(){
            public void onClick(View arg0) {
                finish();
            }
        });
    }
}

view_detail.xml 설정 내용

<LinearLayout

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

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent">

    <ImageView

        android:id="@+id/imageView"

        android:layout_width="287px"

       android:layout_height="316px"

       android:maxWidth="287px"

       android:maxHeight="316px"

       android:background="#FF9900"/>

    <LinearLayout

        android:orientation="vertical"

        android:layout_width="fill_parent"

        android:layout_height="50px"

        android:gravity="center" >

       <Button

           android:text="New Game"

          android:id="@+id/btnNew"

          android:layout_width="fill_parent"

          android:layout_height="fill_parent"/> 

    </LinearLayout>

</LinearLayout>


[출처] 녹두장군 (http://mainia.tistory.com/473)

반응형

댓글()

배경화면 적용하기 (레이아웃 style)

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

res/values/styles.xml 파일에 아래와 같이 정의 해놓고


<resources>


    <style name="AppTheme" parent="android:Theme.Light" />


    <style name="IntroBG">

        <item name="android:background">@drawable/sysdocu_intro_bg</item>

        <item name="android:layout_width">match_parent</item>

        <item name="android:layout_height">match_parent</item>

    </style>


</resources> 


레이아웃 파일에서 가져다 쓰면 됩니다.


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

    style="@style/IntroBG"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical">


(생략) 


* 그냥 android:background="#ffffe4" 와 같은 색상 지정이나 src 를 통한 배경 가져오기도 가능합니다.

반응형

댓글()

안드로이드(Android) 에서 프레임 애니메이션 만들기

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

안드로이드(Android) 에서 프레임 애니메이션 만들기

 

개발환경 : window 7 64bit, Eclipse Kepler, Android 4.2.2

 

이번 주제는 안드로이드에서 ImageView 에 여러가지 그림을 연속적으로

보여주며 애니메이션 효과를 만들어 보는 것이다. 애니메이션의 원리는

알다시피 여러장의 그림을 연속적으로 보여주면서 눈을 속이는 것이다.

 

안드로이드는 이런 한장한장의 그림을 연속적으로 이어서 재생 될수 있도록

클래스를 제공한다. 그 클래스는 android.graphics.drawable.AnimationDrawable 이다.

위젯 ImageView 에서 getBackground 함수를 이용해 얻을 수 있다.

이렇게 얻은 AnimationDrawable 를 이용해 Start, Stop 호출해서 애니메이션의

시작과 종료를 할수 있다.

 

(1) 애니메이션 구현을 위한 여러장의 스틸사진 준비

 

사진은 PNG 이미지로 준비한다. 그리고 drawable 폴더에 넣어둔다.

 

(2) animation list xml 파일 작성

 

ImageView 에 셋팅할 animation list xml 파일이 필요하다. 이곳에 애니메이션에

필요한 스틸사진들의 이름을 차례대로 넣으면 된다.

먼저 drawable 폴더에서 xml 파일을 생성하자. 생성할때 Root Element 를

Animation-list 로 하자.

 

 

생성된 xml 파일에 재생하고자 하는 이미지 리스트를 넣자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
     android:oneshot="false" >
     
<item android:drawable="@drawable/naruto01" android:duration="210" />
    <item android:drawable="@drawable/naruto02" android:duration="210" />
    <item android:drawable="@drawable/naruto03" android:duration="210" />
    <item android:drawable="@drawable/naruto04" android:duration="210" />
    <item android:drawable="@drawable/naruto05" android:duration="210" />
    <item android:drawable="@drawable/naruto06" android:duration="210" />
    <item android:drawable="@drawable/naruto07" android:duration="210" />
    <item android:drawable="@drawable/naruto08" android:duration="210" />
    <item android:drawable="@drawable/naruto09" android:duration="210" />
    <item android:drawable="@drawable/naruto10" android:duration="210" />
    <item android:drawable="@drawable/naruto11" android:duration="210" />
     
</animation-list>

 

(3) main layout 파일에 ImageView 위젯을 추가

 

애니메이션을 표현할 ImageView 위젯을 레이아웃에 추가한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
 
    <ImageView
        android:id="@+id/imageAnimation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:adjustViewBounds="true" />
 
</RelativeLayout>

 

(4) main activity 에서 애니메이션 표현 하기

 

소스는 간단하다. ImageView 객체를 얻어온후 setBackgroundResource 함수를 이용해

Animation-list xml 을 셋팅한다. 그리고 ImageView 에서 AnimationDrawable 객체를

얻어낸다.

실질적으로 애니메이션의 동작을 제어하는 객체는 AnimationDrawable 가 된다.

시작과 종료는 onWindowFocusChanged 에 구현되어 있는데 Activity 가 활성화

되어있으면 시작하고 화면이 바뀌거나 종료되어서 포커스를 잃게 되면 Stop 을

호출해 종료 하게 된다.

 

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
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ImageView;
 
public class MainActivity extends Activity {
 
    private AnimationDrawable frameAnimation;
    private ImageView view;
     
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         
        // 컨트롤 ImageView 객체를 가져온다
        view = (ImageView) findViewById(R.id.imageAnimation);
  
        // animation_list.xml 를 ImageView 백그라운드에 셋팅한다
        view.setBackgroundResource(R.drawable.frame_animation_list);
  
        // 이미지를 동작시키기위해  AnimationDrawable 객체를 가져온다.
        frameAnimation = (AnimationDrawable) view.getBackground();
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
     
    // 어플에 포커스가 가면 동작한다
    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        if (hasFocus) {
            // 어플에 포커스가 갈때 시작된다
            frameAnimation.start();
        } else {
            // 어플에 포커스를 떠나면 종료한다
            frameAnimation.stop();
        }
    }
}

 

(5) 실행 화면과 프로젝트 파일

 

프로젝트 파일 링크 :     AnimateSample.zip

 



[출처] 녹두장군 (mainia.tistory.com/704)

반응형

댓글()

네트워크 접속 여부 확인하기 (wifi, mobile data)

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

네트워크 접속 여부를 확인하기 위한 파일 및 소스


AndroidManifest.xml


<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 



SysdocuActivity.java


import android.widget.Toast;

import android.content.Context;

import android.net.ConnectivityManager;

import android.net.NetworkInfo;


public class SysdocuActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_sysdocu);

checkNetworkStatus();

}


// Network Connection Check

public void checkNetworkStatus() {

final ConnectivityManager cm = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);

final android.net.NetworkInfo wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

final android.net.NetworkInfo mobile = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);


if(mobile.isConnected() || wifi.isConnected()) {

Toast.makeText(this, "Network connect success", Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(this, "Network connect fail", Toast.LENGTH_SHORT).show();

}

}


반응형

댓글()

3초 뒤 자동 화면 전환

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

IntroActivity.java (처음 화면)


import android.os.Handler;

import android.os.Message;

import android.content.Intent;


public class IntroActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_intro);


Handler handler = new Handler() {

public void handleMessage(Message msg) {

super.handleMessage(msg);

startActivity(new Intent(IntroActivity.thisSysdocuActivity.class));

finish();

}

};

handler.sendEmptyMessageDelayed(0, 3000);


}

} 


반응형

댓글()

타이틀바 및 상태바 제거

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

AndroidManifest.xml 파일에서 해당 Activity에 추가를 해주면 됩니다.


타이틀바 제거

<activity android:theme="@android:style/Theme.NoTitleBar">

 

타이틀바 및 상태바 제거

<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen">


반응형

댓글()

뒤로가기(Back 버튼) 두번 눌러 앱 종료하기

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

요즘 많은 어플들이 뒤로가기 버튼을 두번 눌러 앱을 종료시킨다. 
 종료하시겠습니까? 라는 확인창이 뜨고 확인을 눌러야 되는 번거로움이 없고, 잘못 종료버튼을 눌렀을 경우에도 토스트 알림창만 뜰뿐 별다른 방해요소가 없어서 참 좋은것 같다. 요즘 대부분의 앱이 이러한 종료 방식을 선택하고 있기때문에 한번 구현을 해보자.



 구현방법은 간단하다 뒤로가기 버튼 클릭시 현재시간을 저장하며 토스트 알림창을 띄워주고 한번더 눌렀을때 일정시간(예를들면 2초)가 지났는지 확인하고 일정시간이 지나지 않았을 경우 종료, 지났을 경우 알림창을 다시 띄워주면 된다.

0.    시간을 저장하는 변수(t) = 0;
1.    뒤로가기 버튼 (처음)클릭시 시간을 저장하는 변수(t) + 2000(2초)가 현재 시간보다 작다.
2-1. 알림창을 띄운다.('뒤로'버튼을 한번 더 누르시면 종료됩니다.)
2-2. 시간을 저장하는 변수(t)에 현재 시간을 저장한다.
3.    뒤로가기 버튼을 한번더 클릭
4-1. 현재 시간이 변수t + 2000보다 작으면 앱 종료
4-2. 현재 시간이 변수t + 2000보다 크면 t에 현재시간을 저장하고 알림창을 띄운다.


글로 보면 어렵더라도 소스를 보면 아마 바로 이해가 갈 것이다.

먼저 뒤로가기 버튼의 이벤트를 담당하는 클래스를 하나 만들었다.

BackPressCloseHandler.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
import android.app.Activity;
import android.widget.Toast;
 
public class BackPressCloseHandler {
 
    private long backKeyPressedTime = 0;
    private Toast toast;
 
    private Activity activity;
 
    public BackPressCloseHandler(Activity context) {
        this.activity = context;
    }
 
    public void onBackPressed() {
        if (System.currentTimeMillis() > backKeyPressedTime + 2000) {
            backKeyPressedTime = System.currentTimeMillis();
            showGuide();
            return;
        }
        if (System.currentTimeMillis() <= backKeyPressedTime + 2000) {
            activity.finish();
            toast.cancel();
        }
    }
 
    public void showGuide() {
        toast = Toast.makeText(activity,
                "\'뒤로\'버튼을 한번 더 누르시면 종료됩니다.", Toast.LENGTH_SHORT);
        toast.show();
    }
}


다음은 이 기능을 사용하려는 액티비티에서 넣어줘야 되는 소스이다. 사용하려는 액티비티에 onBackPressed()메소드를 생성하고 BackPressCloseHandler 클래스의 onBackPressed()메소드를 불러와주면 된다.

MainActivity.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class MainActivity extends Activity {
 
    private BackPressCloseHandler backPressCloseHandler;
     
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
         
        backPressCloseHandler = new BackPressCloseHandler(this);
    }
 
    @Override
    public void onBackPressed() {
        //super.onBackPressed();
        backPressCloseHandler.onBackPressed();
    }
}

[출처] 기초 탄탄 영상털이's Story | 영상털이범 (http://dsnight.tistory.com/14)

반응형

댓글()

스크롤바 넣기 (ScrollView)

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

스크롤 할 부분을 ScrollView 로 감싸면 됩니다.

주의할 것은 ScrollView 내부에 Layout 이 하나만 들어 갈 수 있습니다.

그러므로 복잡한 레이아웃을 만들 경우 ScrollView 안의 Layout 속에 여러개의 Layout 을 만들면 됩니다.


/res/layout/activity_main.xml


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

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/sysdocu_main_layer"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"

    android:background="#ffffff">


<ScrollView

    android:id="@+id/scrollview"

    android:layout_width="match_parent"

    android:layout_height="match_parent">


<LinearLayout

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"

    android:background="#ffffff">


     <TextView android:id="@+id/history"

         android:layout_width="match_parent"

         android:layout_height="wrap_content"

         android:textSize="16dip"

         android:layout_margin="10dip"

         android:textColor="#000000"/>


     <TextView android:id="@+id/lblMessage" 

         android:layout_width="match_parent"

         android:layout_height="wrap_content"

         android:textSize="16dip"

         android:layout_margin="10dip"

         android:textColor="#000000"/>


</LinearLayout>


</ScrollView>


</LinearLayout> 


반응형

댓글()

액티비티 (activity) 재시작 재호출 재구동

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

현재 Activity 종료후 재호출 방법


finish();

startActivity(new Intent(this, SysdocuActivity.class));


위 소스로 되지 않을경우 아래와 같이 현재 액티비티명을 추가해줍니다.


startActivity(new Intent(SysdocuActivity.this, SysdocuActivity.class));



반응형

댓글()

xml 파일을 이용한 메뉴버튼 구현 (OptionsMenu)

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

MainActivity.java 파일 하나만으로도 메뉴 구현이 가능하지만

여기서는 xml 파일을 이용한 Options Menu를 구현해보도록 하겠습니다.


* 장점 : 구현이 쉬움

* 단점 : 메뉴 > 서브메뉴(다중 체크)를 구현해도 한 개의 Item 클릭시 창이 닫힘



res/menu/activity_main.xml 파일 생성


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

    <item

        android:id="@+id/setting"

        android:title="SETTING">

        <menu>

            <group android:id="@+id/menu_group" android:enabled="true" android:checkableBehavior="all">

                <item android:id="@+id/popup" android:title="POPUP" />

                <item android:id="@+id/notice" android:title="NOTICE" />

            </group>

        </menu>

    </item>

    <item

        android:id="@+id/clear"

        android:title="CLEAR" />

    <item

        android:id="@+id/exit"

        android:title="EXIT" />

</menu> 


* 아래 옵션을 사용하면 메뉴에 이미지 삽입도 가능합니다.

    android:icon="@drawable/icon_clear"



MainActivity.java 수정


import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuInflater;

import android.view.MenuItem;

import android.widget.Toast; 



public class MainActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}


  // Menu

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}


@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch(item.getItemId()) {

case R.id.popup:

if (item.isChecked()) item.setChecked(false);

else item.setChecked(true);

return true;

case R.id.notice:

if (item.isChecked()) item.setChecked(false);

else item.setChecked(true);

return true;

case R.id.clear:

DBManager GCMclear = new DBManager(this, "sysdocu.db", null, 1);

SQLiteDatabase db = GCMclear.getWritableDatabase();

db.execSQL("delete from message;");

db.close();

finish();

startActivity(new Intent(this, MainActivity.class));

return true; 

case R.id.quit:

finish();

return true;

default:

return super.onOptionsItemSelected(item);

}

}

}


반응형

댓글()