아래와 같은 예제를 통해 Android에서 Choreographer를 사용하면 60fps일때 매 프레임 16.66ms마다 callback을 받을수 있다. class MainActivity : AppCompatActivity(), Choreographer.FrameCallback { lateinit var time: TextView lateinit var choreographer: Choreographer private val format = SimpleDateFormat("mm:ss.SSS", Locale.US) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.lay..
Java HashTable 을 구현해 보았다. Key 충돌 알고리즘은 Chaining 리스트를 통해서 해결했다. package com.study; import java.util.LinkedList; class HashTable { LinkedList[] data; public HashTable(int size) { this.data = new LinkedList[size]; } int getHashCode(String key) { int hashCode = 0; for(char c : key.toCharArray()) { hashCode += c; } return hashCode; } int convertToIndex(int hashCode) { return hashCode % data.length; }..
안드로이드에서 Google Drive API를 사용하는 예제이다.구글에서 제공하는 예제넌 quick-start로서 해당 앱의 정보만 업로드하는 기능이고, 사용자의 전체 구글 드라이브의 정보를 리스팅하고 받아오지는 못한다.우리는 사용자가 기존에 저장해 두었던 정보를 리스팅해 볼것이다. 아래의 페이지에서 사용할 package name과 keystore의 sha-1 키를 등록하자.https://developers.google.com/drive/android/get-started 그리고 다음과 같이 소스코드를 구현한다. 단 package name은 위에서 등록한 package name이어야 한다.public class MainActivity extends AppCompatActivity { private sta..
var request = require('request'); var url = 'https://fcm.googleapis.com/fcm/send';var apikey = 'AAAA3WrrgCQ:APA91bHQnxgfAP4hurrF3OyBGla-oU3IO3cU9L6BmAvlmm1Ifbm130tTCqttTU2nJiOI4Q5_0-mdz5ht-d_6hLTW9XqvE1TDfIHTYOhsHipFNjwDNnKNRoKl7gnztok2_ZJC45j2k???'; //fcmvar token = 'dJvWJi4Kwss:APA91bGyIma2jGAXvAGV75zlEhY9fo8ev0QFUevFy5tIY6aazHQIImHUdOkuMdzWESGUgjULB2Swy-o4Q07k_37PqZ8-9WXqE1gwko4Z2v3Mw55PjR1qB..
var request = require('request'); // 둘다 사용가능 //var url = 'https://gcm-http.googleapis.com/gcm/send';var url = 'https://android.googleapis.com/gcm/send'; var apikey = 'AIzaSyAIwJr4nbF7jcDu9DUt4OdyTB_vEW3j???'; // project server key 1 (OK)var regId='cTUTljnS8XQ:APA91bF-Cv2MWOXHWF2nTBR8UdyxSMcWw6CJceEb7dVEj1r9MaevYbExzPkXDZLUDYuIJKXk-N83BN9x6yt6ZXEFGRJNEh7OW6qm4mw4jx-O9khNevsnPL71cOsiedqWdYmnux_rp?..
echo "start";// 로그인 체크하는 부분session_start();if(!isset($_SESSION['user_id']) || !isset($_SESSION['user_name'])) { echo ""; exit;}echo "session ok";// 변수 받아오기$msg = $_POST["msg"];echo "msg=[".$msg."]";// DB 시작include "config.php";// 루프 돌아서 gcm을 보내자// 한번에 1000개 까지 보낼수 있다// 헤더 설정$headers = array( 'Content-Type:application/json', // 이거는 구글 api에서 browser로 생성한 키를 입력 'Authorization:key=AI..
Java에서 MySQL을 연동할때 JDBC로 연동을 하느냐, 아니면 MySQL connector로 직접 연동을 하느냐 고민이 많았다. 결론적으로는 JDBC는 MySQL connector library jar가 필요하고 두가지는 똑같다고 할수 있다. 윈도우에서 ODBC냐 아니냐와는 다른 문제였다. 아무튼 다음과 같이 코드를 작성하고 리눅스 서버 콘솔에서 테스트 하면 Java에서 MySQL을 연결할수 있는지 테스트를 할수 있다. MySQL connector가 없으면 ClassNotFoundException이 발생하며, 기타 DB관련 문제는 SQLException이 발생한다. import java.sql.*; /* javac MySQLTest.java java -classpath .:./mysql-connec..
- Total
- Today
- Yesterday