일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- UML
- C# IO
- WebView
- Android
- 자동 생성
- chart.js
- dovecot
- php 취약점
- 설치
- 자바스크립트
- mysql
- 안드로이드
- curl
- soundpool
- 안드로이드 푸쉬
- android 효과음
- 안드로이드 푸시
- xe
- C#
- html5
- php 시큐어코딩
- 폼메일
- roundcube
- 안드로이드 gcm
- javascript
- PHP
- Mail Server
- FCM
- not working
- 우분투
- Today
- Total
목록분류 전체보기 (496)
그러냐
간단하게 Activity stack 처리하는 방법 (Android)Activity를 그냥 intent생성해서 만들면 계속해서 새로 Activity를 start하고 스택으로 쌓이는 문제가 발생한다. 예를 들어서 A, B, C Activity를 A->B->C->A->C->B로 이동하고 뒤로가기를 누르면 다시 화면이 B->C->A->C->B->A 순으로 왔던 순서 반대로 나타난다. 그래서 뜨면 안될 화면도 뜨게 된다. (*회원가입 화면이 그대로 다시뜬다던가 삭제한 화면이 뜬다던가 등) 혹은 그냥 다시 뒤로가면 되는 화면인데 새로운 화면을 만들어서 그 위에 쌓아나간다. 여기서 생기는 두가지 문제, 1. 접근해선 안되는 이전화면으로 돌아가버린다. 2. 굳이 이전 화면의 Activity를 새로 생성해서 위에 쌓는다..
리스트뷰 더 보기 기능을 한눈에 알기 쉽게 설명하여 포스팅을 긁어왔다참고. 출처 : http://theeye.pe.kr/archives/1287[Android] 동적으로 다음페이지를 로딩하는 ListView 구현6 Comments아이폰의 수많은 UITableView를 활용하는 어플리케이션을 보면 참 퀄리티 높게 잘 만든것이 자동으로 리스트의 가장 아래로 내려가면 알아서 다음페이지를 로딩하는 기능이 아닐까 싶습니다. 안드로이드에서도 요즘은 많은 어플리케이션이 해당 기능을 구현하고 있습니다. 안드로이드에서는 리스트뷰와 데이터간에 Adapter라는 디자인패턴을 활용하고 있어 아이폰의 그것과는 같은 기능이라도 구현하는 방식이 다릅니다.안드로이드에서는 좀 더 적극적으로 Adapter를 활용하여 이 기능을 구현해야..
[Android] RecyclerView 의 최상단과 최하단 스크롤 이벤트 감지하기RecyclerView 를 사용하다 보면 가끔 최상단과 최하단의 이벤트 감지가 필요하다(특히 채팅방에서의 예전채팅을 가져온다거나 포스팅의 다음 포스팅 로딩 처럼 페이징 로딩 처리시에 필요하다)예전 ListView 시절부터 이런 문제는 보통(구글링하면 첫페이지에 나오는 자료들)int visibleItemCount = layoutManager.getChildCount(); int totalItemCount = layoutManager.getItemCount(); int pastVisibleItems = layoutManager.findFirstCompletelyVisibleItemPosition(); if(pastVisible..
요즘 많은 어플리케이션을 사용하다보면, 사용자간의 소통을 위한 기능으로 채팅기능을 제공하고 있습니다. 실제로 현업에서 개발을 진행하다보면 채팅은 필수기능으로 꼽힐 정도로 사용자의 니즈가 많은 것 같습니다.최근들어 제가 속해 있는 스타트업에서는, 채팅기능에 대한 사용자의 피드백과 필요성을 많이 느끼고 있음을 알고, 개발팀에서는 실제 본격적인 개발에 들어가기에 앞서, 채팅기능에 대한 검토와 프로토타이핑을 진행하고 있습니다.요즘은 기술이 많이 발전하여 채팅을 구현한다고하면 socket통신 / mqtt / xmpp 등 많은 기술스택을 생각할 수 있지만, 저희는 현재 node.js를 이용하여 back-end를 개발해왔으며, npm의 module중 socket통신과 관련된 유명한 module인 socket.io를 ..
서버쪽이 이미 구성되어 있다는 가정으로 정리한 코드이다.일단 안드로이드 스튜디오에서 socket.io 를 추가한다. 모듈로 추가하는 방법은 http://naminsik.com/blog/3640여기에 써 놓았다. 그럼 본격적으로 코드를 작성한다.AndroidManifest.xml 안에 안에 아래 코드를 넣어준다.1아래 코드들을 MainActivity.java 에 작성하는 코드이다. 상단에 임포트 코드를 넣어준다.123import com.github.nkzawa.emitter.Emitter;import com.github.nkzawa.socketio.client.IO;import com.github.nkzawa.socketio.client.Socket;그런 후에 public class MainActivity..
안드로이드/Android Cursor를 이용한 DB 데이터 사용 하기 ~ ! 안드로이드에서는 DB에서 가져온 데이터를 쉽게 처리하기 위해서 Cursor 라는 인터페이스를 제공해 줍니다. Cursor는 기본적으로 DB에서 값을 가져와서 마치 실제 Table의 한 행(Row), 한 행(Row) 을 참조하는 것 처럼 사용 할 수 있게 해 줍니다. 개발자는 마치 그 행(Row) 을 가지고 행(Row)에 있는 데이터를 가져다가 쓰는 것 처럼 사용하면 되는 편의성을 제공받게 됩니다. 1) 기본적인 DB 필드 구조. Cursor는 SQLiteDatabase 에서 얻어오 실제 DB 값을 가지고 마치 테이블의 행(Row)를 하나하나 이동하며 참조하는듯 Data를 처리해 줍니다. 실제 Cursor의 동작은 이렇게 동작한다..
Spinner area1 = (Spinner) findViewById(R.id.wish_area1); ArrayAdapter myAdap = (ArrayAdapter) area1.getAdapter(); int spinnerPosition = myAdap.getPosition(area_args[0]); area1.setSelection(spinnerPosition);[출처] spinner 기존출력된 값의 selected 변경시키기|작성자 멋쟁이
안드로이드 팝업메뉴( PopupMenu ) 사용 예제 1. 팝업메뉴 생성 PopupMenu( 현재 화면의 제어권자, 팝읍을 뛰울 기준좌표 위젯); 2. menu 리소스에서 메뉴 불러오기 : getMenuInflater().inflate(R.menu.menu_main, p.getMenu()) 3. PopupMenu.setOnMenuItemClickListener() 에서 onMenuItemClick() 오버라이딩 4. PopupMenu.show() 로 화면에 띄우기 [메인 액티비티 소스]123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354public class MainActivity..
이런식으로 써줘야 동적으로 뷰를 추가한 레이아웃에도 스크롤이 끝까지 내려간다.scrollViewName.fullScroll(ScrollView.FOCUS_DOWN); 이부분 한줄만 사용한다면 뷰가 추가되기전의 영역까지만 스크롤이 내려간다. 그렇기 때문에 동적으로 스크롤의 끝이 변할때는 아래와 같이 사용해줘야 한다. public void scrollDown(){ scrollViewName.post(new Runnable() { @Override public void run() { scrollViewName.fullScroll(ScrollView.FOCUS_DOWN); } }); } 출처: http://debugdaldal.tistory.com/118 [달달한 디버깅]
출 처 : https://code.i-harness.com/ko-kr/q/14de488 Jaskey의 요청에 따라 누락 된 포인트를 추가하려면 여기를 클릭하십시오.데이터베이스 버전은 SQLite 데이터베이스 파일에 저장됩니다.catch는 생성자입니다.SQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) 따라서 데이터베이스 헬퍼 생성자가 name (두 번째 매개 변수)과 함께 호출되면 플랫폼은 데이터베이스가 존재하는지 여부를 확인하고 데이터베이스가 존재하면 데이터베이스 파일 헤더에서 버전 정보를 가져 와서 올바른 콜백을 트리거합니다이전 답변에서 이미 설명한 것처럼 이름이있는 데이터베이스..