1. Touch mode에서도 Keypad를 쓸수 있게 하기위해
- View를 생성할때 setFocusableInTouchMode(true);를 호출 한다.
2. View mode를 Portrait 나 Landscape로 고정하고 싶을때
- Manifest의 Activity 에 android:screenOrientation="landscape"을 추가한다.
3. 슬라이드를 열고 닫을때 onDestroy()가 호출되지 않도록 하기위해
- Manifest의 Activity 에 android:configChanges="orientationkeyboardHidden" 을 추가한다.
- "orientationkeyboardHidden" 이 둘중에 하나라도 빠지면 슬라이드를 열때 onDesroy()가 호출된다.
4. Scoket 통신을 할수 있도록 하기 위해
- 퍼미션을 추가 한다. uses-permission android:name="android.permission.INTERNET"
5. 진동을 사용할수 있도록 하기 위해
- 퍼미션을 추가한다. uses-permission android:name="android.permission.VIBRATE"
6. 안테나 영역 없에기
- Manifest의 Activity 에 android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
7. Manifest의 versionName 갖고오기.
- mContext.getPackageManager().getPackageInfo("package name", 0).versionName
ex)
android:versionCode="1"
android:versionName="1.0.0">
android:configChanges="orientationkeyboardHidden"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
edittext.setInputType(InputType.TYPE_CLASS_NUMBER);
16. Android listview 검정화면 없애기
android:cacheColorHint="#00000000"
15. Android 화면 고정하기
자바 소스에서
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;
}
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();
--
<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();
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 효과가 있네요.
내가 만드는 부분에 필요한 부분들
// 강제로 클릭을 발생시키는 이벤트
'안드로이드' 카테고리의 다른 글
Handler (0) | 2011.01.27 |
---|---|
hardware keyboard의 존재 여부 및 상태 확인 (0) | 2011.01.27 |
activity 시작하면서 soft keyboard 자동으로 실행시키기 (0) | 2011.01.27 |
Android Emulator의 성능을 빠르게 하기 (0) | 2011.01.27 |
ANR 발생 원인 (0) | 2011.01.27 |
dispatchTouchEvent
// 좌표관련들..
getWidth()랑 getHeight()로 전체 좌표값을 얻어오고 %로 비율 정해서 좌표값 설정하세요
출처 : http://winchester.tistory.com/