2011.09.29 13:00

1. 일단 res 폴더안에 raw 폴더를 만들고 될 수 있으면 ogg 파일로 넣는다. (mp3 파일보다 에러가 적다)

 

2. MusicService 클래스를 만든다. (배경음악을 틀어주는 Class)

 

import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.util.Log;

 

public class MusicService extends Service {
 
 public MediaPlayer mp;

 

 public IBinder onBind(Intent arg0) {

  return null;
 }

 

 public void onStart(Intent intent, int startId) {
  Log.i("Example", "Service onStart()"); 

  super.onStart(intent, startId);
  mp = MediaPlayer.create(this, R.raw.ashi);
  mp.setLooping(true); // 반복 재생 설정 (true와 false로 조정 가능)
  mp.start(); //음악 재생


 }

 public void onDestroy() {
  Log.i("Example", "Service onDestroy()");
  super.onDestroy();
  mp.stop(); //음악 정지
 }
}

 

3. AndroidManifest.xml에 다음과 같이 설정한다.

 

<service android:name=".MusicService">
      <intent-filter>
       <action android:name="com.Example.service.test/>
       <category android:name="android.intent.category.DEFAULT"/>
      </intent-filter>
  </service>

 

4. 음악을 틀어줄 Activity에 startService와 stopService로 배경음악을 제어한다.

 

public class Example extends Activity

 

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        startService(new Intent("com.Example.service.test")); //Activity 시작과 함께 배경음악을 재생한다.

.

.

.

 

// Back키를 누르면 종료되는 Method
//AndroidManifest.xml에 <uses-permission android:name="android.permission.RESTART_PACKAGES"></uses-permission> 설정 할 것.

public boolean onKeyDown(int keyCode, KeyEvent event){

        switch (keyCode){
        case KeyEvent.KEYCODE_BACK:
         exit();
        }
          return super.onKeyDown(keyCode, event);    

 }   

        public void exit(){
            ActivityManager am = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
            am.restartPackage(getPackageName());
           
 stopService(new Intent("com.Example.service.test")); //종료되면 배경음악이 꺼진다.

    }

Posted by 그린블로그 DEV그린
2011.09.29 12:57
android:imeOptions="flagNoExtractUi"

속성을 넣어줍니다.

<EditText
  android:layout_width="190dp"
  android:layout_height="50dp"
  android:id="@+id/string_etext1"
  android:layout_below="@+id/string1"
  android:numeric="integer"
  android:layout_centerHorizontal="true"
  android:hint="힌트"
  android:imeOptions="actionDone|flagNoExtractUi"
  />
Posted by 그린블로그 DEV그린
2011.09.29 12:43

간단한 단축키를 이용하여 대소문자 변환을 해줍니다.


소문자 변환 : 블럭 지정 후 ctrl + shift + Y

대문자 변환 : 블럭 지정 후 ctrl + shift + X

Posted by 그린블로그 DEV그린
2011.09.29 12:43

TextView의 글을 자르기 위해서는 일단 글을 한줄로 제한 하는 


android:singleLine="true"


속성을 줘야 한다.


android:ellipsize="end" 

글이 길면 ...으로 잘라주는 속성. 예를 들어 "가나다라마바사" 가 "가나다..." 가 되는 속성이다.


android:ellipsize="marquee"

웹의 마퀴 태그와 같이 글자가 흐르게 보여주는 속성. 효과를 주려면 코드에


textview.setSelected(true); 


이렇게 주어야 한다.


<TextView

  android:id="@+id/test"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent"

  android:layout_centerHorizontal="true"

  android:text="가나다라마바사"

  android:textSize="12dip"

  android:textColor="@color/Black"

   android:gravity="center"

   android:singleLine="true"

   android:ellipsize="end"

 />


 ps : 보라색 색상 코드 : #7F007F

        녹색 색상 코드 : #3F7F7F

Posted by 그린블로그 DEV그린
2011.09.29 12:41

density : [Low density (120), ldpi] [Medium density (160), mdpi] [High density (240), hdpi]



◈ (dip -> px) DIP 값 구하기


 dip = px * (160/density)

(hdpi 기준) DIP = ( PX / 3 ) * 2
(hdpi 기준) DIP = PX * 0.666



◈ (px -> dip) PX 값 구하기


pixels = dip * (density / 160)

(hdpi 기준) PX = DIP * 1.5
Posted by 그린블로그 DEV그린
2011.09.29 12:39
Calendar cal = Calendar.getInstance();

String dateToString timeToString ;

dateToString = String.format("%04d-%02d-%02d", cal.get(Calendar.YEAR), cal.get(Calendar.MONTH) + 1, cal.get(Calendar.DAY_OF_MONTH));

timeToString = String.format("%02d:%02d:%02d", cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND));

Log.i("INFO""Date&Time : "+dateToString +", "+timeToString);

-----------------------------------------------------------------------

이렇게 하면 

dateToString의 값은 "YYYY-MM-DD" 로, 
timeToString의 값은 "HH:mm:ss" 로 변환됩니다.
Posted by 그린블로그 DEV그린
2011.09.29 12:38

시간 끌기 1번


     for(int i=0; i<100000; i++){

     Log.i("test", ""+i);

     }


시간 끌기 2번


     try {

Thread.sleep(4000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

Posted by 그린블로그 DEV그린
2011.09.29 12:37

1. 숫자(Int)를 문자(String)형으로 변환하는 방법


int number = 1; 

//숫자형 변수 number의 값을 1로 선언


String IntToString Integer.toString(number); 

//String 변수 IntToString를 선언하여 number 변수의 1값을 String 값 "1" 로 바꿈.

String IntToString = String.valueOf(number); 

//다른 방법.


2. 문자(String)를 숫자(Int)형으로 변환하는 방법


String char "1000"; 

//숫자형 변수 char의 값을 "1000" 으로 선언


int StringToInt Integer.parseInt(char); 

//String 수 StringToInt를 선언하여 char 변수의 "1000"값을 int 값 1000 으로 바꿈.

Posted by 그린블로그 DEV그린