전체보기

반응형

기준값

Low density = 120, ldpi

Medium density = 160, mdpi 

High density = 240, hdpi


 (px -> dip) dip 값 구하기

(dip -> px)  px 값 구하기

 dip = px * (160/기준값)

(hdpi 기준) dip = ( PX / 3 ) * 2

(hdpi 기준) dip = px * 0.666

pixels = dip * (기준값/ 160)

(hdpi 기준) px = dip * 1.5


이미지를 레이아웃 백그라운드에 넣어줬더니 폰마다 다른 해상도 때문에 테스트 폰보다 큰 폰에서는 이미지가 늘어나는 현상이 발생했다.

그래서 레이아웃크기를 wrap_content로 해준 걸 수치로 고정시켜주었다.

그런데 xml에서는 크기수치를 dp로 주게 되어있는데 나는 dp가 픽셀이랑 같은 수치인 줄 알았다.

테스트 해보니 그게 아니었다.


그래서 변환 공식을 찾았고 계산을 해서 직접 때려넣었다.

 물론 소스 상에 변환 코드를 넣어서 구현할 수도 있지만 귀찮기도 하고 실력부족으로...

(기준 값은 hdpi=240으로 잡고 계산했다.)

이미지 사이즈는 픽셀기준이라 그 수치를 공식에 대입해서 나온 결과 값을 레이아웃 dp값으로 넣어주었더니

어느 폰에서나 똑같은 크기로 나올 수 있었다.




반응형
반응형

자바코드에서 쉘스크립트 실행하기


(Play Framework에서 사용함)


public static Result doShell(String server) { //서버명 받아오기


String result_line = "";

String line = "";

try {

String strScript = "ssh jeong@"+ server +" /usr/local/hello.sh"; //서버명 끼워넣기

Process p = Runtime.getRuntime().exec(strScript); //스크립트 실행


BufferedReader bri = new BufferedReader(new InputStreamReader(

p.getInputStream()));

while ((line = bri.readLine()) != null) { //쉘 스크립트 내용 출력

result_line += line; 

}

} catch (Exception err) {

err.printStackTrace();

}

System.out.println(result_line); //콘솔에서 확인차 

return ok();


}


나도 잘 모르지만 어찌 하다보니 됐다



참고한 블로그 글


http://blog.naver.com/PostView.nhn?blogId=mungyom&logNo=110151707237


반응형

'지식메모 > PlayFramework 2' 카테고리의 다른 글

PlayFramework 2 테스트 방법  (0) 2013.07.17
반응형

참고한 블로그 글 

http://khmirage.tistory.com/71


http://mansoo.tistory.com/entry/MySQL-%EC%BA%90%EB%A6%AD%ED%84%B0-%EC%85%8B-%EB%B3%80%EA%B2%BD



[client]

default-character-set=utf8


[mysqld]

character-set-client-handshake=FALSE

init_connect="SET collation_connection = utf8_general_ci"

init_connect="SET NAMES utf8"

default-character-set=utf8 //근데 나는 이 부분을 넣었을때 재시작이 실패했는데 빼니까 되었다. 뭐지..

character-set-server=utf8

collation-server=utf8_general_ci


[mysqldump]

default-character-set=utf8


[mysql]

default-character-set=utf8





반응형
반응형

테이블 구성보기

desc 테이블명;


테이블 내용 다 지우기

delete from 테이블명;


테이블 칼럼 추가

alter table 테이블명 add 칼럼명 varchar(11) not null default '0';


테이블 칼럼 삭제

alter table 테이블명 drop 칼럼명;


칼럼명과 타입 수정하기

alter table 테이블명 change 원래칼럼명 바꿀칼럼명 varchar(11);


칼럼 타입수정하기

alter table 테이블명 modify 칼럼명 varchar(20);


테이블명 수정

alter table 테이블명 rename 바꿀테이블명;




테이블 데이터 추가하기

insert into 테이블명 values ('칼럼1','칼럼2', ...);


테이블 안에 모든 내용보기

select * from 테이블명;


테이블 데이터 검색

select [찾을 필드명] from [찾을 테이블 이름] where [검색조건];


데이터 변경하기

update 테이블명 set 칼럼명='바꿀내용' where 타겟칼럼명 = '타겟칼럼데이터' ;



자꾸 써야 안 까먹는데 자꾸 안 쓴다.


맨날 참고하는 링크글 

http://www.tipssoft.com/bulletin/board.php?bo_table=FAQ&wr_id=493


http://opencode.kr/55





반응형
반응형

기존 테이블스키마를 테이블 명만 바꿔서 새로 생성하고 싶을때

show create table 기존테이블명;

해주면 쫙 나온다. 그대로 긁어다가 테이블 명만 수정하고 생성~


team table 스키마를 보여준 모습






반응형
반응형


만약 액티비티를

public class MainActivity extends Activity implements OnClickListener{

이렇게 implements OnClickListener로 선언했다면

onClick 메소드에 xml에서 선언한 버튼의 아이디를 적어주면 된다.

if , else if 로 각 버튼이 눌렸을때 수행할 기능을 넣어준다.


public void onClick(View v){

if(v.getId() == R.id.버튼의 아이디){

... 수행할 기능

}else if(v.getid()== R.id.버튼의 아이디){

..... 수행할 기능

}

소스양식버전


public void onClick(View v){

		if(v.getId() == R.id.버튼의 아이디){

... 수행할 기능

}else if(v.getid()== R.id.버튼의 아이디){

..... 수행할 기능

}



또는 

public class MainActivity extends Activity

그냥 이렇게 선언했다면

OnCreate 부분에서 버튼 별로 수행할 기능을 넣어줘도 된다.

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);


Button btn1 = (Button) findViewById(R.id.버튼1의 아이디);

btn1.setOnClickListener(new OnClickListener() {


public void onClick(View v) {

// 수행할 기능소스

}

});


Button btn2 = (Button) findViewById(R.id.버튼2의 아이디);

btn2.setOnClickListener(new OnClickListener() {


public void onClick(View v) {

// 수행할 기능소스

}

});


}

소스양식버전


public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);


Button btn1 = (Button) findViewById(R.id.버튼1의 아이디);

btn1.setOnClickListener(new OnClickListener() {



	public void onClick(View v) {

//	수행할 기능소스

	}

});


Button btn2 = (Button) findViewById(R.id.버튼2의 아이디);

btn2.setOnClickListener(new OnClickListener() {



	public void onClick(View v) {

//	수행할 기능소스

	}

});



}







반응형
반응형


이미지를 캡쳐해서 저장한 후 공유하기를 통해 이미지를 공유하고 싶었다.

이 공유하기 기능을 사용하면 카톡 페북 미투데이 등등 메뉴가 저절로 나온다.신기방기


                         Intent intentSend  = new Intent(Intent.ACTION_SEND);

 intentSend.setType("image/*");

 intentSend.putExtra(Intent.EXTRA_STREAM, Uri.parse(파일경로));

 startActivity(Intent.createChooser(intentSend, "공유"));

특정파일을 공유하기 위해 다음과 같이 사용했다.

공유하기 버튼을 만들어 그 안에 집어넣었다.

Intent it3=getIntent(); //파일명을 가져오기 위한 인텐트(에디트텍스트에서 이름입력받은 걸 파일명으로 쓰기 위해)

String str_name=it3.getStringExtra("it3_name"); //이름을 가져온다.

File fileRoute = null;

fileRoute = Environment.getExternalStorageDirectory(); //sdcard 파일경로 선언

        File files = new File(fileRoute,"/temp/"+str_name+"-.jpeg"); //temp폴더에 이름으로 저장된 jpeg파일 경로 선언

    

if(files.exists()==true)  //파일유무확인

{

Intent intentSend  = new Intent(Intent.ACTION_SEND);

intentSend.setType("image/*");


//이름으로 저장된 파일의 경로를 넣어서 공유하기

intentSend.putExtra(Intent.EXTRA_STREAM, Uri.parse(fileRoute+"/temp/"+str_name+"-.jpeg"));


startActivity(Intent.createChooser(intentSend, "공유")); //공유하기 창 띄우기

}else{

//파일이 없다면 저장을 해달라는 토스트메세지를 띄운다.

Toast.makeText(getApplicationContext(), "저장을 먼저 해주세요", Toast.LENGTH_LONG).show();

}


소스양식버전


Intent it3=getIntent();	//파일명을 가져오기 위한 인텐트(에디트텍스트에서 이름입력받은 걸 파일명으로 쓰기 위해)

	String str_name=it3.getStringExtra("it3_name");	//이름을 가져온다.	

	File fileRoute = null;

	fileRoute = Environment.getExternalStorageDirectory(); //sdcard 파일경로 선언

			

        File files = new File(fileRoute,"/temp/"+str_name+"-.jpeg"); //temp폴더에 이름으로 저장된 jpeg파일 경로 선언

		     

	 if(files.exists()==true)  //파일유무확인

	 {

			 Intent intentSend  = new Intent(Intent.ACTION_SEND);

			 intentSend.setType("image/*");



//이름으로 저장된 파일의 경로를 넣어서 공유하기

			 intentSend.putExtra(Intent.EXTRA_STREAM, Uri.parse(fileRoute+"/temp/"+str_name+"-.jpeg"));



			 startActivity(Intent.createChooser(intentSend, "공유")); //공유하기 창 띄우기

		 }else{

//파일이 없다면 저장을 해달라는 토스트메세지를 띄운다.

			 Toast.makeText(getApplicationContext(), "저장을 먼저 해주세요", Toast.LENGTH_LONG).show();

		 }





반응형
반응형

<EditText

android:inputType="number"

/>


이렇게 해주면 된다. 

number 대신에 phone 을 쓰면 전화번호만 입력할 수 있는 키보드가 뜬다.

뭐 사실상 둘 다 같은거라 볼 수도 있는 듯..




반응형

+ Recent posts