설치
Eclipse/Eclipse 사용법[ 참고 ] http://androiddev.tistory.com/381
'Eclipse > Eclipse 사용법' 카테고리의 다른 글
이클립스 프로젝트 복사해서 사용하기 (1) | 2018.05.02 |
---|
[ 참고 ] http://androiddev.tistory.com/381
이클립스 프로젝트 복사해서 사용하기 (1) | 2018.05.02 |
---|
[참고] https://blog.naver.com/websearch/220830134106
- strings.xml 과 google-services.json 에 아래 내용을 추가
Eclipse Project > res > values > strings.xml 을 열어, 아래 내용을 추가.
<string name="default_web_client_id" translatable="false"></string>
<string name="firebase_database_url" translatable="false"></string>
<string name="gcm_defaultSenderId" translatable="false"></string>
<string name="google_api_key" translatable="false"></string>
<string name="google_app_id" translatable="false"></string>
<string name="google_storage_bucket" translatable="false"></string>
- Firebase 에서 google-services.json 파일을 다운로드 받아 아래 내용을 추가
(Firebase 로그인후, 앱을 선택한 다음, 기어아이콘.Project Setting 를 누르면 다운로드 받을 수 있다.)
- 왼쪽이 strings.xml 파일의 name 이고 오른쪽이 google-services.json 파일의 항목을 의미한다.
* default_web_client_id : client -> oauth_client -> client_id
* firebase_database_url : project_info -> firebase_url
* gcm_defaultSenderId : project_info -> project_number
* google_api_key : client -> api_key -> current_key
* google_app_id : client -> client_info -> mobilesdk_app_id
* google_storage_bucket : project_info -> storage_bucket
- AndroidManifest.xml 을 수정.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.namespace.project"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-sdk
android:minSdkVersion="17"
android:targetSdkVersion="21" />
<!-- FCM Message Receive Permission.Begin -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<permission android:name="com.testfcm.permission.C2D_MESSAGE" android:protectionLevel="signature"/>
<uses-permission android:name="com.testfcm.permission.C2D_MESSAGE"/>
<!-- FCM Message Receive Permission.End -->
<application
android:allowBackup="true"
android:icon="@drawable/logo"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.namespace.project.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- FCM Message/ID Receive Service.Below Application Tag.BEGIN -->
<service android:name=".FCMService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name=".FCMIDService" >
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<!-- FCM Message/ID Receive Service.Below Application Tag.END -->
<!-- FCM Receiver.BEGIN -->
<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
<action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
<category android:name="com.namespace.project"/>
</intent-filter>
</receiver>
<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver"
android:exported="false" >
<intent-filter android:priority="-500">
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</receiver>
<!-- FCM Receiver.END -->
<!-- FCM Provider.BEGIN -->
<provider
android:authorities="com.com.namespace.proejct.firebaseinitprovider"
android:name="com.google.firebase.provider.FirebaseInitProvider"
android:exported="false"
android:initOrder="100" />
<!-- FCM Provider.END -->
</application>
</manifest>
이클립스에 FIrebase Jar 추가하기 (0) | 2018.05.04 |
---|---|
5. 이클립스에 FCM Jar 설치하는 방법 (0) | 2018.04.30 |
4. 이클립스 + FCM (0) | 2018.04.26 |
3. App 에 등록 (0) | 2018.04.26 |
2. FireBase 에서 프로젝트 만들기 (0) | 2018.04.26 |
1. 이클립스에서 Android SDK Manager 프로그램을 실행한다.
2. Extras 에 Google Repository 체크후, Install XX Packages 클릭한다.
3.Android SDK Manager 설치 폴더아래 "extras\google\m2repository\com\google\firebase\firebase-messaging\최신버전" 으로 이동한다.
4. firebase-messaging-XX.X.X.aar 을 firebase-messaging-XX.X.X.zip 으로 복사한다.
5.복사한 zip 안에 classes.jar 가 있는데, 이 파일을 zip 밖으로 빼낸다.
6. firebase-common-9.6.1.jar 와 firebase-iid-9.6.1.jar 도 같은 작업을 반복 한다.
이클립스에 FIrebase Jar 추가하기 (0) | 2018.05.04 |
---|---|
6. 추가 설정 (0) | 2018.05.02 |
4. 이클립스 + FCM (0) | 2018.04.26 |
3. App 에 등록 (0) | 2018.04.26 |
2. FireBase 에서 프로젝트 만들기 (0) | 2018.04.26 |
이클립스에서 FCM 기반 앱 개발하기 위한 준비 사항.
1. 안드로이드 앱 프로젝트를 시작한다.
2. FCM 라이브러리를 이클립스에 설치한다.
http://storycode.tistory.com/13 참조
3. google-play-serivces_lib 프로젝트를 import 한다.
- SDK Manager 에서 최신 버전을 설치하면 google-play-serivces_lib 프로젝트가 존재하지 않는 것 같다.
- 그래서, 아래의 포스트에서 google-play-services_lib 프로젝트를 다운로드 받아서 import 한다.
* http://blog.naver.com/websearch/220830144941
- google-play-services_lib 프로젝트를 import 하는 이유는 firebase 에서 google-play-service 를 필요로 하고 해당 R 클래스도 필요로 하기 때문이다.
- import 한 google-play-services_lib 를 FCM 앱의 라이브러리로 포함시킨다.
4. FCM 을 위한 google-services.json 파일 다운로드 및 적용
8. FCM 메시지 이벤트 수신
- FCM 메시지 이벤트 수신을 위한 서비스를 개발한다. 클래스 이름은 AndroidManifest.xml 에 기술한 이름과 동일해야 한다.
public class FCMService extends com.google.firebase.messaging.FirebaseMessagingService
{
private static final String LOG_TAG = "FCMService";
@Override
@WorkerThread
public void onMessageReceived( RemoteMessage arg0 )
{
super.onMessageReceived( arg0 );
Map<String,String> clsData = arg0.getData( );
for( Map.Entry<String, String> it : clsData.entrySet( ) )
{
Log.d( LOG_TAG, "key(" + it.getKey( ) + ") value(" + it.getValue( ) + ")" );
}
Notification clsNotification = arg0.getNotification( );
if( clsNotification != null )
{
Log.d( LOG_TAG, "notification body(" + clsNotification.getBody( ) + ")" );
}
}
}
[출처] [안드로이드] 이클립스에서 FCM 기반 앱 개발 방법|작성자 까미유
[추가정보1]
3. google-play-serivces_lib 프로젝트를 import 한다. 수행시
google-play-services_lib 를 단순히 Java Build Path 의 Libraries 에 추가하면
6. 추가 설정 (0) | 2018.05.02 |
---|---|
5. 이클립스에 FCM Jar 설치하는 방법 (0) | 2018.04.30 |
3. App 에 등록 (0) | 2018.04.26 |
2. FireBase 에서 프로젝트 만들기 (0) | 2018.04.26 |
1. 새 프로젝트 만들기 (0) | 2018.04.26 |
1) 생성된 App 에서 ID 확인
2) Android Studio 에 추가
6. 추가 설정 (0) | 2018.05.02 |
---|---|
5. 이클립스에 FCM Jar 설치하는 방법 (0) | 2018.04.30 |
4. 이클립스 + FCM (0) | 2018.04.26 |
2. FireBase 에서 프로젝트 만들기 (0) | 2018.04.26 |
1. 새 프로젝트 만들기 (0) | 2018.04.26 |
1) https://console.firebase.google.com/u/0/project/fir-demo-project/notification?pli=1
2) 프로젝트 추가
3) 가운데 "Add Firebase to you Android app" 을 App 생성
6. 추가 설정 (0) | 2018.05.02 |
---|---|
5. 이클립스에 FCM Jar 설치하는 방법 (0) | 2018.04.30 |
4. 이클립스 + FCM (0) | 2018.04.26 |
3. App 에 등록 (0) | 2018.04.26 |
1. 새 프로젝트 만들기 (0) | 2018.04.26 |
1) https://console.developers.google.com 에서 우측 상단에 [ + ] 을 눌러 프로젝트를 생성.
2) API 추가
3) API 키추가
6. 추가 설정 (0) | 2018.05.02 |
---|---|
5. 이클립스에 FCM Jar 설치하는 방법 (0) | 2018.04.30 |
4. 이클립스 + FCM (0) | 2018.04.26 |
3. App 에 등록 (0) | 2018.04.26 |
2. FireBase 에서 프로젝트 만들기 (0) | 2018.04.26 |
- SQLite 사이트에서 다운로드 받은뒤 참조에 추가하는 방식으로는, 버전이 맞지 않다고 오류를 계속 내뱉음.
- 다른 방식으로 Visual Studio 에서 "메뉴> 보기 > 다른창 > 패키지관리자콘솔" 실행후,
"Install-Package System.Data.SQLite -Version 1.0.106" 명령 실행하면 설치됨
이 경우 Any CPU 를 64bit, 32bit 하나 정해야 하는 듯 하며, 두가지 버전으로 배포해야 할 듯 함.
VisualStudioCode에서 개발을 위한 설정 (0) | 2021.05.26 |
---|---|
Install 을 위한 셋업파일 만들기 (0) | 2019.07.30 |
실행시 관리자 권한창 띄우기 (0) | 2017.07.26 |
방 배정하기
정보 중학교 3학년 남학생들은 단체로 2박 3일 수학여행을 가기로 했다. 학생 들이 묵을 숙소에는 방의 정원(방 안에 있는 침대 수)을 기준으로 세 종류의 방이 있으며, 같은 종류의 방들이 여러 개 있다. 정보 중학교에서는 학생들에게 이 방들을 배정하되, 배정된 모든 방에 빈 침대가 없도록 하고자 한다.
예를 들어, 방의 종류가 5인실, 9인실, 12인실이고 3학년 남학생 전체가 113명 이라면, 5인실 4개, 9인실 5개, 12인실 4 개를 예약하면 각 방에 남는 침대 없이 배정이 가능하다. 또한 12인실은 사용하 지 않고 5인실 10개와 9인실 7개만 사 용하는 것도 가능하다. 그러나 방의 종 류가 3인실, 6인실, 9인실이고 3학년 남 학생 전체가 112명이라면 빈 침대 없이 방을 배정하는 것은 불가능하다.
방의 정원을 나타내는 서로 다른 세 자 연수와 전체 학생 수를 나타내는 자연 수 하나가 주어졌을 때, 배정된 모든 방 에 빈 침대가 없도록 방 배정이 가능한 지를 결정하는 프로그램을 작성하시오. 단, 세 종류의 방은 모두 충분한 개수가 있다고 가정하며, 위의 예에서와 같이 세 종류의 방을 모두 활용하지 않고 한 종류 또는 두 종류의 방만 이용하여 배 정하는 것도 허용한다.
소스파일의 이름은 room.c 또는 room.cpp를 권장하지만, 서버에 제출하는 데는 다른 이름도 상관없다.
입력 형식 표준
입력으로 방의 정원을 나타내는 서로 다른 세 자연수 A, B, C (1 ≤ A < B < C ≤ 50) 와 전체 학생 수를 나타내는 자연수 N (1 ≤ N ≤ 300)이 공백으로 분리되어 한 줄에 주어진다.
출력 형식
빈 침대 없이 배정이 가능할 경우 표준 출력으로 1을, 불가능할 경우 0을 출력한다.
부분문제의 제약 조건
● 부분문제 1: 전체 점수 100점 중 3점에 해당 하며 입력 예시로 주어진 입력만 존재한다.
● 부분문제 2: 전체 점수 100점 중 5점에 해당 하며 이다.
● 부분문제 3: 전체 점수 100점 중 14점에 해 당하며 는 의 배수이다.
● 부분문제 4: 전체 점수 100점 중 78점에 해 당하며 원래의 제약조건 이외에 아무 제약조 건이 없다.
입력과 출력의 예
추가할 코드는 아래와 같습니다.
if (IsAdministrator() == false)
{
try
{
ProcessStartInfo procInfo = new ProcessStartInfo();
procInfo.UseShellExecute = true;
procInfo.FileName = Application.ExecutablePath;
procInfo.WorkingDirectory = Environment.CurrentDirectory;
procInfo.Verb = "runas";
Process.Start(procInfo);
}
catch (Exception ex)
{
}
return;
}
위 코드 추가후 실행하시면,
관리자 권한 상승여부를 묻는 팝업이 나타나게 됩니다.
VisualStudioCode에서 개발을 위한 설정 (0) | 2021.05.26 |
---|---|
Install 을 위한 셋업파일 만들기 (0) | 2019.07.30 |
SQLite 설치 (0) | 2017.12.26 |