분류 전체보기
-
[Javascript] String 날짜 다음날로 변경하기2020.03.06
-
[Javascript] 대화상자(알림창, 확인창, 질문창)2020.02.27
-
[Android]상태바 및 타이틀바 제거2020.02.26
-
[Android] 다음 지도 API2020.02.25
-
[Bootstrap] collapse2020.02.23
-
[API] 항공 API2020.02.07
-
[Javascript] 정규표현식2019.12.30
-
[Java] GUI 창닫기2019.12.20
-
MySQL 설치2019.12.15
-
project2019.11.28
[Javascript] String 날짜 다음날로 변경하기
String형태의 날짜 "20200311"에 다음날짜 값을 얻고 싶어서 +1을 할 경우에는 값이 날짜 범위를 넘어가게 된다.
그래서 String 형태의 값을 Date형태로 변환한 후 하루를 더하고 다시 String으로 변환해준다.
function datePlus(depTime) { // depTime = "20200311"
var year = depTime.substr(0,4); // 2020
var month = depTime.substr(4,2); // 03
var day = depTime.substr(6,2); // 11
var date = new Date(year, month-1, day); // Date 생성
date.setDate(date.getDate() + 1); // 다음날짜로 set
year = date.getFullYear(); // 원하는 값 변수에 저장
month = date.getMonth() + 1;
if(month<10) month = '0' + month;
date = date.getDate();
if(date<10) date = '0' + date;
return year + month + date; // 원하는 형태로 반환 "20200312"
}
function nextDay() {
var nextDate = datePlus(document.getElementById('depTime').value);
alert("nextDay() 실행!\n" + nextDate);
}
[Javascript] 대화상자(알림창, 확인창, 질문창)
/* 알림창 */
alert("알림!");
/* 확인창 */
confirm("확인!");
/* 질문창 */
prompt("질문!");
'웹 > Javascript' 카테고리의 다른 글
[JavaScript] 스크립트 내 readonly 사용 (0) | 2020.03.14 |
---|---|
[Javascript] 정규표현식 (0) | 2019.12.30 |
[Android]상태바 및 타이틀바 제거
제거하지 않은 기본화면입니다.
상태바 - 스마트폰 화면에서 시계 및 알림이 표시되는 부분
타이틀바 - 앱의 제목이 표시되는 부분
상태바(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
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
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
공공데이터포털 요청변수 및 출력결과
항공운행정보목록 조회 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] 정규표현식
//모든 공백 체크 정규식
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자로 이루어진 휴대폰번호를 생성할 수 있다.
'웹 > Javascript' 카테고리의 다른 글
[JavaScript] 스크립트 내 readonly 사용 (0) | 2020.03.14 |
---|---|
[Javascript] 대화상자(알림창, 확인창, 질문창) (0) | 2020.02.27 |
[Java] GUI 창닫기
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 설치
- 설치파일( 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
<!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>