'Android/개발팁'에 해당되는 글 29건

  1. 2012.08.27 한글 처리 문제
  2. 2012.08.27 SoftKeyboard 생성, 삭제
  3. 2012.08.27 타이틀바 없애기
  4. 2012.08.27 화면전환시 다이어로그가 사라지는문제
  5. 2012.08.27 안드로이드 기본
2012. 8. 27. 09:43
안드로이드 애플리케이션 하나 만들어보려고 깔짝거리고 있다.

그런데 웹페이지를 긁어와 파싱하는걸 하는 중에 문제가 발생했다.


일단 에뮬레이터에 올리기 전에 콘솔 출력 프로그램으로 해보고 제대로 되면
안드로이드쪽으로 올리는 편인데

콘솔쪽에선 잘 되는 프로그램에 안드로이드로만 올리면 애가 뻗어버린다.
 
알았어 임마
 
디버거 붙여서 돌려보니 애가 무한 루프를 돌다 뻗어버리는데
루프 탈출 조건이 "테이블 끝" 이란 문자열을 발견하면 탈출하는 건데 이 조건을 만족 못하고 있었다.
 
그래서 한글을 찍어봤더니
 
 
역시 한글 문제였다.
 
웹페이지를 읽어올 때 인코딩이 맞지 않아 생기는 문제인듯 싶어 해결법을 찾아보니
스트림 리더 열 때 어떤 인코딩인지 알려주면 된다고 한다.
 
   InputStream in = httpConnection.getInputStream();
   InputStreamReader isr = new InputStreamReader(in, "euc-kr");
 
요렇게 해주니 정상 작동된다.
 

 

출처 Glamorous Dayz | el
원문 http://blog.naver.com/elfinx/130081768138
  
Posted by hoonihoon
2012. 8. 27. 09:41

생성

InputMethodManager inputMethodManager =
             (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
         inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);

 

생성시 인자에 대한 문제때문에 toggle로 하였다.

This method toggles the input method window display. If the input window is already displayed, it gets hidden. If not the input window will be displayed.

 

삭제

InputMethodManager inputMethodManager =
            (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
         inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),0);

 

'Android > 개발팁' 카테고리의 다른 글

EditText 글자 짤림 현상  (0) 2012.08.27
한글 처리 문제  (0) 2012.08.27
타이틀바 없애기  (0) 2012.08.27
화면전환시 다이어로그가 사라지는문제  (0) 2012.08.27
안드로이드 기본  (0) 2012.08.27
Posted by hoonihoon
2012. 8. 27. 09:41

* TitleBar 없애기

1) AndroidManifest.xml 에서 TitleBar 없애기
activity태그에 android:theme="@android:style/Theme.NoTitleBar" 를 추가한다.
그리고 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 을 주게 되면 상단의 시계와 배터리 보이는 부분까지 없어짐으로 화면전체를 FullScreen으로 사용할 수 있다. 

2) Activity 소스상에서 TitleBar 없애기
requestWindowFeature(Window.FEATURE_NO_TITLE);
단, onCreate의 super.onCreate(...); 다음에 넣어야 함.

* Title Text 수정하기 (Activity에서 실행되어야 함)
setTitle((CharSequence)title);

 

'Android > 개발팁' 카테고리의 다른 글

EditText 글자 짤림 현상  (0) 2012.08.27
한글 처리 문제  (0) 2012.08.27
SoftKeyboard 생성, 삭제  (0) 2012.08.27
화면전환시 다이어로그가 사라지는문제  (0) 2012.08.27
안드로이드 기본  (0) 2012.08.27
Posted by hoonihoon
2012. 8. 27. 09:40
가로 세로 화면 전환시 발생하는 문제

'Android > 개발팁' 카테고리의 다른 글

EditText 글자 짤림 현상  (0) 2012.08.27
한글 처리 문제  (0) 2012.08.27
SoftKeyboard 생성, 삭제  (0) 2012.08.27
타이틀바 없애기  (0) 2012.08.27
안드로이드 기본  (0) 2012.08.27
Posted by hoonihoon
2012. 8. 27. 09:37

출처 모든 방문 환영합니다. | 야무지게
원문 http://blog.naver.com/83heejung/50087662113
17. Android 키보드 숫자형으로 시작하게 하기
edittext.setInputType(InputType.TYPE_CLASS_NUMBER);

16. Android listview 검정화면 없애기
android:cacheColorHint="#00000000"

15. Android 화면 고정하기
AndroidManifest.xml의 activity 속성중 screenOrientation을 다음과 같이 지정해준다.

//화면을 세로로 유지
<activity android:name=".Powermeter"
                  android:label="@string/app_name"
                  android:screenOrientation="portrait">
//화면을 가로로 유지
<activity android:name=".Powermeter"
                  android:label="@string/app_name"
                  android:screenOrientation="landscape">
자바 소스에서
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

14. Android Handler example
  // 시간주고 바로 뜨게 하기 20이 최소 가능 값..
        new Handler().postDelayed(new Runnable() {
            public void run() {
                openOptionsMenu();
            }
        }, 20);

13. Android 소프트 키보드 끄기 및 보이기 및 숨기기
  // 키보드 오프시키는 소스..
  EditText et = (EditText)findViewById(R.id.menu6_e_number);
  et.setInputType(0); //가상키보드 오프

1. 보이게 하기

EditText et = (EditText)findViewById(R.id.moneyEdit);
et.setInputType(0); //가상키보드 오프
       
        et.setOnClickListener(new OnClickListener() {  
   public void onClick(View arg0) {    
    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
          imm.showSoftInput(input, 0);
   }         
        });

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, 0);

2. 숨기기
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);


12. Android  Edittext Hint, 흐리게 보이기
android:hint="ex) 안드로이드"


11. Android  EditText 숫자키만 허용하기

DigitsKeyListener digit =
new DigitsKeyListener(true, true); // first true : is signed, second one : is decimal
digit.setKeyListener( MyDigitKeyListener );

위와같이 하거나 xml 에서

android:inputType="number"


10. Android  Option menu 실행 소스
openOptionsMenu();


9. Android Menu 만들기
- xml 소스
res/menu/menu.menu

<menu xmlns:android="http://schemas.android.com/apk/res/android">
 <item
  android:id="@+id/adjust"
  android:title="수정"
  android:orderInCategory="1" >
 </item>
 <item
  android:id="@+id/delete"
  android:title="삭제"
  android:orderInCategory="2" >
 </item>
</menu>

- 자바 소스
 // OptionMenu
 public boolean onCreateOptionsMenu(Menu menu){
  getMenuInflater().inflate(R.menu.del_adjust, menu);
  return true;
 }

    // OptionMenu click event
 public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()) {
   case R.id.adjust:
    finish();
    return true;
   
   case R.id.delete:
    finish();
    return true;
  }
  return false;
 }

8. Android Dialog 만들기 (Android.Dialog.Builder())

기존에는 Activity에서 showAlert(()를 제공해줬나보다. (예제를 보니...)
더 이상 지원하지 않기 때문에 AlertDialog.Builder()를 이용하여 Dialog를 생성하였다.

*onClickLister() 생성시 반드시 DialogInterface.OnClickListener()라고 클래스를 적어줘야 한다.
 (Activity에서 button 클릭 이벤트를 처리하기 위해 import한 View 클래스에 OnClickListener 메소드가 있다.)

a. Android  yes or no - 버튼 2개짜리
new AlertDialog.Builder(LoginMainActivity.this)
.setTitle("Login Data")
.setMessage("rosa : test") //줄였음
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int whichButton) {                                        
        //...할일
    }
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int whichButton) {
        //...할일
    }
})
.show();

b. Android  ok (or cancel)
new AlertDialog.Builder(LoginMainActivity.this)
        .setTitle("Login Data")
        .setMessage("rosa : test") //줄였음
        .setNeutralButton("OK", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {                                        
                //...할일
            }
        })        
        .show();

c. Android   다른 layout 출력
new AlertDialog.Builder(LoginMainActivity.this)
.setTitle("list 예제")        
.setItems(R.array.listBtnArray, new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int selectedIndex) {        
        String[] list = getResources().getStringArray(R.array.listBtnArray);        
        new AlertDialog.Builder(LoginMainActivity.this)
        .setTitle("선택한 리스트 아이템")
        .setMessage(list[selectedIndex])
        .setNeutralButton("OK", new DialogInterface.OnClickListener(){
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub                        
            }                    
        });                
    }
    })
.show();

--
value 값으로 array 추가
<string-array name="listBtnArray">
        <item>One</item>
        <item>Two</item>
        <item>Three</item>
    </string-array>



7. Android  뒤로 가기 키
 onBackPressed();

6. Android  바이브레이터
Vibrator vibe = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibe.vibrate(500);
// 퍼미션        
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>

5. Android  밝기 셋팅
Window w = getWindow();
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 0~1까지의 float 값;
w.setAttributes(lp);

-1.f를 주면 default 밝기로 세팅됩니다.

4. Android  화면 꺼지는것 막기
현재 Activity가 보여지고 있는 동안은 시간이 지나도
화면이 자동으로 꺼지지 않도록 합니다.
즉 단말이 슬립상태로 들어가지 않고 계속 화면을 켜놓습니다.

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

3. Android  toast
1-Type
Toast.makeText.(this, "토스트 메세지", Toast.LENGTH_SHORT).show();

2-Type
Context context = getApplicationContext();
String msg = "";
int duration = Toast.LENGTH_SHORT;
Toast.makeText(context, b, duration).show();


2. Android  View 백그라운드 색 변경
TextView a = null;
a.setBackgroundColor(Color.WHITE);

1. Android  timer 이용
http://docs.androidside.com/docs/reference/java/util/TimerTask.html
--------------------------------------------------------------------------------------------------
모토로이 볼륨 올리고 내리는 버튼 키값을 알아내서
edittext 에 원하는 값을 넣는 방법 볼룸 위아래 버튼을 누르면
화면에 벨로시 볼륨 조절하는 창이 나타나는데 완전히 키값을 가로채는 방법

et_editText.setOnKeyListener(new OnKeyListener() {
       
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
           // TODO Auto-generated method stub
           if(event.getAction() == KeyEvent.ACTION_DOWN){
              if(keyCode == 24 || keyCode == 25){
              et_editText.setText("1234567890");
             
              return true;
              }
           }
           return false;
        }
       
     });


- 전체적으로 필요한 기능
// 종료 후 재 부팅시 기능이 죽지않고 유지되게 하는 방법들..
http://www.androidpub.com/android_dev_qna/189549

- 박사마 만드는데 필요한 기능
// view에서  페이지 넘기는 기능
API Demos에서 Animation에 간단하게 Fade in, Zoom in 효과가 있네요.

내가 만드는 부분에 필요한 부분들
// 강제로 클릭을 발생시키는 이벤트
dispatchTouchEvent
// 좌표관련들..
getWidth()랑 getHeight()로 전체 좌표값을 얻어오고 %로 비율 정해서 좌표값 설정하세요

'Android > 개발팁' 카테고리의 다른 글

EditText 글자 짤림 현상  (0) 2012.08.27
한글 처리 문제  (0) 2012.08.27
SoftKeyboard 생성, 삭제  (0) 2012.08.27
타이틀바 없애기  (0) 2012.08.27
화면전환시 다이어로그가 사라지는문제  (0) 2012.08.27
Posted by hoonihoon