카테고리 없음2025. 1. 29. 16:10

한참전에 썼던 글이 있다. 

그 후에 블로그에 물 주는 시간이 없었다.

 

상당한 기간 놔두었던 블로그 심폐소생 ( ⚠️ 오타 주의 ❗ )   ]

 

위 링크 글과는 다르게 이번에는 물리키보드를 사용한다.

또 모바일이 아닌 데스크탑에서 타자를 치는 중이다.

주어와 술어를 일치시키면서 쭉 내려갈 생각이다.

앞 글은 프로그램코드가 보기에도 많이 부끄*하다.

다시 읽지 않을 것만 같았으나 지금 포스트하기 읽어봤다.

무슨 내용으로 Blog를 채울까 생각 중이다.

일단 워밍업 부터 이 글로 시작한다.

다음 블로그는 준비운동 없이 발로 발동을 걸어볼까나.

백지를 글자로 채우려 생각나는 글을 일단 써 본다.

어떠한 내용을 더 쓸가 잠시 키보드 위에서 손가락이 멈췄다.

뜸이 필요없이 주르르륵 쳐 내려가야 맛갈 나는 글이겠다.

생각보다 손이 먼저 움직일 수 있는 주제를 찾아 볼 예정이다.

내용을 마른 수건 짜듯 손가락을 움직이고 있다.

타자를 멈춰야 할 시간이 왔다.

 

 

Posted by 코드버무려
카테고리 없음2024. 8. 8. 22:38

모바일 ㅍㅗㄴ에서 쓱씩 적어봉다.

유독 화면상 가상 키보드 타자가 손가락 실 터치와는 거리가 있다.

오타랑 맞춤법 이런 사소한 지만 아닌 사소한 요소라지만 그냥 적는다.

주어와 술어가 딱 맞아떨어지면 더욱 좋겠으나 이렇게 생각해본다.

심폐소생하는 중에 갈비뼈 몇 개가 부러지는 결과를 무시한다.

바로 위 두 문장은 한 문장으로 썼ㅇ.나 한줄 문장하려고 억지로 분리했다.

어떠한 냐용으로 블로그를 채워갈까 보다는 우선 녹슨 관절이 있다.

두 부품은 서로 붙어있으나 회전이 가능하지마누 기름칠이 필요하다.

지금처럼 막 적어가는 과정이 오일 칠하는 과정라 보면 된다.

그 와중에 버추얼 키보드가 잘 뭇 눌리는지 노타는 작열한다.

그런 작은 부분은 지긋이 눈 감고 다다다다 타자 쳐내려간다.

바로 그거 시작이 반이라고 하던가.

다음에 며칠 후가 될 지 모르지만 이 글을 보면 나도 무훗할 느낑일거.

아니 안볼거 같다.

일단 백지를 타자로 두드려서 채워는 따뜻한위로가 필요하루때다.

워밍업은 모흠지기 무슨일에서든 중요하다.

긴호흡을 사지고 할거라면 기저부터 탄탄히 필요하다.

여서 단단한 기저는 오타없고 문장이 매끄럽소 맟춤에러 없다가 아니다.

조금이리도 하루 또는 작3일 써 갈 수 있는 토대가 든든한 주춧돌이다.

이만 흰색은 백지고 검은색은 글자이누과정은 줄인다.

오늘 부터 시작이다.

Posted by 코드버무려
Android 안드로이드2017. 9. 1. 22:57

Error:Execution failed for task ':app:processDebugGoogleServices'. No matching client found for package name 'com.example.myapplication'


기존 사용했던 앱을 가져와서 패키지 리팩토링을 했다.


컴파일을 했더니 에러가 나왔고 이 해결책은.


파이어베이스 설정 페이지( https://firebase.google.com/docs/android/setup )를 참고해서 역으로 파이어배이스와 관련된 코드를 build.gradle에서 삭제했다.


추후 앱을 완성하고 파이어베이스 코드를 새로 추가한다.

Posted by 코드버무려
Android 안드로이드2017. 4. 20. 22:20

구글 클라우드 메세지

GCM(google Cloud Message)가 FCM(Firebase cloud message)로 업그레이드되었다.

푸쉬노티피케이션(Push Notification)을 구현하는 예제를 받았더니 컴파일이 안되는 사태가 벌어졌다.

안드로이드 SDK를 다시 받고 안드로이드 스튜디오를 지우고 다시 설치하고 다소 과소해서

작은 시간을 보냈다. 그래도 똑같은 에러를 뿜으면서 컴파일 초입에 에러가 나왔다.


적잖은 시간을 흘려보내고 단위는 날이다 프로젝트를 만들고 예제를 보면서 코드를 만들었다.



MoveCode4FCM.zip





Posted by 코드버무려
Android 안드로이드2017. 3. 28. 22:51

옵션메뉴를 보통 이렇게 구성한다.


기존에는 기만들어 놓은 소스를 꺼내와 압축을 풀고 해당 액티비티에서 아래 소스를 찾아 지금 진행 중인 프로젝트에 붙여넣기 했다. 


다양한 앱 제작을 진행하면서 그 형식이 대부분 바뀜없이 여기서 시작한다. 앞으로 예전 소스보다는 바로 아래에서 그대러 긁어 가져가서 진행 속도를 높이려고 한다.

@Override
public boolean onCreateOptionsMenu(Menu menu) {
if(IsDebugging) Log.d(TAG, "onCreateOptionsMenu()");
return true;
}

PackageInfo getPackageInfo() {
PackageInfo pinfo = null;
try {
pinfo = getPackageManager().getPackageInfo(getPackageName(), 0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return pinfo;
}

public boolean onPrepareOptionsMenu(Menu menu) {
if(IsDebugging) Log.d(TAG, "onPrepareOptionsMenu()");

menu.clear();
PackageInfo pinfo = getPackageInfo();
int versionCode = pinfo.versionCode;
String versionName = pinfo.versionName;

Resources res = getResources();
String text = String.format(
res.getString(R.string.about), versionName,
50 - versionCode >= 0 ? 50 - versionCode : versionCode - 50);

menu.add(0, Menu.FIRST , 0, text);
menu.add(0, Menu.FIRST +1, 0, "mIsBackButton=" +mIsBackButton);
return super.onPrepareOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(IsDebugging) Log.d(TAG, "onOptionsItemSelected()");
switch (item.getItemId()) {
case Menu.FIRST:
return true;
case Menu.FIRST + 1:
mIsBackButton = !mIsBackButton;
if(IsDebugging) Log.d(TAG, "mIsBackButton = " +mIsBackButton);
if(IsDebugging) Toast.makeText(this, "mIsBackButton = " +mIsBackButton, Toast.LENGTH_SHORT).show();
invalidateOptionsMenu();
return true;
}
return super.onOptionsItemSelected(item);
}



Posted by 코드버무려