안드로이드 재부팅 소스

Posted by Ontwikkelaar 크라이스
2014/08/18 18:34 모바일/Development

ProcessBuilder pb = new ProcessBuilder(new String[] { "su", "-c", "/system/bin/reboot" }); Process process = pb.start(); process.waitFor();


저작자 표시 비영리 변경 금지
이 댓글을 비밀 댓글로

안드로이드 Immersive 모드 적용시키기

Posted by Ontwikkelaar 크라이스
2014/08/18 17:12 모바일/Development


우선 4.4+만 작동한다는 점 기억하세요.


getWindow().getDecorView().setSystemUiVisibility(
          View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_FULLSCREEN
        | View.SYSTEM_UI_FLAG_IMMERSIVE)


저작자 표시 비영리 변경 금지
이 댓글을 비밀 댓글로

안드로이드 코딩을 좀 더 간단하게 "ButterKnife"

Posted by Ontwikkelaar 크라이스
2014/07/27 20:07 모바일/Development




안녕하세요.


ButterKnife 라이브러리를 추천드리려고 왔습니다(?).


ButterKnife는 Annotation기능을 이용하여 코딩을 쉽게할 수 있는 방법입니다.



기능 1.

 @InjectView 를 이용하면 자동으로 ID와 캐스트를 해준다.


주석이기본형식의 코드

그 밑이 ButterKnife를 이용한 코드

(eg)

@InjectView(R.id.title) TextView title;

@InjectView(R.id.subtitle) TextView subtitle;

@InjectView(R.id.footer) TextView footer;

@InjectView(R.id.button1) Button button1;



기능 2. ListAdapter의 Viewholder 심플화

public class MyAdapter extends BaseAdapter {
  @Override public View getView(int position, View view, ViewGroup parent) {
    ViewHolder holder;
    if (view != null) {
      holder = (ViewHolder) view.getTag();
    } else {
      view = inflater.inflate(R.layout.whatever, parent, false);
      holder = new ViewHolder(view);
      view.setTag(holder);
    }

    holder.name.setText("John Doe");
    // etc...

    return view;
  }

  static class ViewHolder {
    @InjectView(R.id.title) TextView name;
    @InjectView(R.id.job_title) TextView jobTitle;

    public ViewHolder(View view) {
      ButterKnife.inject(this, view);
    }
  }
}


기능 3. List Array 형식도 심플화 가능

(eg)

@InjectViews({ R.id.first_name, R.id.middle_name, R.id.last_name })

List<EditText> nameViews;


기능 4. Click 기능 심플화


이런식으로


void 이름은 자유다.


실행 화면



OnClick, OnEditorAction, OnCheckedChanged, OnItemClick,

OnItemSelected, OnLongClick, OnPageChange, OnTextChanged, OnTouch


지원



더 많은 기능이 있지만 http://jakewharton.github.io/butterknife/ 를 직접 참고할 것. (핵심만 정리했음)



※주의※ 레이아웃을 부르고 ButterKnife.inject(this); 를 불러줘야한다.

Fragment는 ButterKnife.inject(this, View이름);

※주의※ Fragment는 밑 메소드를 추가해야함. (맨 마지막에)

@Override void onDestroyView() {

super.onDestroyView();

ButterKnife.reset(this);

}


개발자: JakeWharton

다운로드: Github


다운로드:

butterknife-5.1.1.jar



ButterKnife 사용을 위한 설정!







저작자 표시 비영리 변경 금지
이 댓글을 비밀 댓글로

티스토리 툴바