'~ 2014 > JAVA & ANDROID' 카테고리의 다른 글
JAVA :: 예약종료 (0) | 2013.09.03 |
---|---|
ANDROID :: 액티비티 투명처리 (0) | 2013.07.19 |
JAVA :: 모니터 해상도에 따른 중앙값 얻기 (0) | 2013.07.13 |
JAVA:: 파일목록 가져오기 (0) | 2013.07.12 |
JAVA:: JsonObject, JsonArray (0) | 2013.07.12 |
JAVA :: 예약종료 (0) | 2013.09.03 |
---|---|
ANDROID :: 액티비티 투명처리 (0) | 2013.07.19 |
JAVA :: 모니터 해상도에 따른 중앙값 얻기 (0) | 2013.07.13 |
JAVA:: 파일목록 가져오기 (0) | 2013.07.12 |
JAVA:: JsonObject, JsonArray (0) | 2013.07.12 |
Dimension screen =Toolkit.getDefaultToolkit().getScreenSize(); // 모니터화면의 해상도 얻기
Dimension f1_size = super.getSize(); // 프레임크기
// 프레임이 화면 중앙에 위치하도록 left, top 계산
int left = (screen.width / 2) - (f1_size.width / 2);
int top = (screen.height / 2) - (f1_size.height /2 );
cf) 해당 클래스는 Frame을 상속받습니다 !!!
ANDROID :: 액티비티 투명처리 (0) | 2013.07.19 |
---|---|
ANDROID :: 환경설정창 만들기 preferenceScreen (0) | 2013.07.16 |
JAVA:: 파일목록 가져오기 (0) | 2013.07.12 |
JAVA:: JsonObject, JsonArray (0) | 2013.07.12 |
JAVA:: ip주소 가져오기 (0) | 2013.07.12 |
import java.io.File;
public class GetFileList {
public static void main(String[] args) {
File myDir = new File("C:/Users/lssang/Desktop/이미지"); // 디렉토리의 객체생성
System.out.println(myDir.getAbsolutePath()); // 디렉토리의 절대경로
System.out.println(myDir.getParent()); // 부모디렉토리
String fileName = myDir.getName(); // 파일 이름
String fileExtention = fileName.substring(fileName.lastIndexOf(".")+1,fileName.length());
// 파일 확장자
File[] contents = myDir.listFiles(); // 디렉토리의 내용을 가져온다
// 디렉토리의 내용 목록출력
if (contents != null) { // contents가 null값이 아닐경우(디렉토리에 내용이 있을경우)디렉토리의 내용출력
for (int i = 0; i < contents.length; i++) {
System.out.println(contents[i].getName());
}
} else { // contents가 null일 경우(디렉토리에 내용이 없을경우)
System.out.println(myDir.getName() + " is not a directory");
}
System.exit(0);
}
}
ANDROID :: 환경설정창 만들기 preferenceScreen (0) | 2013.07.16 |
---|---|
JAVA :: 모니터 해상도에 따른 중앙값 얻기 (0) | 2013.07.13 |
JAVA:: JsonObject, JsonArray (0) | 2013.07.12 |
JAVA:: ip주소 가져오기 (0) | 2013.07.12 |
ANDROID:: Toast (0) | 2013.07.12 |
Boolean / Charactor / Number / String 형의 배열을 String 타입으로 지원해주는 라이브러리가 있더라 !!
소케송신이나 엑티비티통신간 이런 String 묶음들을 한번에 전송할때 유용하게 쓸 수 있을 것이다.
이 아이는 google에서 만든 json인데 지금 작성할 내용은 gson이나 json이나 별반 다를게 없다.
<JsonObject>
<JsonObject 생성>
JsonObject jsonObject = new JsonObject();
<엔트리 추가>
jsonObject.addProperty("type", "test");
jsonObject.addProperty("data", "안녕하세요");
<JsonObject 출력>
String str = jsonObject.toString();
System.out.println(str);
<결과>
{"type":"test","data":"안녕하세요"}
<사용하기 >
//String 형을 Json오브젝트로 변환
String str = "{"type":"test","data":"안녕하세요"}";
JsonParser parser = new JsonParser();
JsonElement element = parser.parse(str);
JsonObject json = element.getAsJsonObject();
//JsonObject에서 문자열을 추출
String type = json.get("type"); //type 에는 "test"라는 문자열이 저장된다
String hello = json.get("data") // hello 에는 "안녕하세요"라는 문자열이 저장된다.
<JsonArray>
//두 JsonObejct 객체가 아래와 같다면...
jsonObject1 = {"type":"test","data":"안녕하세요"}
jsonObject2 = {"type":"test","data":"반갑습니다"}
<JsonArray 생성>
JsonArray jArray = new JsonArray();
<엔트리 추가>
jArray.add(jsonObject1);
jArray.add(jsonObject2);
<JsonArray 출력>
String str = jArray.toString();
System.out.println(str);
<결과>
[{"type":"test","data":"안녕하세요"},{"type":"test","data":"반갑습니다"}]
<사용하기>
//String 형을 JsonArray로 변환
String str = "[{"type":"test","data":"안녕하세요"},{"type":"test","data":"반갑습니다"}]"
JsonParser parser = new JsonParser();
JsonElement element = parser.parse(str);
JsonArray jArray = element.getAsJsonArray();
//JsonArray에서 문자열 추출
String hello = jArray.get(0).get("data");
String hello2 = jArray.get(2).get("data");
하... 포스팅 능력이 딸리다보니 이렇게밖에 표현을 못하겠네요...
web에선 자주 등장하는 json이라는 객체가 그것인데 자바코드에서 직접 사용하니 신세계이지 아니한가
JAVA :: 모니터 해상도에 따른 중앙값 얻기 (0) | 2013.07.13 |
---|---|
JAVA:: 파일목록 가져오기 (0) | 2013.07.12 |
JAVA:: ip주소 가져오기 (0) | 2013.07.12 |
ANDROID:: Toast (0) | 2013.07.12 |
ANDROID:: Thread / 애플리케이션 종료시 에러 (0) | 2013.07.12 |
InetAddress local = InetAddress.getLocalHost();
String ip = local.getHostAddress();
이렇게 쉬울수가 !!!
JAVA:: 파일목록 가져오기 (0) | 2013.07.12 |
---|---|
JAVA:: JsonObject, JsonArray (0) | 2013.07.12 |
ANDROID:: Toast (0) | 2013.07.12 |
ANDROID:: Thread / 애플리케이션 종료시 에러 (0) | 2013.07.12 |
JAVA:: DeskTop / 파일경로를 통해 외부파일 실행하기(ex .avi) (0) | 2013.07.11 |
안써보면 어렵다고.... onCreate 밑에 이거하나 추가해놓고 겁나 가져다 쓰자.
private void popToast(String str){
Toast toast = Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT);
toast.show();
}
JAVA:: JsonObject, JsonArray (0) | 2013.07.12 |
---|---|
JAVA:: ip주소 가져오기 (0) | 2013.07.12 |
ANDROID:: Thread / 애플리케이션 종료시 에러 (0) | 2013.07.12 |
JAVA:: DeskTop / 파일경로를 통해 외부파일 실행하기(ex .avi) (0) | 2013.07.11 |
ANDROID:: intent를 이용한 액티비티 간 데이터 전달 (0) | 2013.07.11 |
쓸만한 애플리케이션을 만들다 보면 스레드 사용이 빈번하다. 또한 나를 포함한 대부분의 어플 사용자들은 실행중인 어플을 종료시키기위해 취소버튼을 연타하는 품격없는 행위를 지금 이시간에도 누군가는 분명 하고있을것이다.
이때 스레드를 정상적으로 종료시켜주기 위해 Thread.close(); 와 같은 코드를 넣어주는데 역시 나를포함한 초보개발자들이 자주 실수하는 부분이다. 스레드가 진행되다 다양한(?) 이유로 스레드가 종료되는데 또는 스레드를 초기화 하지 않은 상태 ( Thread mThread = null; 이렇게 선언만 해놓은 상태) 에서 이 코드를 만나면 LogCat에서 쳐다보기도 싫은 빨간글씨들이 담배를 생각나게한다.
보통 안드로이드에서 쓰레드는 엑티비티 생명주기 마지막 finish()에서 선언해주는데 다음과 같이 쓰면 되겠다.
public void finish() {
if(mThread!=null){
mThread.close();
}
super.finish();
}
쓰레드 뿐 아니라 .close()를 사용하는 다양한 객체들 종료시 간단한 if문을 통해 스레드가 null이 아닌지 확인하고 종료하는 습관을 들이자.
JAVA:: ip주소 가져오기 (0) | 2013.07.12 |
---|---|
ANDROID:: Toast (0) | 2013.07.12 |
JAVA:: DeskTop / 파일경로를 통해 외부파일 실행하기(ex .avi) (0) | 2013.07.11 |
ANDROID:: intent를 이용한 액티비티 간 데이터 전달 (0) | 2013.07.11 |
ANDROID:: 간단한 onClick 예제(버튼이벤트) (0) | 2013.07.11 |
Desktop.getDesktop().open(new File("C:/Users/lssang/Downloads/runningman130707.avi"));
짠 ~
간단해보이지만 모르면 몇시간이고 고생하는 ...
Java 어플리케이션으로 Desktop
클래스를 사용하면, 네이티브 데스크탑으로 등록을 마친 관련지을 수 있었던 어플리케이션을 기동해,URI
나 파일을 처리할 수 있습니다.
지원되는 조작에는 다음의 것이 있습니다.
mailto
URI 를 지정해, 사용자 디폴트의 메일 클라이언트를 기동한다.라고 써있는데 쉽게말해 경로가지고 장난치기 좋은 라이브러리 같다.
도입 버전은 1.6
철느님 항상 감사합니다
ANDROID:: Toast (0) | 2013.07.12 |
---|---|
ANDROID:: Thread / 애플리케이션 종료시 에러 (0) | 2013.07.12 |
ANDROID:: intent를 이용한 액티비티 간 데이터 전달 (0) | 2013.07.11 |
ANDROID:: 간단한 onClick 예제(버튼이벤트) (0) | 2013.07.11 |
ANDROID:: 소켓통신/ byte 전송시 한글깨짐현상 (0) | 2013.07.11 |
시나리오: 메인엑티비티에서 버튼 클릭 시 sub엑티비티로 전환되며 이때 "안녕하세요" 라는
데이터를 같이 전송한다.
<메인 엑티비티>
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
...
public void onClick(View view) {
switch (view.getId()) {
case R.id.Button1:
Intent intent = new Intent(MainActivity.this, SubActivity.class);
intent.putExtra("type", "안녕하세요"); // intent에
startActivity(intent);
break;
}
<서브 엑티비티>
public class SubActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);
Intent intent = getIntent();
String revStr = intent.getExtras().get("type").toString();
}
}
위와 같은 방법으로는 기본형의 데이터만 주고받을 수 있다. int, String, boolean 등..
엑티비티간 객체를 주고받기 위해서는 해당 객체의 클래스를 Serializable인터페이스를 확장시켜준다
public class A implements Serializable{
...
}
메인에서 intent.putExtra("objct",objectName);
서브에서 A object = (A)intetn.getSerializableExtra("object");
와 같은 형식으로 넘겨받을 수 있다.
엑티비티간 객체전송 출처: http://www.androidpub.com/2429179
ANDROID:: Toast (0) | 2013.07.12 |
---|---|
ANDROID:: Thread / 애플리케이션 종료시 에러 (0) | 2013.07.12 |
JAVA:: DeskTop / 파일경로를 통해 외부파일 실행하기(ex .avi) (0) | 2013.07.11 |
ANDROID:: 간단한 onClick 예제(버튼이벤트) (0) | 2013.07.11 |
ANDROID:: 소켓통신/ byte 전송시 한글깨짐현상 (0) | 2013.07.11 |
xml 코드 중..
<Button
android:id="@+id/Button1"
android:text="Button"
android:onClick="onClick" <== 이부분
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
다양한 온클릭 이벤트 작성법이 있지만 xml코드에 버튼 작성 시
android:onClick="onClick"라는 속성을 주면 버튼 클릭시 onClick 메소들 찾아 실행하게 된다.
java코드
...
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
...
public void onClick(View view) {
switch (view.getId()) {
case R.id.Button1:
//이벤트 작성
break;
}
}
ANDROID:: Toast (0) | 2013.07.12 |
---|---|
ANDROID:: Thread / 애플리케이션 종료시 에러 (0) | 2013.07.12 |
JAVA:: DeskTop / 파일경로를 통해 외부파일 실행하기(ex .avi) (0) | 2013.07.11 |
ANDROID:: intent를 이용한 액티비티 간 데이터 전달 (0) | 2013.07.11 |
ANDROID:: 소켓통신/ byte 전송시 한글깨짐현상 (0) | 2013.07.11 |