광고 수익은 기아대책 서울본부에 기부합니다.

2014.01.27 16:16 안드로이드/참고

안드로이드 SMS 어플 공개 소스 입니다.

http://www.androes.com/69

저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone
2013.06.20 17:53 안드로이드/참고

 안드로이드 프로젝트 생성

 

 

 

 

Application Name : App 의 이름으로 설정된다.

Project Name : 지정한 이름으로 프로젝트 폴더및 파일들이 생성된다.

Package Name : 패키지의 이름을 지정한다. 클래스 파일들이 저장될 폴더 경로 (com.townone.Lens 로 설정하면 com.townone.Lens 에 저장된다.)

  - import com.townone.lens.util.SystemUiHider; 이와 같이 사용하여 클래스 이름이 같을때 중복을 피할 수 있다.

Minimum Required SDK : App 이 실행되는 장치의 최소 SDK 버전이다.

Target SDK : 지정된 SDK 버전의 디자인과 기능을 이용하여 App 를 개발한다.

Compile With : 지정된 SDK 버전의 컴파일러를 이용하여 App 를 개발한다.

Theme : 전체적인 스타일을 지정한다.

 

 

 

 

 

저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone
2013.06.20 17:31 안드로이드/참고

 Windows 에서 eclipse 로 안드로이드 개발할때 오류메시지(The connection to adb is down, and a severe error has occured.) 발생시 처리

먼저 bluestack 서비스를 죽인다. 가상 디바이스 삭제하고, adb kill-server, adb start-server 순서대로 명령창에서 실행 한다.

저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone
2013.03.09 00:38 안드로이드/참고

MTP 디바이스 연결 안될때 MTP 드라이버 직접 잡기

 

장치 관리자에서 해당 디바이스의 속성 페이지로 들어가 드라이버 업데이트를 클릭합니다.

 

1. 컴퓨터에서 드라이버 소프트 웨어 찾아보기를 선택

2. 컴퓨터의 장치 드라이버 목록에서 직접 선택

3. "휴대용 장치" 선택

4. "(표준 MTP 장치)" 선택

 

이렇게 해주면 자동으로 잡지 못해서 생긴 문제는 해결 됩니다.

저작자 표시 비영리 동일 조건 변경 허락
신고
posted by Town One townone
2011.12.09 17:13 안드로이드/참고

1>c:\program files (x86)\microsoft visual studio 9.0\vc\atlmfc\include\afxtempl.h(267) : error C2248: 'CObject::CObject' : private 멤버('CObject' 클래스에서 선언)에 액세스할 수 없습니다.
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\atlmfc\include\afx.h(561) : 'CObject::CObject' 선언을 참조하십시오.
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\atlmfc\include\afx.h(532) : 'CObject' 선언을 참조하십시오.
1>        이 진단은 컴파일러 생성 함수 'CArray<TYPE,ARG_TYPE>::CArray(const CArray<TYPE,ARG_TYPE> &)'에서 수행되었습니다.
1>        with
1>        [
1>            TYPE=CSong,
1>            ARG_TYPE=CSong &
1>        ]

위와 같은 오류가 날때 확인 해야 할 사항
* 복사 생성자를 구현 해줬는가?

먼저 CObject::CObject 를 확인 해보자


/////////////////////////////////////////////////////////////////////////////
// class CObject is the root of all compliant objects

class AFX_NOVTABLE CObject
{
public:

// Object model (types, destruction, allocation)
 virtual CRuntimeClass* GetRuntimeClass() const;
 virtual ~CObject() = 0;  // virtual destructors are necessary

 // Diagnostic allocations
 void* PASCAL operator new(size_t nSize);
 void* PASCAL operator new(size_t, void* p);
 void PASCAL operator delete(void* p);
#if _MSC_VER >= 1200
 void PASCAL operator delete(void* p, void* pPlace);
#endif

#if defined(_DEBUG) && !defined(_AFX_NO_DEBUG_CRT)
 // for file name/line number tracking using DEBUG_NEW
 void* PASCAL operator new(size_t nSize, LPCSTR lpszFileName, int nLine);
#if _MSC_VER >= 1200
 void PASCAL operator delete(void *p, LPCSTR lpszFileName, int nLine);
#endif
#endif

 // Disable the copy constructor and assignment by default so you will get
 //   compiler errors instead of unexpected behaviour if you pass objects
 //   by value or assign objects.
protected:
 CObject();
private:
 CObject(const CObject& objectSrc);              // no implementation
 void operator=(const CObject& objectSrc);       // no implementation

// Attributes
public:
 BOOL IsSerializable() const;
 BOOL IsKindOf(const CRuntimeClass* pClass) const;

// Overridables
 virtual void Serialize(CArchive& ar);

#if defined(_DEBUG) || defined(_AFXDLL)
 // Diagnostic Support
 virtual void AssertValid() const;
 virtual void Dump(CDumpContext& dc) const;
#endif

// Implementation
public:
 static const CRuntimeClass classCObject;
#ifdef _AFXDLL
 static CRuntimeClass* PASCAL _GetBaseClass();
 static CRuntimeClass* PASCAL GetThisClass();
#endif
};

위와 같이 private 으로 선언되어 있다. 그럼 클래스를 어떻게 선언 했는지 보자

/////////////////////////////////////////////////////////////////////////////
// CSong
class CSong
{
 // Construction
public:
 CSong()
 {
  strSongID  = _T("");
  strTitle  = _T("");
 }

    CSong( const CSong &s )
 {
  *this = s;
 }

 const CSong& operator=(const CSong& src)
 {
  strSongID  = src.strSongID;
  strTitle  = src.strTitle;

  return *this;
 }

 // Attributes
public:
 CString    strSongID;  // Song ID
 CString    strTitle;  // Song title

 // Operations
public:
 virtual CSong* Clone()
 {
  CSong* pInfo = new CSong;
  *pInfo = *this;
  return pInfo;
 }

 virtual void Clear()
 {
  strSongID  = _T("");
  strTitle  = _T("");
 }
};

/////////////////////////////////////////////////////////////////////////////
// CSongList

class CSongList
{
 // Construction
public:
 CSongList() {}

 const CSongList& operator=(const CSongList& src)
 {
  songList.Copy(src.songList);

  return *this;
 }

 // Attributes
public:
 CArray<CSong, CSong&> songList;

 // Operations
public:
 virtual CSongList* Clone()
 {
  CSongList* pInfo = new CSongList;
  *pInfo = *this;
  return pInfo;
 }

 virtual void Clear()
 {
  songList.RemoveAll();
 }
};

CSongList 에 복사 생성자가 없다.
구현 해보자

/////////////////////////////////////////////////////////////////////////////
// CSongList

class CSongList
{
 // Construction
public:
 CSongList() {}

    CSongList( const CSongList &s )
 {
  *this = s;
 }

 const CSongList& operator=(const CSongList& src)
 {
  songList.Copy(src.songList);

  return *this;
 }

 // Attributes
public:
 CArray<CSong, CSong&> songList;

 // Operations
public:
 virtual CSongList* Clone()
 {
  CSongList* pInfo = new CSongList;
  *pInfo = *this;
  return pInfo;
 }

 virtual void Clear()
 {
  songList.RemoveAll();
 }
};

오류가 해결 되었다.

신고
posted by Town One townone

티스토리 툴바