전체 글

1 ··· 4 5 6 7 8

제거하지 않은 기본화면입니다.

상태바 - 스마트폰 화면에서 시계 및 알림이 표시되는 부분

타이틀바 - 앱의 제목이 표시되는 부분

 

 

상태바(Status bar) 제거

 

1. styles.xml - style태그 내부에 작성

<item name="windowFullscreen">true</item>

2. MainActivity.java onCreate에 코드 추가

(※ setContentView 밑에 작성할 경우 에러가 발생합니다.)

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

 

 

타이틀바(Title bar) 제거

1. styles.xml - style태그 내부에 작성

<!--No Title Bar-->
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>

2. MainActivity.java에서 코드 추가

(※ setContentView 밑에 작성할 경우 에러가 발생합니다.)

supportRequestWindowFeature(Window.FEATURE_NO_TITLE);


'안드로이드 > Android' 카테고리의 다른 글

[Android] 애드몹 광고  (0) 2020.04.17
[Android] ScalableLayout  (0) 2020.04.17
[Android] RecyclerView  (0) 2020.04.10
[Android] 로딩화면 구현  (0) 2020.04.06
[Android] 다음 지도 API  (0) 2020.02.25

[Android] 다음 지도 API

2020. 2. 25. 23:44

1.

http://apis.map.kakao.com/android/guide/ 에서 SDK를 다운받는다. 

 

2.

다운 받은 파일을 압축해제한 후 보기방식을 Project 로 변경해서

app - libs 안에 libDaumMapAndroid.jar를 넣고

app - src - main - jniLibs 폴더를 생성해서 (arm64-v8a, armeabi, armeabi-v7a)세 개의 폴더를 넣어준다.

 

3.

AndroidManifest.xml에 권한설정 및 AppKey 추가

 

manifest태그 내부에 작성

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

manifest - application태그 내부에 작성

<meta-data android:name="com.kakao.sdk.AppKey" android:value="발급받은 네이티브 앱 키"/>

 

4.

xml코드 작성

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <RelativeLayout
        android:id="@+id/map_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</RelativeLayout>

 

5.

MainActivity.java코드 작성

MapView mapView = new MapView(this);

ViewGroup mapViewContainer = (ViewGroup) findViewById(R.id.map_view);
mapViewContainer.addView(mapView);

 


API ERROR 해결방법

 

AVD에서 팅김

Can`t load DaumMapEngineApi.so file

: AVD환경에서 앱이 실행되지 않고 팅기면서 위의 에러가 표시 되는데 Kakao Developers에 나와있는 설명대로 했는데도 계속해서 에러가 떠서 몇시간을 소비했습니다. AVD로 다른예제를 잘 사용하고 있었는데 다음 API는 AVD환경에서 실행을 하면 안되고 스마트폰에서 실행해야 합니다. 스마트폰에서는 아주 잘 됩니다.

 

지도 빈화면 출력 시( Logcat HTTP 에러 )

NativeBaseNetConnection: Cleartext HTTP traffic to ot0.maps.daum-img.net not permitted

: AndroidManifest.xml - application태그에 android:usesCleartextTraffic="true" 추가

android:usesCleartextTraffic="true"

 

Run 에러

INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113

: bulid.gradle - android 내부에 splits 추가

splits {
        abi {
            enable true
            reset()
            include 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'mips', 'mips64', 'arm64-v8a'
            universalApk false
        }
    }

 

 


'안드로이드 > Android' 카테고리의 다른 글

[Android] 애드몹 광고  (0) 2020.04.17
[Android] ScalableLayout  (0) 2020.04.17
[Android] RecyclerView  (0) 2020.04.10
[Android] 로딩화면 구현  (0) 2020.04.06
[Android]상태바 및 타이틀바 제거  (0) 2020.02.26

[Bootstrap] collapse

2020. 2. 23. 20:27

collapse에 필요한 script 선언

<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<!-- JQuery CDN 연동 -->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<!-- Bootstrap JS -->
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>

 

script 구문작성

<script type="text/javascript">

$(function() {
	
	$('#btn').on('click', function () { 						// 버튼을 클릭했을 때
		let collapses = $('div.container').find('.collapse');	// 클래스 이름이 collapse인 태그를 찾음
		
		collapses.each(function () { 
			$(this).collapse('toggle');							// toggle을 이용해 버튼을 클릭할 때마다
		}); 													// 열리고 닫힘
	});
});

</script>

 

HTML 작성

<div class="container m-5">
	<div class="collapse" id="collapseExample">
		콜랩스 출력!
	</div>
	<input type="button" id="btn" class="btn btn-outline-dark" value="버튼">
</div>

[API] 항공 API

2020. 2. 7. 00:42

공공데이터포털 요청변수 및 출력결과

더보기

국내항공 운항정보 (클릭)

 

항공사 목록 조회

 

공항목록 조회

 

항공운행정보목록 조회

 

기상청 항공기상 정보 (클릭)

 

METAR/SPECI조회

 

항공기 운항정보 (클릭)

 

국제선 운항 스케줄

 

실시간 운항정보

 

국내선 운항스케줄

 

공항 코드 정보

 

전국 공항 주차요금 (클릭)

 

전국공항 주차요금 정보

 

전국공항 버스노선 (클릭)

 

전국공항 버스노선 정보

 

전국공항 실시간 주차정보 (클릭)

 

전국공항 주차정보

 

노선별 소요시간 및 거리 정보 (클릭)

 

노선별 소요시간 및 거리 정보

 

일별 예상승객정보 및 혼잡여부 (클릭)

 

일별 예상승객 정보

 

항공운행정보목록 조회 JAVA 샘플코드

import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.io.BufferedReader;
import java.io.IOException;

public class ApiExplorer {
    public static void main(String[] args) throws IOException {
        StringBuilder urlBuilder = new StringBuilder("http://openapi.tago.go.kr/openapi/service/DmstcFlightNvgInfoService/getFlightOpratInfoList"); /*URL*/
        urlBuilder.append("?" + URLEncoder.encode("ServiceKey","UTF-8") + "=서비스키"); /*Service Key*/
        // urlBuilder.append("&" + URLEncoder.encode("numOfRows","UTF-8") + "=" + URLEncoder.encode("10", "UTF-8")); /*한 페이지 결과 수*/
        // urlBuilder.append("&" + URLEncoder.encode("pageNo","UTF-8") + "=" + URLEncoder.encode("1", "UTF-8")); /*페이지 번호*/
        urlBuilder.append("&" + URLEncoder.encode("depAirportId","UTF-8") + "=" + URLEncoder.encode("NAARKJJ", "UTF-8")); /*출발공항ID*/
        urlBuilder.append("&" + URLEncoder.encode("arrAirportId","UTF-8") + "=" + URLEncoder.encode("NAARKPC", "UTF-8")); /*도착공항ID*/
        urlBuilder.append("&" + URLEncoder.encode("depPlandTime","UTF-8") + "=" + URLEncoder.encode("20161001", "UTF-8")); /*출발일*/
        // urlBuilder.append("&" + URLEncoder.encode("airlineId","UTF-8") + "=" + URLEncoder.encode("AAR", "UTF-8")); /*항공사ID*/
        
        URL url = new URL(urlBuilder.toString());
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Content-type", "application/json");
        System.out.println("Response code: " + conn.getResponseCode());
        BufferedReader rd;
        if(conn.getResponseCode() >= 200 && conn.getResponseCode() <= 300) {
            rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        } else {
            rd = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
        }
        StringBuilder sb = new StringBuilder();
        String line;
        while ((line = rd.readLine()) != null) {
            sb.append(line);
        }
        rd.close();
        conn.disconnect();
        System.out.println(sb.toString());
    }
}

[Javascript] 정규표현식

2019. 12. 30. 06:36

//모든 공백 체크 정규식
	var empJ = /\s/g;
	//아이디 정규식
	var idJ = /^[a-z0-9]{4,12}$/;
	// 비밀번호 정규식
	var pwJ = /^[A-Za-z0-9]{4,12}$/; 
	// 이름 정규식
	var nameJ = /^[가-힣]{2,6}$/;
	// 이메일 검사 정규식
	var mailJ = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;
	// 휴대폰 번호 정규식
	var phoneJ = /^01([0|1|6|7|8|9]?)?([0-9]{3,4})?([0-9]{4})$/;

아이디 - a~z, 0~9를 가지는 4~12자리 아이디를 생성할 수 있다

비밀번호 - A~Z, a~z, 0~9를 가지는 4~12자리 비밀번호를 생성할 수 있다.

이름 - 가~힣 한글로 이루어진 문자만으로 2~6자리 이름을 생성할 수 있다.

이메일 - 특수문자 사용가능하며 중앙에 @ 필수이고 . 뒤에 2~3글자가 필요한 이메일을 생성할 수 있다.

휴대폰 - 0~9를 가지며, '-'를 생략하고 01? 으로 시작해서 중간 3~4자, 뒤 4자로 이루어진 휴대폰번호를 생성할 수 있다.


[Java] GUI 창닫기

2019. 12. 20. 14:28

addWindowListener(new WindowAdapter() {

	@Override
	public void windowClosing(WindowEvent e) {
      // 창 닫기
      // 프레임 종료
      dispose();
      // 프로세스 종료
      System.exit(0);
	}
			
});

X 버튼을 눌러도 작동이 안 되는데 리스너를 등록시켜주면 정상적으로 종료가 가능합니다.


' > Java' 카테고리의 다른 글

[Java] 4자리 수로 표시하기  (0) 2020.06.05
[Java] this, super  (0) 2020.04.28
[Java] 데이터 타입  (0) 2019.11.13
[Java] 단축키  (0) 2019.11.13
[Java] Hello Java  (0) 2019.11.13

MySQL 설치

2019. 12. 15. 03:19

- 설치파일( mysql-installer-community-5.6.45.0.msi )

- 한글설정파일( my.ini )

 

순서:

Custom을 통해서 설치하고자 하는 프로그램 선택

 

root pw: 1234

Add User: Name - javaid

              Password - javapass

 

시스템 - 고급시스템 설정 - 시스템 속성 - [고급]환경변수 - 시스템변수의 Path 편집
- C:\Program Files\MySQL\MySQL Server 5.6\bin 경로추가

 

설치확인: cmd(관리자권한) 실행 -  mysql -u root -p  (pw:1234)


project

2019. 11. 28. 17:43

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>Insert title here</title>
		
		<link href="style.css" rel="stylesheet">
	</head>
	<body>
		
		<!-- 로고 / 메뉴 -->
		<header>
			<nav>
				<h1>LOGO</h1>
				<div>
				    <ul class="nav">
				      <li>가</li>
				      <li>나</li>
				      <li>다</li>
				      <li>라</li>
				      <li>마</li>
				    </ul>
				</div>
			</nav>
		</header>
		<!-- // 로고 / 메뉴 -->
		
	</body>
</html>

[Java] 데이터 타입

2019. 11. 13. 18:21

public class Test1 {
	public static void main(String[] args){
		// * 모든 프로그램은 주기억장치(RAM)에서 실행된다.
		// 자바를 실행하기 위해서는 반드시 main()이 있어야 한다.
		
		// java Java JAva JAVA
		// java_Programming
		// javaProgramming => 카멜표기법
		// do - 예약어(x)	// DO - 사용가능
		// DO;
		// java
		// abstract
		
		// * 식별자 생성 규칙
		// 1. 첫문자를 영문자로 작성 (클래스의 경우에는 첫글자가 영대문자로 작성)
		// 2. 대소문자를 구분
		// 3. _, $ 특수기호를 사용할 수 있음
		// 4. 길이 제약은 없으며, 공백이 포함될 수 없음
		// 5. 예약어를 사용할 수 없음
		// * 해당 의미를 포함하고 있으면 좋다.
		
		// a / apple
		
		// 변수: 데이터를 저장하는 공간.
		
		// 1. 변수 선언
		// [데이터타입] 변수명;
		
		// 2. 변수 초기화
		// 변수명 = 데이터(값);
		
		// 2-1. 선언 & 초기화
		// 데이터타입 변수명 = 데이터;
		
		// 3. 변수의 사용
		// System.out.println(변수명);
		
		int number;
		// ;의 의미 => 문장의 끝
		number = 100;
		// => 변수의 초기화 (메모리 공간을 청소한다)
		System.out.println(100);
		System.out.println(number);
		
		// 데이터타입
		// 1. 기본형 타입: 8가지
		// 논리형 데이터타입: 참, 거짓 표현(true, false)
		// boolean
		boolean boolData = true;
		System.out.println(boolData);
		boolData = false;
		System.out.println(boolData);
		//boolData = TRUE; (X)
		
		// 문자형 데이터 타입: 하나의 문자만 사용가능한 타입('문자'),
		// 				  16비트 유니코드를 사용(전세계의 모든 언어표시 방법)
		//				   문자형 데이터는 기본적으로 정수형 타입이다.
		// char
		char charData = 'A';
		System.out.println("charData: " + charData);
		charData = 'G';	// 재사용 시 데이터 타입은 생략 가능
		System.out.println("charData: " + charData);
		
		// char charData = 'B';
		// -> 동일한 이름의 변수는 생성할 수 없음.
		char korData = '자';
		// 유니코드
		char uniData = '\uAC00';
		System.out.println(uniData);
		// 이스케이프 문자
		// \+u \+n \+t
		
		char numberData = 65;
		// 문자형 데이터의 기본형이 정수형이기 때문에
		// 문자와 숫자를 변경해서 사용 가능하다.
		System.out.println("numberData: " + numberData);
		
		char numberData2 = 'F' + 5;
		// F = 70, K = 75
		// 'F' + 5 => 70 + 5 => 75 => K
		System.out.println("numberData2: " + numberData2);
		
		//정수형: 2진수, 8진수, 10진수, 16진수 표현가능한 데이터 타입
		// 소수점 이하가 없는 숫자(양수, 음수, 0)
		// byte: -128 ~ 127		: 1byte 
		// short: 20000 ~ 20000	: 2byte
		// int: 억				: 4byte //기본형 타입
		// long: 가장 큰 범위		: 8byte
		
		byte byteData = -128;
		System.out.println("byteData: " + byteData);
		
		short shortData = 20000;
		int intData = 2000000000;
		long longData = 2000000000000000000L;
		// long 타입의 데이터는 항상 영문자 l/L을 사용하여 표시.
		// => 사용하지 않으면 기본형 타입으로 처리(int)

		// 	1 1 1 1 1 1 0 0
		//+	1 1 0 0 0 0 1 0
		//-----------------
		//1 1 0 1 1 1 1 1 0
		
		
		// 실수형: 소수점 이하가 존재하는 숫자
		// float: 4byte
		// double: 8byte	// 기본형 타입
		
		float floatData = 3.124f;	// f/F
		System.out.println("floatData: " + floatData);
		
		double doubleData = 3.123123123123123123123123123;	//X, d/D
		
		// 기본형 타입 8가지
		// 논리형	- boolean	- 1byte
		// 문자형	- char		- 2byte
		// 정수형	- byte		- 1byte
		//		- short		- 2byte
		//		- int		- 4byte(기본형)
		//		- long		- 8byte
		// 실수형	- float		- 4byte
		//		- double	- 8byte(기본형)
		
		// 2. 참조형 타입: 기본형 8개를 제외한 나머지 타입
		//"안녕" - 문자열	- String: 문자열 데이터 저장 - 4byte + a
		
		// *상수: 값을 변경할 수 없는 변수
		
		// final 데이터타입 상수명 = 데이터값;
		final int NUM = 100;
		System.out.println("상수: " + NUM);
		
		//num = 200; 값을 변경할 수 없음
		System.out.println("상수: " + NUM);
	}
}

' > Java' 카테고리의 다른 글

[Java] 4자리 수로 표시하기  (0) 2020.06.05
[Java] this, super  (0) 2020.04.28
[Java] GUI 창닫기  (0) 2019.12.20
[Java] 단축키  (0) 2019.11.13
[Java] Hello Java  (0) 2019.11.13

[Java] 단축키

2019. 11. 13. 18:18

// Ctrl + shift + C => 한줄짜리 주석 / 해제

// Ctrl + shift + / => 여러줄 짜리 주석

// Ctrl + shift + \ => 여러줄 짜리 주석 해제

// Ctrl + shift + F => 코드 정렬

// tab 			=>> 

// shift + tab 	<<=

' > Java' 카테고리의 다른 글

[Java] 4자리 수로 표시하기  (0) 2020.06.05
[Java] this, super  (0) 2020.04.28
[Java] GUI 창닫기  (0) 2019.12.20
[Java] 데이터 타입  (0) 2019.11.13
[Java] Hello Java  (0) 2019.11.13

+ Recent posts