2013. 7. 24. 16:08
public class MainActivity extends Activity implements OnClickListener {
	int mMainValue = 0;
	int mBackValue = 0;
	TextView mMainText;
	TextView mBackText;
	Button increase;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		mMainText = (TextView)findViewById(R.id.mainvalue);
		mBackText = (TextView)findViewById(R.id.backvalue);
		increase = (Button)findViewById(R.id.increase);

		increase.setOnClickListener(this);

		BackThread thread = new BackThread();
		thread.setDaemon(true);
		thread.start();
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		mMainValue++;
		mMainText.setText("MainValue : " + mMainValue);
	}

	class BackThread extends Thread {
		public void run() {
			while (true) {
				mBackValue++;
				mHandler.sendEmptyMessage(0);
				try { Thread.sleep(1000); } catch (InterruptedException e) {;}
			}
		}
	}

	Handler mHandler = new Handler() {
		public void handleMessage(Message msg) {
			if(msg.what ==0) {
				mBackText.setText("BackValue : " + mBackValue);
			}
		}
	};
 

}

'Android > 개발팁' 카테고리의 다른 글

태블릿 분기하기  (0) 2013.10.08
Gradient buttons  (0) 2013.08.22
★ setBackground vs setBackgroundDrawable / AlertDialog  (0) 2013.07.12
[Android] keyboard 감지  (0) 2013.07.08
How to replace R.drawable.“someString”  (0) 2013.06.25
Posted by hoonihoon
2013. 7. 12. 16:01

It's deprecated but it still works so you could just use it. But if you want to be completly correct, just for the completeness of it... You'd do something like following:

int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
    setBackgroundDrawable();
} else {
    setBackground();
}


if (Build.VERSION.SDK_INT > 10)
    builder =  new AlertDialog.Builder(getActivity(), R.style.Theme.Sherlock.Dialog);
else
    builder =  new AlertDialog.Builder(getActivity());


'Android > 개발팁' 카테고리의 다른 글

Gradient buttons  (0) 2013.08.22
Thread Hanlder 간단하게 쓰기  (0) 2013.07.24
[Android] keyboard 감지  (0) 2013.07.08
How to replace R.drawable.“someString”  (0) 2013.06.25
What adapter shall I use to use HashMap in a ListView  (0) 2013.06.25
Posted by hoonihoon
2013. 7. 8. 17:21
키보드 on/off 를 감지해서 키보드가 on 됐을때 애드몹광고를 지우고, off 됐을때 애드몹 광고를 다시 보여주는 코드임
 
		final View activityRootView = findViewById(R.id.roo_layout);
		activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
		  @Override
		  public void onGlobalLayout() {
			  Rect r = new Rect();
			  activityRootView.getWindowVisibleDisplayFrame(r);
              int heightDiff = activityRootView.getRootView().getHeight() - (r.bottom - r.top);
              if (heightDiff > 100) {
            	  Log.d("kth", "activityRootView on");
            	  adView.setVisibility(View.GONE);
              } else {
            	  Log.d("kth", "activityRootView off");
            	  adView.setVisibility(View.VISIBLE);
              }

		  }
		});
Posted by hoonihoon
2013. 6. 25. 15:48
String mDrawableName = "myimg";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());


Posted by hoonihoon
2013. 6. 25. 15:48

There are no predefined Adapters which will render a HashMap. I suggest creating your own Adapter by extending BaseAdapter.

Edit: It is posible to use HashMap with and extended BaseAdapter, here's an(untested) example:

public class HashMapAdapter extends BaseAdapter {

    private HashMap<String, String> mData = new HashMap<String, String>();
    private String[] mKeys;
    public HashMapAdapter(HashMap<String, String> data){
        mData  = data;
        mKeys = mData.keySet().toArray(new String[data.size()]);
    }

    @Override
    public int getCount() {
        return mData.size();
    }

    @Override
    public Object getItem(int position) {
        return mData.get(mKeys[position]);
    }

    @Override
    public long getItemId(int arg0) {
        return arg0;
    }

    @Override
    public View getView(int pos, View convertView, ViewGroup parent) {
        String key = mKeys[pos];
        String Value = getItem(pos).toString();

        //do your view stuff here

        return convertView;EDIT
    }
}

This comes with the following caveat, the order of the items is not guaranteed to be the same order you added them. Writing this example has made me realize; Don't use HashMap in an adapter :)

'Android > 개발팁' 카테고리의 다른 글

[Android] keyboard 감지  (0) 2013.07.08
How to replace R.drawable.“someString”  (0) 2013.06.25
Intent 로 gallery 의 특정 폴더 띄우기.  (1) 2013.05.31
Android log 작성법  (0) 2013.05.22
패키지 네이밍 !  (0) 2013.05.07
Posted by hoonihoon
2013. 5. 31. 17:09


Uri targetUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; 

 String targetDir = Environment.getExternalStorageDirectory().toString() + "/saturday9"; 


targetUri = targetUri.buildUpon().appendQueryParameter("bucketId",String.valueOf(targetDir.toLowerCase().hashCode())).build();


 Log.d("kth","targetUri : "+targetUri);

 Intent intent = new Intent(Intent.ACTION_VIEW, targetUri);

 startActivity(intent);



결과:

05-31 17:07:04.843: D/kth(14184): targetUri : content://media/external/images/media?bucketId=1443034118





Posted by hoonihoon
2013. 5. 22. 11:48

로그는 ERROR, WARN, INFO, VERBOSE의 다섯 개 레벨로 나눌 수 있다.
VERBOSE로 설정된 로그(Log.v)는 개발용 컴파일이 아닌 배포용 패키지를 만들 때 컴파일 단계에서 빠져버린다.

디버그 레벨 로그는 컴파일은 되지만 런타임 시에 빠지므로 절대 런타임시에 출력될 일은 없다.
나머지 에러나 WARNING, INFO 레벨 로그는 개발시나 런타임시나 출력이 된다

아주 중요한 정보만 ERROR, WARN, INFO레벨 로그로 남기고, 
가능한 개발시에는 VERBOSE 레벨을 사용하면 런타임 시 부하를 줄일 수 있다.



- 로그 남기기
안드로이드에서 로그를 남기기 위해서는 android.util.Log 클래스를 사용하면 된다.

[로그 레벨]
Error : 가장 심각한 문제가 발생했을때 남기는 로그 
ex) Log.e("tag", "error message");

Warning : 심각하지는 않지만 나중에라도 꼭 살펴보아야 할 문제가 발생 했을때 남기는 로그 
ex) Log.w("tag","warning message");

Information : 어떤 처리를 하면서 발생하는 진행 과정 등을 모니터링하기 위한 목적으로 남기는 로그
ex) Log.i("tag", "information message");

Debugging : 디버깅의 목적으로 문제 발생 가능성이 있는 곳에 남기는 로그
ex) Log.d("tag", "debugging message");

Verbose : 동작 여부를 최대한 자세히 살펴볼 목적으로 남기는 로그
ex) Log.v("tag", "verbose message"); 

import android.app.*;

import android.os.*;

import android.util.*;


public class LogDemoEx1Activity extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        

        Log.e("tag", "error message");

        Log.w("tag", "warning message");

        Log.i("tag", "information message");

        Log.d("tag", "debugging message");

        Log.v("tag", "verbose message");

    }

}


결과

 

tag 이름을 이용하여 tag 필터링 기능을 사용하면 원하는 로그만 볼 수 있다.

[출처] Android Log 알고 쓰자..|작성자 ezmo01


출저 : http://blog.naver.com/PostView.nhn?blogId=ezmo01&logNo=110126998037



Posted by hoonihoon
2013. 5. 7. 09:23

회사

 com(회사) - 회사이름 - 어플이름

개인

 pe - 개인이름(진짜 이름이던 닉네임이던) - 어플이름

Posted by hoonihoon