기본 콘텐츠로 건너뛰기

6월, 2014의 게시물 표시

Android, Device Screen Size

WindowManager wm = (WindowManager) context.getSystemService(Context. WINDOW_SERVICE ); Display display = wm.getDefaultDisplay(); Point size = new Point(); display.getSize(size); *********************************************************************** DisplayMetrics displaymetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); int height = displaymetrics.heightPixels; int width = displaymetrics. widthPixels ; ref :  http://stackoverflow.com/questions/4743116/get-screen-width-and-height

Android, Thread once

       new Thread( new Runnable() {             public void run() {             }              }).start(); ////////////////////////  with delay ref :  http://stackoverflow.com/questions/3072173/how-to-call-a-method-after-a-delay-in-android final Handler handler = new Handler (); handler . postDelayed ( new Runnable () { @Override public void run () { //Do something after 100ms } }, 100 );

Android, UI 갱신, Error : Only the original thread that created...

[Android] UI 갱신, Error : Only the original thread that created... Android   2012/08/17 11:39 UI Thread 이외에서 UI를 갱신하려고 하면 CalledFromWrongThreadException:Only the original thread that created a view hierarchy can touch its views. 라는 문구를 보게 된다. Handler UI의 권한이 있는 Thread의 핸들러에 메시지를 보낸다. Thread + Handler 조합으로 연속적인 갱신이 가능. public final Handler handler = new Handler{ @Override public   void  handleMessage(Message msg) { //UI 갱신 } } 외부에서 xxx.handler.sendEmptyMessage(); Activity.runOnUiThread UI 갱신 권한이 있는 스레드의 인스턴스를 얻을수 있다면 AActivity. this .runOnUiThread( new  Runnable(){ public   void  run(){ AActivity. this .xxxx.setText("xxxx"); }} ); Handler.post 사용 Handler handler = new Handler(); ... handler.post( new Runnable( public void run(){ //UI 갱신 } ) ); 그 외의 방법도 있다고 한다.  (미확인) View.post(Runnable) View.postDelayed(Runnable, long)

Android, Button, set TouchDown image, 버튼 ON/OFF 이미지 설정

btn.xml *************************************************************** <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">     <item         android:state_pressed="true"         android:drawable="@drawable/btn_01_on" />     <item         android:state_pressed="false"         android:drawable="@drawable/btn_01_off" /> </selector> *************************************************************** 버튼의 이미지에는 btn.xml을 지정하면 된다.

Android, NSUserDefaults가 그립다

import android.content.Context; import android.content.SharedPreferences; public class UserDefaults { SharedPreferences preferences ;   public static UserDefaults getInstance(Context context){     UserDefaults instance = new UserDefaults();     instance. preferences = context.getSharedPreferences( "MyPreferences" , Context. MODE_PRIVATE );         return instance;     }     public void setString(String key, String value){         SharedPreferences.Editor editor = preferences .edit();         editor.putString(key, value);         editor.commit();     }     public String getString(String key){         return preferences .getString(key, "" );     } }

Android, Alert Dialog

Dialog 메시지를 HTML         AlertDialog.Builder ab =  null ;                  ab =  new  AlertDialog.Builder( HelloAndroid2Activity. this  );                  ab.setMessage( Html.fromHtml( "<b><font color=#ff00ff> HTML View</font></b><br>Android.com" ));                  ab.setPositiveButton(android.R.string. ok ,  null );                  ab.setTitle(  "Basic Alert Dialog"  );                  ab.show(); OK/Cancel Dialog AlertDialog.Builder closeConfirm =  new  AlertDialog.Builder(xxxActivity.this); closeConfirm.setTitle(title); closeConfirm.setMessage(msg ); closeConfirm.setNegativeButton( "OK" ,                                        new  DialogInterface.OnClickListener() {            public   void  onClick(DialogInterface dialog,  int  which) {                       }     });     closeConfirm.setPositiveButton( "cancel" ,                                    

Android, sleep lock, os의 슬립 설정을 무효화

** in Activity //sleep lock getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); //release getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); http://stackoverflow.com/questions/8442079/keep-the-screen-awake-throughout-my-activity WakeLock을 쓰는 방법은 depracated 된듯 <textarea style="background-color: lightred; color: black; height: 150px; padding: 10px 5px 15px 20px; width: 300px;"> **Depracated PowerManager.SCREEN_BRIGHT_WAKE_LOCK </textarea> http://developer.android.com/reference/android/os/PowerManager.html