반응형

이미지가 커서 많은 메모리를 점유하고 있거나, 다음 Activity에서 메모리가 많이 필요한 작업을 할 경우에 OOM(out of memory)을 유발시킬 수 있는 요인이 될 수 있는데, 이를 간단히 해결하는 방법은 다음과 같다.

@Override
    protected void onDestroy() {
        super.onDestroy();
        findViewById(R.id.rootView).setBackground(null);
        System.gc();
    }
반응형

'Java' 카테고리의 다른 글

자바 랜덤  (0) 2017.05.23
java 정렬  (0) 2017.05.23
java 파일용량 계산  (0) 2017.05.23
Java Null Check 코드  (0) 2015.06.29
Java 인스턴스 하나만 사용하기(싱글턴 패턴)  (0) 2015.06.29
반응형


구글 드라이브에서 파일이나 문서를 공유할때 모든 사람들이 아닌 내가 아는 사람들만 공유 해야 할때가 있습니다.

1. 구글에 로그인 합니다.

2. 구글 드라이브로 들어 갑니다.

3. 구글 드라이브에 공유 할 파일이나 문서를 업로드 합니다.

4. 공유 할 파일에 마우스 오른쪽버튼을 눌러 공유를 누릅니다.


5. 현재 링크를 공유 하면 모든 사용자가 볼 수 있기 때문에 특정 사용자만 공유하기 위해서는 밑에 고급을 누릅니다.



6. "링크가 있는 모든 사용자가 볼 수 있습니다" 옆에 변경을 누릅니다.


7. 링크 공유에서 사용 안함으로 설정하고 저장 누릅니다.

8. 이곳에서 파일을 공유하고 싶은 사람들만 이메일을 입력하여서 공유합니다.


이로써 내가 아는 사람들만 파일을 공유할 수 있고 나머지 모르는 사람은 파일을 다운 받을 수 없습니다.





반응형
반응형

코딩을 하다보면 일반 레이아웃 객체는 쉽게 선언 할 수 있는데 안드로이드 툴바 메뉴객체는 어떻게 선언해야하지? 하면서 모

를 때가 있습니다. 이럴때는 이렇게 하시면 됩니다.


add_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
>
<item
android:id="@+id/add_all_check"
android:title="@string/choice_all"
android:checkable="true"
android:checked="false"
android:orderInCategory="101"
app:showAsAction="ifRoom"
/>

<item
android:id="@+id/add_check_num"
android:title=""
android:orderInCategory="102"
app:showAsAction="ifRoom"
/>
</menu>

-----------------------------------------------------------------------------------------------------------------

/**전체선택 메뉴*/
private MenuItem mAddAllCheckMenu;

/**선택 개수 메뉴*/
private MenuItem mAddCheckNumMenu;


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.add_menu, menu);
mAddAllCheckMenu = menu.findItem(R.id.add_all_check);
mAddCheckNumMenu = menu.findItem(R.id.add_check_num);
mAddCheckNumMenu.setTitle(String.format(getString(R.string.choice_check_num), 0));
return true;
}


    @Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
Intent intent = null;
if (id == R.id.add_all_check) {
if (!mAddAllCheckMenu.isChecked()) {
mAddAllCheckMenu.setChecked(true);
mAddAllCheckMenu.setTitle(getString(R.string.choice_all));
setAllChecked(true);
mAddCheckNumMenu.setTitle(String.format(getString(R.string.choice_check_num), getCheckedCount()));
} else {
mAddAllCheckMenu.setChecked(false);
mAddAllCheckMenu.setTitle(getString(R.string.choice_all));
setAllChecked(false);
mAddCheckNumMenu.setTitle(String.format(getString(R.string.choice_check_num), 0));
}
} else if (id == R.id.add_check_num) {
return false;

}


return super.onOptionsItemSelected(item);
}
}


반응형
반응형

 

  mButtonLayout = (LinearLayout) findViewById(R.id.action_btn_layout);

    private void transAnimation(boolean bool){

        AnimationSet aniInSet = new AnimationSet(true);
        AnimationSet aniOutSet = new AnimationSet(true);
        aniInSet.setInterpolator(new AccelerateInterpolator());
        Animation transInAni = new TranslateAnimation(0,0,100.0f,0);
        Animation transOutAni = new TranslateAnimation(0,0,0,100.0f);
        transInAni.setDuration(200);
        transOutAni.setDuration(200);
        aniInSet.addAnimation(transInAni);
        aniOutSet.addAnimation(transOutAni);

        if (bool) {
            mButtonLayout.setAnimation(aniInSet);
            mButtonLayout.setVisibility(View.VISIBLE);
        } else {
            mButtonLayout.setAnimation(aniOutSet);
            mButtonLayout.setVisibility(View.GONE);
        }

    }
반응형
반응형

 

 

머티리얼 디자인 적용 방법이랄것도 없지만 매우 간단합니다.

우선

1. Compile Sdk Vrersion을 롤리팝 이상으로 맞춰줍니다.

2. Build Tools Version을 20이상으로 맞춰 줍니다.

3. com.android.suppot:appcompat-v7을 최신버전으로 해놓습니다.

 

 

4. 그리고 Style.xml에 다음과 같이 적어줍니다.

 <resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
    </style>

</resources>

 

이 간단한 과정으로 머티리얼 디자인이 적용이 되었습니다.

정말 이게 끝입니다.

하지만 테스트 하실때 디바이스의 소프트웨어 버전이 롤리팝 이상 버전이어야지 머티리얼디자인이
적용되신걸 볼 수 있습니다.

롤리팝 이전버전에서 머티리얼 디자인을 적용하기위해서는 라이브러리가 필요합니다.

그부분에 관해서는 다음 포스팅이나 기회가 될때 포스팅 하도록 하겠습니다.

감사합니다.

 

반응형
반응형

 

public static boolean isNull(String value){
		if (value == null || value.trim().length() < 1 || value.equals("null")) {
			return true;
		}
		else {
			return false;
		}
	}

출처는 http://changhee.tistory.com/8 이곳입니다.

예를 들어 사용할때는 

		if (isNull(value)) {
			System.out.println("널이면 이쪽으로 오게 됩니다.");	
		}
		else{
			System.out.println("널이 아닐때는 이쪽으로 오게 됩니다.");
		}

이런식을로 사용하시면 될듯합니다.

반응형

'Java' 카테고리의 다른 글

자바 랜덤  (0) 2017.05.23
java 정렬  (0) 2017.05.23
java 파일용량 계산  (0) 2017.05.23
액티비티 할당된 메모리 즉시 반환하기  (0) 2016.01.12
Java 인스턴스 하나만 사용하기(싱글턴 패턴)  (0) 2015.06.29
반응형

 

 

 

싱글턴 패턴은 한마디로 인스턴스가 하나뿐인 객체를 말한다.


public class Singleton {
	private static Singleton single; // 유일한 인스턴스를 저장하기위한 정적변수

	private Singleton() //생성자를 private로 선언하였기때문에 Singleton클래스의 객체는 Singleton클래스에서만 만들 수 있습니다.
	{
	}

	public static Singleton getInstance() {
		if (single == null) {
			single=new Singleton();
			System.out.println("하나뿐인 인스턴스");
		}
		return single;
	}
}

메인 클래스는 다음과 같이 부르고 있습니다.

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Singleton single=Singleton.getInstance();
		Singleton single2=Singleton.getInstance();
		System.out.println("single 객체"+single);
		System.out.println("single2 객체"+single2);
	}

}


결과는 하나의 인스턴스만 사용하기때문에 다음과 같이 나옵니다.

하나뿐인 인스턴스
single 객체com.sington.one.Singleton@689d6d87
single2 객체com.sington.one.Singleton@689d6d87


결과가 이렇게 나와야 된다고 생각하시는분은 코드를 다시 천천히 다시보시길 바랍니다.)

하나뿐인 인스턴스
하나뿐인 인스턴스
single 객체com.sington.one.Singleton@689d6d87
single2 객체com.sington.one.Singleton@689d6d87


싱글톤 패턴에 대해 더욱 자세히 알고 싶으신 분은 

이곳으로 가시길
 http://wiki.gurubee.net/pages/viewpage.action?pageId=1507403&



반응형

'Java' 카테고리의 다른 글

자바 랜덤  (0) 2017.05.23
java 정렬  (0) 2017.05.23
java 파일용량 계산  (0) 2017.05.23
액티비티 할당된 메모리 즉시 반환하기  (0) 2016.01.12
Java Null Check 코드  (0) 2015.06.29
반응형

머티리얼 디자인 관련 URL

디자인 등 볼수잇는 자료들이 많이 있다.
http://www.materialup.com/posts/c/concepts

 

안드로이드 디벨롭에서 제공해주는 자료들
http://developer.android.com/training/material/index.html

 

 

머티리얼 디자인은 컬러들또한 규격화하여서 이런색깔들을 사용할것을 권장하고 있습니다.

이 색상 팔레트는 그림이나 브랜드 색상을 개발하는 데 사용할 수있는 기본 및 강조하는 색상을 포함한다. 그들은 서로 조화롭게 작동하도록 설계했습니다.

색상 팔레트는 기본 색상으로 시작과 안드로이드, 웹 및 iOS 용 완전하고 사용할 수있는 팔레트를 생성하기 위해 스펙트럼을 채 웁니다. 구글은 앱의 기본 색상과 악센트 색상과 다른 색상으로 500 색을 사용하여 제안합니다.

해당URL에서 안드로이드에 바로적용할 수 있도록 색상코드와 이러이러한식으로 앱을 디자인하면 더욱 이쁘게 된다는것을 알려주고 보여주고 있습니다.

http://www.google.com/design/spec/style/color.html#

 

해당 URL에서는 안드로이드에서 제공하는 기본 아이콘들을 다운로드 받을 수 있습니다.

http://google.github.io/material-design-icons/

Downloading everything

Grab the latest stable zip archive (~57MB) of all icons or the bleeding-edge version from master.


 

반응형

+ Recent posts