기본 콘텐츠로 건너뛰기

2014의 게시물 표시

[android] 자바스크립트에서 함수 호출 및 자바스크립트 호출하기

[자바스크립트에서 안드로이드 함수 호출] 1. 인터페이스 클래스 생성 targetSdkVersion 을 17이상이면  @JavascriptInterface를 꼭 추가해야한다. 추가하지 않으면 함수가 동작하지 않는다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public   class  WebAppInterface  {        Context mContext;         /** Instantiate the interface and set the context */        WebAppInterface(Context c)   {                mContext  =  c;         }         /** Show a toast from the web page */         @JavascriptInterface         public   void   showToast ( String  toast)   {                Toast.makeText(mContext,  toast,  Toast.LENGTH_SHORT) .show( ...

[android] 폰과 태블릿 구분

Colored By Color Scripter ™ 1 2 3 4 5 6 7 8 9 10 boolean  isTablet  ( )   {                   int  portrait_width_pixel=Math.min( this .getResources( ) .getDisplayMetrics( ) .widthPixels,   this .getResources( ) .getDisplayMetrics( ) .heightPixels) ;                 int  dots_per_virtual_inch= this .getResources( ) .getDisplayMetrics( ) .densityDpi;                 float  virutal_width_inch=portrait_width_pixel/dots_per_virtual_inch;                 if   (virutal_width_inch  < =  2)   {                         return   false ;                 }   else   {                 ...

[android] textview에 이미지 넣기

setCompoundDrawablesWithIntrinsicBounds (int left, int top, int right, int bottom) : 글씨의 왼쪽, 상단, 오른쪽, 아래에 이미지 추가  setCompoundDrawablePadding (int pad) : 이미지와 글씨 사이의 간격 설정 1 2 3 4 TextView txtEvent = (TextView)convertView.findViewById(R.id.cell_event); txtEvent.setCompoundDrawablesWithIntrinsicBounds(R.drawable.event, 0, 0, 0); txtEvent.setCompoundDrawablePadding(10); txtEvent.setText( "이벤트합니다." );

[android] 네트워크 상태가 변경 될 때 마다 실시간 확인 방법. (BroadcastReceiver 사용)

네트워크가 변경되었을 때 실시간으로 앱에서 하고 싶은 동작을 할 수 있다. [AndroidManifest.xml] activity와 동등한 단계에 추가. Colored By Color Scripter ™ 1 2 3 4 5 <receiver android:name  =   "appNetwork" >                 <intent-filter>                         <action android:name= "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" / >                 < /intent-filter> < /receiver> [appNetwork.java] Colored By Color Scripter ™ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 public   class  appNetwork  extends  BroadcastReceiver  {         private  Activity activity;       ...

[android] fragment 에서 activity 함수 호출하기

[  Fragment ] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // 3. ListFragment 에서 Activity 에 대한 참조        OnSelectedListener mListener;                 // 1. ListFragment 내에 이벤트 인터페이스를 정의         public   interface  OnSelectedListener  {                 public   void  onDialogSelected( ) ;         } // 3.ListFragment 에서 Activity 에 대한 참조         @Override         public   void  onAttach(Activity activity)   {                 super .onAttach(activity) ;                 try   {         ...

[android] AsyncTask 병렬 실행

new TestTask(). execute(null,null,null);  대신 new TestTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); 를 사용하면 병렬로 동작하여 하나씩 순차적으로 진행되던 것이 멀티로 가능해진다. SERIAL_EXECUTOR  : 직렬 <- API 11부터 default THREAD_POOL_EXECUTOR : 병렬  참고 :  https://gist.github.com/benelog/5954649

[android] AsyncTask 사용법

android에서는 Main Thread가 UI Thread입니다. (UI관련된 작업은 UI Thread에서만 가능) 동시에 2가지 이상의 할 일이 생겼을때 사용할 수 있는 방법에 대해 설명해드리겠습니다. 1. thread를 생성하여 handler로 Main Thread와 소통할 수 있도록 해주는 방법 2.  AsyncTask(Asynchronous Task)를 사용하는 방법 저는 간단하고 쉽게 사용할 수 있는 AsyncTask의 사용법에 대해 설명하겠습니다. 사용방법은 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 private   class  TestTask  extends  AsyncTask  < Void , Void , Void > {                 // background 호출 전에 먼저 호출                 @Override                 protected   void  onPreExecute( ) {                        bar.setVisibility(View.VISIBLE) ;                 }           ...

[android] FragmentTransaction 사용하기.

replace (int containerViewId,  Fragment  fragment,  String  tag) : container에 tag명으로 추가된 fragment를 삭제하고 동일한 tag명으로 fragment를 추가한다.  addToBackStack ( String  name) : commit하기 전에 해당 함수를 호출하면 back 버튼을 눌렀을 때 이전 fragment로 이동할 수 있다. 1 2 3 4 5                appTestListFragment newFragment  =   new  appTestListFragment( ) ;                                FragmentTransaction transaction  =  getSupportFragmentManager( ) .beginTransaction( ) ;                transaction. replace (R.id.fragment_container,newFragment, "first" ) ;                transaction.addToBackStack( null ) ;                transaction.commit( ) ;

[android] PreferenceActivity 설정 화면 구현하기

PreferenceActivity를 이용해 설정 화면을 간단하게 구현 할 수 있는 방법. 왼쪽과 같은 화면을 구현한 예제. 1. File > New > Other > Android > Android XML File 선택      > Next 2. 그림과 같이 선택. Resource Type: Preference File : File 이름 작성 ex)appsetting.xml Root Element: PreferenceScreen 3. finish를 하면 res/xml/appsetting.xml파일이 생성된 것을 볼 수 있다. 4. Add... 버튼 선택 5. 앱버전, 문의하기와 같이 카테고리를 작성하기 위해서는 PreferenceCategory 를 선택. 6. key 와 Title 작성.     key : keycateappversion     Title : 앱버전 7. 안의 3.0.6을 만들기 위해 다시 Add... 선택 8. 이번엔 Preference 선택. 9. key 와 Title 작성.     key : keyappversion     Title : 3.0.6 10. 다른 것도 위와 같은 식으로 하면 아래와 같이 작성 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 <?xml version= "1.0"  encoding= "utf-8" ?> <PreferenceScreen xmlns:android= "http://schemas.android.com/apk/res/android"  > ...