2014-01-11 3 views
0

내 안드로이드 응용 프로그램 용 네트워킹 라이브러리를 작성했으며 해당 라이브러리의 strings.xml 파일에 정의한 URL 값에 액세스 할 수 있기를 원합니다. 문제는 라이브러리가 액티비티 또는 프래그먼트 또는 이와 유사한 것이 아니므로 정상적인 컨텍스트 또는 일류 Android 시민이 당신을 얻을 수있는 다른 것들에 대한 액세스 권한이 없다는 것입니다. Context를 가지지 않고 값에 접근 할 수있는 방법이 있습니까 (아니면 Activities 및 Fragments의 함수 호출 중에 전달되지 않아도됩니까)?라이브러리의 strings.xml 값에 액세스하십시오.

내가 쉽게 R 클래스에 액세스 할 수 있다는 것을 알고 있지만 나에게주는 모든 것은 바이트 오프셋입니다. getString() 메소드를 사용하면 원시 바이트 영역에서 재미있는 작업을 많이하고 싶지 않으면 그 오프셋을 의미있는 것으로 바꿀 필요가 있습니다. (나는 그것을 피하고 싶다).

감사합니다.

답변

1

아니요. 수동으로 저수준 데이터를 구문 분석하는 것은 확실히 해결책이 아닙니다. 리소스 전체를 에 따라에 따라 컨텍스트 한정 (따라서 강력한 한정자 시스템)으로 검색해야하므로 방금 요청한 다른 질문에서 해당 제안을 한 것입니다. :-)

메소드 (예 : 메소드 매개 변수)를 제공하지 않으면 자원을 검색 할 수 없습니다. 라이브러리의 아키텍처를 다시 생각해 봐야 할 시점에와 있습니다. URI가 이되어야하는 이유는 무엇입니까? 라이브러리에 있다면 클라이언트 응용 프로그램은 자체 컨텍스트를 가지며 안전하게 라이브러리에 라이브러리를 제공하여 리소스를 검색 할 수 있습니다. 그것이 요점이 아니라면 (즉, 코드에서 URI에 액세스), 내가 제안한 것처럼 대신 리소스 대신 최종 정적 변수를 사용하면 안됩니다.

URI를 처리 할 때 한정자 기능을 사용할 수있는 경우가 있지만, 라이브러리에서만 사용하는 경우에는 코드에 정의 된 변수가 필요합니다.

+0

괜찮습니다. 감사! – joshlf

+0

당신을 진심으로 환영합니다. 내가 도울 수있어서 기뻐! – davidcesarino

관련 문제