import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; private static String md5hash(String input) { String md5 = null; if(null == input) return null; try { //Create MessageDigest object for MD5 MessageDigest digest = MessageDigest.getInstance("MD5"); //Update input string in message digest digest.update(input.getBytes(), 0, input.length()); //Converts message digest value in base 16 (hex) md5 = new BigInteger(1, digest.digest()).toString(16).toUpperCase(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return md5; }
2012년 12월 12일 수요일
BigInteger를 이용한 md5 함수
MessageDigest와 BigInteger를 이용하는 MD5 해시함수
MD5 hash function using MessageDigest and BigInteger
2012년 11월 14일 수요일
Contacts 와 ContactsContract
예전 코드를 사용하면, 이클립스가 자동으로 줄을 긋는다.
예전 API
android/provider/Contacts.Phones.CONTENT_URI
android/provider/Contacts.ContactMethods.CONTENT_URI
android/provider/Contacts.Groups.CONTENT_URI
android/provider/Contacts.GroupMembership.CONTENT_URI
android/provider/Contacts.People.CONTENT_URI
android/provider/Contacts.Phones.CONTENT_URI
android/provider/Contacts.ContactMethods.CONTENT_URI
android/provider/Contacts.People.CONTENT_URI
변경된 API (Android 2.0.1 부터)
android/provider/ContactsContract.Data.CONTENT_URI
android/provider/ContactsContract.Contacts.CONTENT_URI
android/provider/ContactsContract.Groups.CONTENT_URI
android/provider/ContactsContract.CommonDataKinds.Phone.CONTENT_URI
android/provider/ContactsContract.CommonDataKinds.Email.CONTENT_URI
EditText on SurfaceView problem
Q : SurfaceView나 GLSurfaceView위에 안드로이드 표준 위젯을 올려놓을 경우, EditText를 빠져나올때 화면에서 지워져 버리는 문제
A : mSurfaceView.setBackgroundColor(Color.TRANSPARENT);
출처 : http://stackoverflow.com/questions/2978290/androids-edittext-is-hidden-when-the-virtual-keyboard-is-shown-and-a-surfacevie
A : mSurfaceView.setBackgroundColor(Color.TRANSPARENT);
출처 : http://stackoverflow.com/questions/2978290/androids-edittext-is-hidden-when-the-virtual-keyboard-is-shown-and-a-surfacevie
Android 전화번호부 이름과 전화번오 얻어오기
안드로이드 전화번호부 이름과 전화번호 얻어오기
최근 안드로이드 버전에서 ContactsContract.CommonDataKinds.Phone로 바뀐부분을 적용했다.
string의 ArrayList를 파라미터로 받아 오도록 제작.
private void getContacts(ArrayList<String> alist) { String [] arrProjection = { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME }; String [] arrPhoneProjection = { ContactsContract.CommonDataKinds.Phone.NUMBER }; Cursor clsCursor = getContentResolver().query( ContactsContract.Contacts.CONTENT_URI, arrProjection, ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1" , null, null ); while( clsCursor.moveToNext() ) { String strContactId = clsCursor.getString( 0 ); Cursor clsPhoneCursor = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, arrPhoneProjection, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + strContactId, null, null ); while( clsPhoneCursor.moveToNext() ) { alist.add(clsCursor.getString( 1 ) + ":" + clsPhoneCursor.getString( 0 )); } clsPhoneCursor.close(); } clsCursor.close( ); }위 함수를 사용할 때에는 다음과 같이, Adaptor를 이용하여 ListView에 보여주도록 해 보았다.
ListView list = (ListView) findViewById(R.id.listview1); final ArrayList<String> arr = new ArrayList<String>(); getContacts(arr); final ArrayAdapter<String> aa = new ArrayAdapter<String> (this, android.R.layout.simple_list_item_1, arr); list.setAdapter(aa);
피드 구독하기:
글 (Atom)