'안드로이드'에 해당되는 글 20건

  1. 2012.02.29 Android - 간단한 메뉴버튼 옵션메뉴 생성하기
  2. 2012.02.17 Android - 단말기 번호 정보 알아내기 (4)
  3. 2011.11.20 안드로이드OS 기기 2억대 돌파 - 뉴스
  4. 2011.10.04 Android - Button & Call ( 전화걸기 )
  5. 2011.10.03 Android - Button & Dialogbox ( 버튼 클릭 시 대화상자 띄우기 )

Android - 간단한 메뉴버튼 옵션메뉴 생성하기

Android 2012.02.29 15:02


한 액티비티에서 보이는 화면에 버튼을 추가하지 않고 메뉴버튼을 선택했을 때 나타나는 옵션메뉴를 간단하게 생성해 보겠습니다.

옵션메뉴를 생성하려고 하는 곳에서 다음과 같은 소스를 추가하여 자신이 원하는 대로 수정하시면 되겠습니다.

간단하게 2개의 옵션메뉴를 생성해보겠습니다.

소스는 다음과 같습니다.


@Override

public boolean onCreateOptionsMenu(Menu menu) {

menu.add(0, 0, 0, "홈").setIcon(android.R.drawable.ic_menu_revert);

menu.add(0, 1, 0, "새로고침").setIcon(android.R.drawable.ic_menu_rotate);

return true;

}


위 소스는 메뉴버튼을 생성할 때의 메소드입니다.
add 메소드는 메뉴를 추가할 때마다 써주는 것이구요 2개 생성이니깐 2개의 메소드를 썼습니다.
add메소드는 4개의 인자를 가지는데요  
menu.add(groupId, itemId, order, titleRes)

groupId 는 메뉴 아이템을 그룹지을 때 사용되고, 
itemId 는 아이템 식별을 위해 메뉴 아이템의 고유한 이름이 됩니다.
order 는 아이템 표시 순서를 지정하는데, 기본값으로는 추가된 순서대로 표시가 되고,
title 은 메뉴 아이템이 가지는 이름이며 , 구글 공식문서에서는 문자열 리소스로 작성하도록 권고하고 있네요 

그리고 뒤에 setIcon은 보시는데로 아이콘을 같이 뛰어주기 위해 사용합니다.
현재 제가 쓴 방법은 기본으로 안드로이드에서 제공하는 이미지를 사용한 것이구요 
사용자가 직접 만든 이미지를 사용할려면 R.drawable.이미지 가 되겠지요.


@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case 0:

 //처리할 이벤트

break;
 

case 1:

 // 처리할 이벤트 

break;

default:

break;

}

return super.onOptionsItemSelected(item);

}

이 소스는 옵션메뉴의 클릭 이벤트 처리 메소드 이구요
버튼처리처럼 메뉴의 아이템아이디 값을 받아와 처리합니다. 
add 메소드로 추가할 때 적는 itemId 값입니다.


 
이런식으로 하단 메뉴버튼을 누르면 밑에서 숨겨진옵션메뉴가 스르륵 올라옵니다.

간단하게 옵션메뉴 생성하는 방법을 살펴보았습니다.
도움이 되었으면 합니다. ~~~ 뿅 

 
저작자 표시
신고
Trackback 0 : Comment 0

Write a comment


Android - 단말기 번호 정보 알아내기

Android 2012.02.17 14:23


소스를 짜다보면 사용 단말기의 번호가 필요한 경우가 있습니다.

인증이나 다른곳에 필요할 때 직접 입력하기보다는 단말기 번호를 자체적으로 하면 사용자입장에선 편할 것 같습니다.

아래는 간단하게 단말기 번호를 알아내서 000-0000-0000 이런식으로 바꿔주는 소스입니다.

if문은 간혹 단말기에 010이 아닌 +82 라던가 다른 번호로 시작할 경우를 대비해서 간단한 제어문을 한거지만

외국단말기 등 더 많은 처리를 해주어야겠지요.

소스는 아래와 같습니다.

TelephonyManager telManager = (TelephonyManager)getApplicationContext().getSystemService(getApplicationContext().TELEPHONY_SERVICE); 
 

String phoneNum = telManager.getLine1Number(); 

if(!phoneNum.substring(0, 3).equals("010")){
 


phonenumber = ("0" + phoneNum.substring(3, 5) + "-" +phoneNum.substring(5, 9) + "-" +phoneNum.substring(9));
 


}else {
 


phonenumber = (phoneNum.substring(0, 3) + "-" +phoneNum.substring(3, 7) + "-" +phoneNum.substring(7));
 


}




유용하게 쓰셨으면 좋겠습니다 ! 

문의는 댓글이나 방명록을 이용해주세요. 
저작자 표시
신고
Trackback 0 : Comments 4
  1. estt____ 2012.02.27 20:50 신고 Modify/Delete Reply

    덕분에 좋은정보를 하나 얻어갑니다.

    그런데 phoneNum = ("0" + phoneNum.substring(3, 5) + "-" +phoneNum.substring(5, 9) + "-" +phoneNum.substring(9));
    이부분 에서 -는 000-0000-0000 에 이용되는건가요?
    그냥할경우는 00000000000 나오기때문에 마이너스 넣는법을 찾고잇어요.

    • estt____ 2012.02.27 21:01 신고 Modify/Delete

      잘못햇군요. 위에 비밀번호를 이상하게 쳐가지고 번호에 마이너스를 넣을려면 어떻게해야할까요?

    • 정승현 2012.02.29 14:47 신고 Modify/Delete

      현재 위에 방식이

      000-0000-0000

      방식입니다.

  2. eeaa3 2012.03.01 11:21 신고 Modify/Delete Reply

    위에를 못읽엇습니다. 방식이 적혀져잇네요 ㅎㅎ

Write a comment


안드로이드OS 기기 2억대 돌파 - 뉴스

유용한 정보 2011.11.20 14:34

우와 정말 빠른속도로 점령해가고 있는 안드로이드 입니다.
이런 기사를 보면 정말 앞으로 안드로이드가 스마트폰 말고도 어느 방향으로 발전해나갈지 궁금합니다.

기사 내용은 다음과 같습니다.

안드로이드 기기 시장이 2억대 수준까지 성장했다. 19일(현지시간) 씨넷 등 외신은 구글이 지난 5월 구글 I/O컨퍼런스에서 안드로이드 기기가 1억대 팔렸다고 발표한 뒤 불과 반년만에 그 수치가 2배로 늘었다고 보도했다.

 

매일 하루에 55만대의 안드로이드 기기가 개통되는 셈이다. 구글은 안드로이드 기기 대수에 대해 최근 열린 구글뮤직서비스 행사에서 공개했다.

 

보도에 따르면 안드로이드 기기는 지난 5월에는 1일 평균 하루 40만대가량이 개통됐으나 6월에는 50만대로 그 수치가 늘었다.

이같은 추세면 구글 안드로이드는 곧 애플을 따라잡을 수도 있을 것으로 보인다. 지난달 4일 아이폰4S 행사장에 나타난 팀쿡 애플 CEO는 iOS 기기가 2억5천만대 팔렸다고 밝힌 바 있다. 이는 아이폰, 아이패드, 아이팟터치를 합한 수치다.

 

시장조사업체는 안드로이드의 지배력이 커지고 있다는 보고서를 잇달아 내놓고 있다. 가트너그룹은 스마트폰 시장에서의 안드로이드 점유율이 52%로 iOS의 15% 대비 3배 이상이라는 보고서를 발표한 바 있다.

 

미국 콤스코어도 최근 북미 시장 스마트폰 점유율 보고서를 통해 안드로이드 43%, 아이폰 27% 점유율을 추산했다.

 

안드로이드 세력 확대는 최초의 아이스크림샌드위치 폰인 삼성전자 갤럭시넥서스 출시를 기점으로 더욱 확대될 전망이다. 갤럭시넥서스는 지난 17일 영국을 시작으로 이달말까지 세계 각지에서 출시가 예정됐다.

http://www.zdnet.co.kr/news/news_view.asp?artice_id=20111120094510&type=xml




세계적으로 구글의 안드로이드 운영체제를 사용하는 단말기의 개통대수가 2억대를 돌파했다.

19일(현지시간) 씨넷, 슬래시기어 등 미국의 IT 언론들에 따르면, 이 수치는 구글이 최근 '구글 뮤직'을 공개하면서 밝힌 것이다.

이 수치는 또 구글이 지난 5월에 밝힌 것보다 두 배가 늘어난 것이다.

구글은 지난 5월에 개최한 '구글 I/O 컨퍼런스' 기조연설에서 세계적으로 1억대 이상의 안드로이드 단말기가 개통됐다고 밝힌 바 있다.

따라서 6개월 만에 약 1억대의 안드로이드 단말기가 새로 개통된 것이다.

구글은 또 현재 하루 55만대 이상의 안드로이드 단말기가 개통되고 있다고 밝혔다. 지난 5월에는 이 수치가 40만대였었다.

슬래시기어 등 미국 언론들은 '갤럭시 넥서스(사진)'를 포함해 새로운 운영체제인 '아이스크림 샌드위치(안드로이드 4.0)'를 이용한 단말기가 잇따라 출시될 경우 이 수치는 더 높아질 가능성이 있다고 전망하였다.

가트너가 발표한 자료에 따르면, 지난 3분기 스마트폰 시장에서 안드로이폰 점유율은 52%였다.

한편, 지난 10월4일 아이폰4S를 공개하는 자리에서 팀 쿡 애플 최고경영자(CEO)는 당시까지 2억5천만대의 iOS 단말기를 판매했다고 밝힌 바 있다.

http://news.inews24.com/php/news_view.php?g_serial=619350&g_menu=020800&rrf=nv


저작자 표시
신고
Trackback 0 : Comment 0

Write a comment


Android - Button & Call ( 전화걸기 )

Android 2011.10.04 20:07


버튼 이벤트처리로 전화걸기를 해보겠습니다.
간단한 구문 하나로 처리 될 수 있는 이벤트 입니다.

앱에서 자주 찾아볼 수 있는 기능 중에 하나죠? 이제 살펴 보겠습니다.

전화걸기 기능에서 두가지로 나눌 수 있습니다.
바로 전화를 걸어주는 기능 과 다이얼로 번호만 표시해주는 기능
상황에 따라 맞는 것을 가져다 쓰시면 되겠죠?

필요한 구문을 살펴보겠습니다.

먼저 전화번호를 그냥 표시만 해주는 구문
Intent in = new Intent(Intent.ACTION_DIAL, Uri.parse(url));
startActivity(in);

그리고 전화를 바로 걸어주는 구문
Intent in = new Intent(Intent.ACTION_CALL, Uri.parse(url));
startActivity(in);


그리고 중요한 한가지 !
이제부터는 핸드폰의 기능을 사용하기 시작합니다.
애플리케이션안에서 작동될 수 있는 기능들은 상관없지만
핸드폰의 기능 즉 카메라나 인터넷 전화걸기 등등 을 사용할 때는 따로 설정해줄 것이 있습니다.

바로 AndroidManiFest.xml의 uses-permission을 설정해주는 것입니다.
설정방법은 따로 글을 써서 설명하겠습니다.

uses-permission에서 android.permission.CALL_PHONE 를 찾아서 선택하여 저장합니다.


프로젝트 생성

Project name : ExamCall
Build Target : Android 2.1
Package name : jsh.exam.call
Create Activity : main
Min SDK Version : 7


Java 소스

main.java

package jsh.exam.call;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class main extends Activity implements OnClickListener {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  Button bt1 = (Button) findViewById(R.id.button1);
  bt1.setText("바로전화걸기");
  Button bt2 = (Button) findViewById(R.id.button2);
  bt2.setText("다이얼로표시");

  bt1.setOnClickListener(this);
  bt2.setOnClickListener(this);

 }

 @Override
 public void onClick(View arg0) {
  // TODO Auto-generated method stub

  switch (arg0.getId()) {

  case R.id.button1:

   startActivity(new Intent("android.intent.action.CALL",
     Uri.parse("tel:010-0000-0000")));
   break;

  case R.id.button2:

   startActivity(new Intent("android.intent.action.DIAL",
     Uri.parse("tel:010-0000-0000")));

   break;
  }

 }
}



XML 소스

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="
http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <Button
  android:text="Button"
  android:id="@+id/button1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"></Button>
 <Button
  android:text="Button"
  android:id="@+id/button2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"></Button>
</LinearLayout>


실행 결과


하나의 버튼은 바로 전화를 걸어주고 다른 하나의 버튼은 다이얼창에 표시만 해주는 것을 알 수 있습니다.




뷰 한번 씩 클릭 해주시면 다른분들도 정보를 공유할 수 있습니다.

 

 


저작자 표시
신고
Trackback 0 : Comment 0

Write a comment


Android - Button & Dialogbox ( 버튼 클릭 시 대화상자 띄우기 )

Android 2011.10.03 17:56

버튼이나 이미지를 선택 했을 때
대화상자를 뿌려서 설명을 해주거나 안내 경고 문 등 원하는 내용을 보여줄 수 있습니다.
여기서 실습한 내용은 버튼3개와 이미지3개를 구성하여
선택했을 때 선택한 버튼과 이미지에 따라 다른 내용의 대화상자를 띄우는 것입니다.


대화상자를 띄우기 위해서 AlertDialog 클래스 사용합니다.
크게 사용하는 속성은 다음 두가지 입니다.
setTitle() ,  setMessage()  보시다시피 보여질 제목과 내용을 뜻 합니다.
또한 대화상자에서 확인이나 취소버튼을 눌렸을 때 일어나는 이벤트 처리는
setPositiveButton() 으로 합니다.

자 그럼 실습을 해보겠습니다.
여기서 다루는 내용에서는 메소드를 생성하여서 그안에서 처리하는 방법으로 했습니다.


프로젝트 생성

Project name : ExamButtonBox
Build Target : Android 2.1
Package name : jsh.exam.buttonbox
Create Activity : mainpage
Min SDK Version : 7


이미지 파일



Java 소스

mainpage.java


package jsh.exam.buttonbox;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class mainpage extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        //선언부
       
        Button bt1 = (Button) findViewById (R.id.button1);
        bt1.setText("첫번째버튼");
        Button bt2 = (Button) findViewById (R.id.button2);
        bt2.setText("두번째버튼");
        Button bt3 = (Button) findViewById (R.id.button3);
        bt3.setText("세번째버튼");
       
        ImageView iv1 = (ImageView) findViewById (R.id.imageView1);
        ImageView iv2 = (ImageView) findViewById (R.id.imageView2);
        ImageView iv3 = (ImageView) findViewById (R.id.imageView3);
       
       
        //클릭이벤트
       
        bt1.setOnClickListener(this);
        bt2.setOnClickListener(this);
        bt3.setOnClickListener(this);
       
        iv1.setOnClickListener(this);
        iv2.setOnClickListener(this);
        iv3.setOnClickListener(this);
       
       
       
       
       
    }

 @Override
 public void onClick(View arg0) {
  // TODO Auto-generated method stub
  
  
  //버튼과 이미지가 선택 시 일어날 이벤트 처리
  switch(arg0.getId()) {
  
  case R.id.button1 :
   
   showdialog(this, "첫번째버튼눌림");
   
   break;
   
   
  case R.id.button2 :
   
   showdialog(this, "두번째버튼눌림");
   
   break;
   
   
  case R.id.button3 :
   
   showdialog(this, "세번째버튼눌림");
   
   break;
   
   
  case R.id.imageView1 :
   
   showdialog(this, "첫번째이미지눌림");
   
   break;
   
   
  case R.id.imageView2 :
   
   showdialog(this, "두번째이미지눌림");
   
   break;
   
   
   
  case R.id.imageView3 :
   
   showdialog(this, "세번째이미지눌림");
   
   break;  
  
  }
  
 }
 
 //대화상자 메소드
 
 private static void showdialog(final Activity activity,
   String text) {
  AlertDialog.Builder ad = new AlertDialog.Builder(activity);
  
  //뿌려질 내용
  ad.setMessage(text);
  ad.setCancelable(false);
  
//확인버튼눌렸을때 처리
  ad.setPositiveButton("확인", new DialogInterface.OnClickListener() {

   public void onClick(DialogInterface dialog, int whichButton) {

    activity.setResult(Activity.RESULT_OK);
    
    
    }
  });  

  ad.create();
  ad.show();
 }
 
}



XML 소스
main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="
http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <Button
  android:text="Button"
  android:id="@+id/button1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"></Button>
 <Button
  android:text="Button"
  android:id="@+id/button2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"></Button>
 <Button
  android:text="Button"
  android:id="@+id/button3"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"></Button>
 <ImageView
  android:layout_height="wrap_content"
  android:layout_width="wrap_content"
  android:id="@+id/imageView1"
  android:background="@drawable/test1"></ImageView>
 <ImageView
  android:layout_height="wrap_content"
  android:layout_width="wrap_content"
  android:id="@+id/imageView2"
  android:background="@drawable/test2"></ImageView>
 <ImageView
  android:layout_height="wrap_content"
  android:layout_width="wrap_content"
  android:id="@+id/imageView3"
  android:background="@drawable/test3"></ImageView>
</LinearLayout>


실행 결과



실행 결과화면에 보듯이 버튼3개와 이미지3개가 화면에 구성되어 있고
그 중에 하나를 클릭 시 해당하는 내용을 대화상자로 화면에 뿌려줍니다.

저작자 표시
신고
Trackback 0 : Comment 0

Write a comment