2016년 1월 17일 일요일

인사나 안부를 물을때 쓰이는 기본생활영어회화



생활영어회화 
인사나 안부를 물을때 쓰이는 기본생활영어회화에 대해서 배워보세요~



* 안녕하세요
  Hello
  Good morning (아침), 
  Good afternoon (점심), 
  Good evening (저녁)

* 만나서 반가워요
  Glad to meet you
  Nice to meet you

* 어떻게 지내세요?
  How are you doing?

* 잘 자요~
  Good night~

* 처음 뵙겠습니다. 저는 천사라고 해요.
   Pleased to meet you. My name is Angel
  
방문해 주셔서 감사해요~

즐거운 시간 보내세요~



2016년 1월 16일 토요일

안드로이드 팁 핸들러와 타이머를 이용하여 ViewPager 컨트롤


안드로이드 팁 핸들러와 타이머를 이용하여 ViewPager 컨트롤



PAGER를 타이머와 핸들러를 이용하여 일정시간마다 호출해서 페이지가 바뀌게 해주는 소스

소스예제)

TOT_PAGE_COUNT = 총 페이지수

인터페이스를 컨트롤하기 위하여 핸들러 사용

일정시간마다 호출하기 위하여 타이머 호출해줘요

final Handler handler = new Handler();
final Runnable Update = new Runnable() {
public void run() {
if (currentPage == TOT_PAGE_COUNT ) {
currentPage = 0;
}
mPager.setCurrentItem(currentPage++, true);
}
};

mTimer= new Timer();
mTimer.schedule(new TimerTask() {
@Override
public void run() {
handler.post(Update);
}
}, 550, 3300);

즐거운 시간 보내세요~

2016년 1월 13일 수요일

안드로이드 ListView 목록 새로고침 : adapter.notifyDataSetChanged()


안드로이드 앱개발 팁



ListView 목록 새로고침 : adapter.notifyDataSetChanged()

참조 소스)

ByReqListAdapter adapter = null;
ArrayList<SearchUpbunUnit> arMansInfo = new ArrayList<SearchUpbunUnit>(); //검색 리스트
ListView lvSubByReq1 = null;
int iResultStart = -5;
int iResultEnd = 5;

.....

lvSubByReq1 = (ListView)findViewById(R.id.lvSubByReq);
lvSubByReq1.setVisibility(View.VISIBLE);
adapter = new ByReqListAdapter(getContext(), R.id.lvSubByReq1, arMansInfo);
lvSubByReq1.setAdapter(adapter);

//리스트뷰의 목록을 셋팅
lvSubByReq1.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
;
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if ((firstVisibleItem + visibleItemCount) == totalItemCount) {
Log.v(TAG, "IN, totalItemCount = " + totalItemCount);
//결과값이 널이면 리턴
if(arWorkProc==null){ return; }
//결과를 다 출력했으면 더 출력하지 않는다.
if(iResultEnd == arWorkProc.size())return;
//시작점 계산
if((iResultStart+5)>=arWorkProc.size()){
iResultStart = arWorkProc.size();
}else{
if(iResultStart==-5){
iResultStart = 0;
}else{
iResultStart = iResultEnd;
}
}
//끝점 계산
if((iResultEnd+5)>=arWorkProc.size()){
iResultEnd = arWorkProc.size();
}else{
iResultEnd = iResultEnd + 5;
}
//결과를 출력해
outputResult();
}
}
});



.....



//결과를 출력
public synchronized void outputResult(){
Log.i(TAG, ">outputResult : start("+iResultStart+"), end("+iResultEnd+")");
for(int i=iResultStart; i<iResultEnd; i++){
try{
    Log.i(TAG, ">outputResult : idx : " + i);
    HashMap hmUnit = (HashMap)arWorkProc.get(i);
    String sUnitUpbunAddr = 
com.util.StringUtil.Nvl((String)hmUnit.get("record1"));          //결과항목1
   String sUnitZipcode = com.util.StringUtil.Nvl((String)hmUnit.get("record2")); //결과항목2
   String sUnitBjMoney = com.util.StringUtil.Nvl((String)hmUnit.get("record3")); //결과항목3
   String sUnitProcState = com.util.StringUtil.Nvl((String)hmUnit.get("record4")); //결과항목4
   String sUnitExpireDate = 
com.util.StringUtil.Nvl((String)hmUnit.get("expire_date"));
//결과항목5
    //데이타들 추가
    SearchUpbunUnit temp;
    temp = new SearchUpbunUnit(i+"", sUnitUpbunAddr, sUnitZipcode, 
sUnitBjMoney, sUnitProcState, sUnitExpireDate, "", "");
    arMansInfo.add(temp);
   //refresh
   adapter.notifyDataSetChanged();
}catch(Exception e){
   Log.i(TAG, ">outputResult : Exception : " + e.toString());
}
}
}

즐거운 시간 보내세요~



2016년 1월 12일 화요일

MUSIC 관심있고 배우고 싶다면 모여라~


MUSIC 관심있고 배우고 싶다면 모여라~

바이올린 강좌
비올라 강좌
첼로 강좌
클라리넷 강좌 ( * 아름다운 선율이 멋있어요 )
플룻 강좌
드럼 강좌

전공자들의 특별레슨(기타 드럼 외 개인레슨 가능)

* 이색체험 : 길거리 공연, 봉사연주

* 1,2 학년 환영 (완전 초보 가능)

주최 : 은평구청 봉사단 소속 '프리템포'

신청 및 문의

연락처 : 
    010 8676 7289 로 문자 주세요~

이메일 : 
    mentor007angel@gmail.com

장소 : 
    서울 은평구 녹번동이거나 응암동 (인근 전철 : 녹번역, 응암역)



강사분들의 미모도 뛰어나시고, 인격도 좋고, 배우시려는 분들이 가장 크게 관심을 두시는 실력도 출중하세요~

즐거운 시간 보내세요~

안드로이드 옵션리스트 다이알로그(AlertDialog)



안드로이드 팁



안드로이드 손쉽게 사용할 수 있는 옵션리스트 다이알로그(AlertDialog)
ListView를 사용해서 선택하는 경우도 있는데, 시간도 절약되고 손쉽게 선택할 수 있어서 편리해요~

example)
/*
* 방들의 목록 옵션 다이알로그를 보여줘요
*/
private void dlgPhotoRoomSelectOption() {
   final String items[] = { "방1", "방2", "방3" };
   AlertDialog.Builder ab = new AlertDialog.Builder(actMain);
   ab.setTitle("방을 선택하세요");
   ab.setSingleChoiceItems(items, 0,
       new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog, int whichButton) {
           // 각 리스트를 선택했을때
       }
       }).setPositiveButton("OK",
       new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog, int whichButton) {
           // OK 버튼 클릭시 , 여기서 선택한 값을 메인 Activity 로 넘기면 된다.
       }
       }).setNegativeButton("CANCEL",
       new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog, int whichButton) {
           // Cancel 버튼 클릭시
       }
       });
   ab.show();
}

즐거운 시간 보내세요~

ImageView 이미지가 커서 나는 OutOfMemory를 방지하기 위해 축소하세요~




안드로이드개발 TIP



안드로이드에서 이클립스에서 자바로 개발할때 이미지가 커서나는 에러가 있는데, 여러요인중 이미지가 커서 나는 에러가 있어요
참고하세요~

ImageView 이미지가 커서 나는 OutOfMemory를 방지하기 위해 축소하세요~

샘플소스)
ImageView ivUnit = new ImageView(getContext());
LayoutParams lpImgUnit = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
ivUnit.setLayoutParams(lpImgUnit);
ivUnit.setImageBitmap(decodeSampledBitmapFromResource(getResources(), R.drawable.intro01_android, 140, 300));
((ViewPager)pager).addView(ivUnit, 0); //뷰를  추가


/*
   * 이미지가 커서 나는 outofmemory를 방지하기 위해 축소해준다
 */
decodeSampledBitmapFromResource(Resources res, int resId,
        int reqWidth, int reqHeight) {
    // First decode with inJustDecodeBounds=true to check dimensions
    final BitmapFactory.Options options = new BitmapFactory.Options();
    options.inJustDecodeBounds = true;
    BitmapFactory.decodeResource(res, resId, options);

    // Calculate inSampleSize
    options.inSampleSize = calculateInImgSize(options, reqWidth, reqHeight);

    // Decode bitmap with inSampleSize set
    options.inJustDecodeBounds = false;
    return BitmapFactory.decodeResource(res, resId, options);
}
public static int calculateInImgSize(
        BitmapFactory.Options options, int reqWidth, int reqHeight) {
    
     // Raw height and width of image
    final int height = options.outHeight;
    final int width = options.outWidth;
    int inSampleSize = 1;
    if (height > reqHeight || width > reqWidth) {
        if (width > height) {
            inSampleSize = Math.round((float)height / (float)reqHeight);
        } else {
            inSampleSize = Math.round((float)width / (float)reqWidth);
        }
    }
    return inSampleSize;

}

즐거운 시간 보내세요~


2016년 1월 11일 월요일

안드로이드 강좌 - 서울 (셋팅 + 하이브리드어플)




안드로이드 강좌를 해요

미션 : 
노트북에 안드로이드 개발을 위한 환경설정 및 삼성폰에 
샘플 하이브리드 어플을 만들어서 배포하는 부분까지의 강좌
    프로그램은 모두 준비가 되어 있어요
    Android SDK까지 준비가 되어 있어요(10기가 이상분량)
    프로그램(이클립스, Android SDK, Jdk1.7, 삼성 Kies)

수강료 : 
    3 마ㄴ 워ㄴ 

연락처 : 
    010 8676 7289 로 연락주세요~

이메일 : 
    mentor007angel@gmail.com

장소 : 
    서울 은평구 녹번동이거나 응암동 (인근 전철 : 녹번역, 응암역)

준비사항 : 
    노트북(20~30기가정도 여유 공간이 있는 하드디스크)+수강료

강좌잇점 : 
    1. 개발환경이 갖추어져서 여러 안드로이드 어플을 만드시는 준비작업이 다 갖추어져요
    2. Android SDK 실행 후에 각 버전 Download해서 Install하는데는 많은 시간이 소요되며,
       용량도 몇 기가에 이르기까지 많은 시간이 소요되지만 이미 수 기가에 이르는 프로그램을
       다운로드해서 설치가 된 상황이라서 시간이 따로 소요될 필요가 없어요
    2. 하이브리드 어플 개발에 대한 소스가 생겨요
      (다른 하이브리드 어플을 개발하실 때는 커스터마이징해서 사용하시면 시간이 단축이 돼요)

상황이 되는 경우 추가 : 신앙에 기반을 둔 말씀을 잘 전하시는 목사님의 설교내용도 전해드려요
(주제 : 어떻게 하면 인생을 훌륭히 살 수 있는 지에 대한 방법)

----------

* 안드로이드 개발툴킷 : 이클립스


----------

* 안드로이드 개발 라이브러리 android sdk manager


----------

* 만들어진 하이브리드 어플 (example)



즐거운 시간 보내세요~