반응형
=================================
=================================
=================================
개발중에 메모해둔 팁/힌트입니다.
한참을 헤매다가 때로는 3일에 1개 만들기도 하고, 하루에 1개 겨우 구현하기도 했던
검색력 향상(?)를 꾀한 개발.
50개가 되었기에 포스팅을 걸어둡니다.
또 50개 모으면 2탄을;
(요약 부분이 있는데 잘려서 입력되네..)
번호 | 제목 | 출처 | 요약 |
1 | 이미지와 텍스트가 같이 들어간 버튼 만들기 | http://www.androidpub.com/15765 | <Button android:layout_width="fill_parent" android:layout_width="wrap_content" android:drawableLeft="@drawable/ic_settings" android:drawablePadding="4dp" android:text="Settings" Button button = new Button(mContext); button.setText("Close"); Drawable close = Drawable.createFromPath("/data/icon/image.png"); close.setBounds(0, 0, close.getIntrinsicWidth(), close.getIntrinsicHeight()); button.setCompoundDrawables(close, null, null, null); |
2 | 버튼 색깔 바꾸기 | http://stackoverflow.com/questions/1521640/standard-android-button-with-a-different-color |
<?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/red_button_pressed" /> <item android:state_focused="true" android:drawable="@drawable/red_button_focus" /> <item android:drawable="@drawable/red_button_rest" /> </selector> |
3 | 전체화면 사용하기 (Status bar, Title bar 숨기기) | http://www.androidpub.com/4710 |
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:theme="@android:style/Theme.NoTitleBar" getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); |
4 | ImageButton의 투명 효과 사용하기 | http://joywoni.egloos.com/2847047 |
android:background="#a0000000" 를 설정하면 배경이 투명해지므로 버튼 모양을 안봐도 된다. |
5 | Android 정리문서 | http://sgap.springnote.com/pages/5076381 |
SurfaceView와 SurfaceHolder.Callback, thread |
6 | 네이티브 안드로이드 개발 관련 블로그 | http://hybridego.net/ |
|
7 | 안드로이드 개발 각종 예제 소스 | http://www.androidpeople.com/2010/01/ |
|
8 | 메뉴별 이미지 처리 | http://stackoverflow.com/questions/2065430/fixed-android-detecting-focus-pressed-color |
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@android:drawable/btn_default" ></item> <item android:state_focused="true" android:drawable="@android:drawable/btn_default" ></item> <item android:drawable="@drawable/btn_default_red" ></item> </selector> |
9 | 객체 Style 처리 | http://www.anddev.org/viewtopic.php?p=37330 |
|
10 | Button Highlight | http://www.androidpeople.com/category/android-tutorial/ |
|
11 | SurfaceView | http://vissel.tistory.com/92 |
|
12 | android:configChanges | http://www.androidpub.com/52338 |
android:configChanges="orientation" onConfigurationChanged() |
13 | 전원관리 | http://samse.tistory.com/entry/AlarmManager-PowerManager |
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag"); wl.acquire(); ..screen will stay on during this section.. wl.release(); |
14 | 하드웨어 콘트롤 관련 PDF 문서 | http://mikechen.com/classes/2009-11-27%20NTU%20Mobile%20Phone%20Programming%20-%20Mike%20Chen%20-%2010%20-%20Security,%20Camera,%20Audio%20and%20Video.pdf |
|
15 | unique device ID 고유값 가져오기 |
http://developer.android.com/reference/android/telephony/TelephonyManager.html#getDeviceId%28%29 |
TelephonyManager mTelephonyMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); String imei = mTelephonyMgr.getDeviceId(); |
16 | 안드로이드 네이티브 라이브러리Ⅰ | http://www.imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=34284 |
[다른블로그] http://infodev.tistory.com/322 |
17 | Introduction android | http://yotteum.tistory.com/entry/Introduction-Android |
안드로이드 소개 바인딩 설명 |
18 | 안드로이드 - 버튼 OnClickListener 인터페이스 구현 | http://woosa7.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EB%B2%84%ED%8A%BC-OnClickListener-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4-%EA%B5%AC%ED%98%84 http://www.cyworld.com/kkjw1801/3222534 |
|
19 | Android - Change Tab Background | http://escomic.net/218 |
TabWidget에서 추가되는 Tab의 Background변경하기 Tab마다 View를 얻어와서 직접 BackgroundDrawable을 지정하고 아래 막대부분은 reflection을 이용하여 꽁수로 바꿔치기 한다 tab_indicator.xml, tab_bar_left.xml, tab_bar_right.xml 내용은 <selector>로 정의 |
20 | KH5200 드라이버 설치 | http://kil.imradriss.co.cc:8000/tc/30 |
|
21 | DrawableTop 이미지 변경하기 | http://www.androidpub.com/10154 |
보기 1 ================================================ Drawable img = context.getResources().getDrawable(R.drawable.filename); Drawable img2 = img ; 보기 2 ================================================ Drawable img = context.getResources().getDrawable(R.drawable.filename); Drawable img2 = context.getResources().getDrawable(R.drawable.filename); 보 기 3 ================================================ Drawable img = context.getResources().getDrawable(R.drawable.filename); Drawable img2 = context.getResources().getDrawable(R.drawable.filename2); ================================================ |
22 | Layout 사이즈 동적변경 | http://www.androidpub.com/40481 http://gall.dcinside.com/list.php?id=accident2&no=1195485 |
LinearLayout ll = (LinearLayout)findViewById(R.id.write_LinearLayout); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, 400); // 400 이라는 높이를 지정 ll.setLayoutParams(params); |
23 | Android UI 개발기: XML 안쓰고 UI 코딩하기 | http://xrath.com/2009/11/android-ui-%EA%B0%9C%EB%B0%9C%EA%B8%B0-xml-%EC%95%88%EC%93%B0%EA%B3%A0-ui-%EC%BD%94%EB%94%A9%ED%95%98%EA%B8%B0/ |
|
24 | 전화상태 변화감지 리스너 PhoneStateListener 예제 |
http://www.kandroid.org/board/board.php?board=AndroidTechQnA&page=124&command=body&no=432 |
MyPhoneStateListener phoneListener=new MyPhoneStateListener(); TelephonyManager telephonyManager =(TelephonyManager)getSystemService(TELEPHONY_SERVICE); telephonyManager.listen(phoneListener,PhoneStateListener.LISTEN_CALL_STATE); public class MyPhoneStateListener extends PhoneStateListener {...} |
25 | 안드로이드 하드웨어관련 자료(통화,폰상태,네트워크,카메라,센서) | http://gtko.springnote.com/pages/5396297 http://developer.android.com/reference/android/content/Intent.html http://developer.android.com/reference/android/net/ConnectivityManager.html |
android.net.conn.CONNECTIVITY_CHANGE |
26 | sms 수신해서 요약내용 보여주기 | http://www.anddev.org/recognize-react_on_incoming_sms-t295.html http://flytop.tistory.com/62 |
android.provider.Telephony.SMS_RECEIVED // SMS 수신 감지 등록 IntentFilter smsRcvFilter = new IntentFilter(CSmsReceiver .ACTION); smsReceiver = new CSmsReceiver(); registerReceiver(smsReceiver, smsRcvFilter); //if(smsReceiver != null) { // unregisterReceiver(smsReceiver); //} <!-- SMS Broadcast Receiver 등록 --> <receiver android:name=".common.CSmsReceiver"> <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver> |
27 | BroadcastReceiver XML설정하기 | http://www.androidpub.com/186727 | <receiver android:name="리시버클래스" android:enabled="true"> <intent-filter><action android:name="android.net.conn.CONNECTIVITY_CHANGE" /></intent-filter> </receiver> |
28 | 각종 Management 클래스 | http://www.imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&page=10&wr_id=34565 | |
29 | Dialog 구조 분석 (아이콘,텍스트 위치등) |
http://sgap.springnote.com/pages/5235569 | |
30 | SMS 수신시 Toast 메시지 출력 | http://www.androidpub.com/138352 |
Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.addCategory("android.intent.category.DEFAULT"); sendIntent.putExtra("address", PhoneNumberUtils.formatNumber(phoneNumber)); sendIntent.putExtra("exit_on_sent", true); sendIntent.putExtra("subject", "TEST MMS"); sendIntent.putExtra("sms_body", "MMS 테스트입니다."); context.startActivity(sendIntent); |
31 | Broadcast Receiver :네트워크상태 체크 | http://www.anddev.org/viewtopic.php?p=32088 |
OnReceive 메소드 내에서.. ConnectivityManager connec= (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); if(connec.getNetworkInfo(0).getState()==NetworkInfo.State.CONNECTED||connec.getNetworkInfo(1).getState()==NetworkInfo.State.CONNECTING ) { text.setText("hey your online!!!"); //Do something in here when we are connected } elseif(connec.getNetworkInfo(0).getState()== NetworkInfo.State.DISCONNECTED||connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED ) { text.setText("Look your not online"); } |
32 | 안드로이드 API기능 설명 | http://www.jopenbusiness.com/mediawiki/index.php/Android |
|
33 | Actions for BroadcastReceiver | http://www.dearsoft.org/tag/broadcastreceiver/ |
|
34 | Layout.out.xml 생성되는 문제 | http://www.androidpub.com/101585 | main.out.xml 파일은 삭제해 주세효~ 그건 xml 을 펼쳐둔 상태에서 Run 을 하면 만들어 지는데, 그럼 제대로 실행이 되지 않아효~ |
35 | Multi Touch | http://www.mentby.com/naya/multitouch-support-in-android-20.html http://gist.github.com/324166 |
2.0 부터 지원 |
36 | ScrollView 스크롤 하단으로 내리기 | http://www.anddev.org/viewtopic.php?p=36823 | sv.post(new Runnable() { public void run() { sv.fullScroll(ScrollView.FOCUS_DOWN); } }); |
37 | Timer 만들기 | http://developer.android.com/intl/de/resources/articles/timed-ui-updates.html http://www.developer.com/java/ent/print.php/3589961 http://www.androidpub.com/4374 http://blog.inculab.net/25 |
|
38 | Logcat 동작안하는 에러 발생시 처리 (Could not create the view: For input string: "") |
http://www.mail-archive.com/android-developers@googlegroups.com/msg60683.html | hide details Aug 18 I have had the same problem. The logcat view crashes after I inserted a filter containing a ":" in the filtername. I solved the problem by changing the settings in the file ".metadata/.plugins/org.eclipse.core.runtime/.settings/ com.android.ide.eclipse.ddms.prefs" placed in the workspace of eclipse. com.android.ide.eclipse.ddms.logcat.filters= was the key of the fault setting. |
39 | SSL 인증서 등록하기 | http://www.java2go.net/blog/197?TSSESSION=1202a1a23fa67bae15ce3ab15a5a0cea http://www.virgo81.net/70 http://crazybob.org/2010/02/android-trusting-ssl-certificates.html http://www.bouncycastle.org/latest_releases.html |
keytool -import -keystore cacerts -file C:\cert\TrialRootCA.cer -alias afcert |
40 | Signing By Private Key | http://www.devx.com/wireless/Article/39972/1954 | |
41 | 영상 녹화하기 | http://www.anddev.org/viewtopic.php?p=24723#24723 | |
42 | SurfaceView 의 이해 | http://androidhuman.tistory.com/entry/카메라를-이용하자-SurfaceView에-대한-이해 | |
43 | 안드로이드 JAVA 소스 | http://anddev.tistory.com/77 http://anddev.tistory.com/50 http://anddev.tistory.com/42 |
{SDK_LOCATION}/platforms/1.5/sources |
44 | SSL 인증서 우회하기 | http://www.experts-exchange.com/Programming/Languages/Java/Q_23063074.html http://7bee.j2ee.us/blog/2008/03/28/1206704820000.html |
|
45 | JAVA SSL 관련 공식문서 | http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CodeExamples http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/samples/sockets/client/SSLSocketClient.java |
|
46 | SSL 인증서 증명에러 해결하기 | http://blog.naver.com/PostView.nhn?blogId=fidelis98&logNo=140103425406&redirect=Dlog&widgetTypeCall=true http://code.google.com/p/android/issues/detail?id=1946 http://developer.android.com/intl/de/reference/javax/net/ssl/TrustManager.html http://mail-archives.apache.org/mod_mbox/hc-httpclient-users/200906.mbox/ http://www.exampledepot.com/egs/javax.net.ssl/GetCert.html?l=rel http://www.android-portal.com/2007/12/20/secure-server-socket-with-tlsssl-on-android-fails/ http://www.exampledepot.com/egs/javax.net.ssl/TrustAll.html? http://blog.keduall.co.kr/lsb76/entry/자바-SSL-접속-오류 해결방법: http://www.exampledepot.com/egs/javax.net.ssl/TrustAll.html |
// Create a trust manager that does not validate certificate chains TrustManager[] trustAllCerts = new TrustManager[]{ new X509TrustManager() { public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; } public void checkClientTrusted( java.security.cert.X509Certificate[] certs, String authType) { } public void checkServerTrusted( java.security.cert.X509Certificate[] certs, String authType) { } } }; |
47 | 안드로이드 Service 에서 Activity 를 실행하는 방법 | http://blog.naver.com/huewu/110084868855 |
Intent i = new Intent(this, ServiceTest.class); PendingIntent p = PendingIntent.getActivity(this, 0, i, 0); try { p.send(); } catch (CanceledException e) { e.printStackTrace(); } |
48 | 안드로이드 이미지(사진) 불러오기 | http://shinluckyarchive.tistory.com/469 http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html |
... BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 8; Bitmap src = BitmapFactory.decodeFile(fileListSDCard[i], options); Bitmap resized = Bitmap.createScaledBitmap(src, 100, 100, true); |
49 | SSL 인증키 무조건 우회하기 | http://groups.google.com/group/android-developers/browse_thread/thread/62d856cdcfa9f16e | public class _FakeX509TrustManager implements X509TrustManager { private static TrustManager[] trustManagers; private static final X509Certificate[] _AcceptedIssuers = new X509Certificate[] {}; @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } @Override public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public boolean isClientTrusted(X509Certificate[] chain) { return true; } public boolean isServerTrusted(X509Certificate[] chain) { return true; } @Override public X509Certificate[] getAcceptedIssuers() { return _AcceptedIssuers; } public static void allowAllSSL() { HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() { @Override public boolean verify(String hostname, SSLSession session) { return true; } }); SSLContext context = null; if (trustManagers == null) { trustManagers = new TrustManager[] { new _FakeX509TrustManager() }; } try { context = SSLContext.getInstance("TLS"); context.init(null, trustManagers, new SecureRandom()); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (KeyManagementException e) { e.printStackTrace(); } HttpsURLConnection.setDefaultSSLSocketFactory(context.getSocketFactory()); } } |
50 | 효과음 관련 자료(Creating Sound Effects in Android) | http://www.androidpub.com/257540#4 | public void playSound(int index) { float streamCurrent = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); float streamMax = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); float streamVolume = streamCurrent / streamMax; mSoundPool.play(mSoundPoolMap.get(index), streamVolume, streamVolume, 1, 0, 1f); } |
=================================
=================================
=================================
반응형
'스마트기기개발관련 > 안드로이드 개발' 카테고리의 다른 글
안드로이드 쓰레드 중지(죽이기) 시키기 (0) | 2011.08.10 |
---|---|
안드로이드 절전, 잠금장치 해제, 켜있는상태 등등 관련 (0) | 2011.08.05 |
finishActivity()와 finish() 차이 (0) | 2011.07.28 |
안드로이드 다이얼로그 관련, [Android Dev.]AlertDialog 활용하기 (0) | 2011.07.28 |
안드로이드 Android - Shape Drawable (0) | 2011.07.25 |