2014-04-07 4 views
-4

나는 제대로 작동하는 변호사를위한 작은 앱이 있습니다. 하지만 이제는 (브라질에서) 법원 데이터 통합을 구현하고 싶습니다.모듈 형 Android 앱 개발

불행히도 우리 법원은 모든 종류의 API를 제공하지 않으므로 정보를 얻기 위해 일부 페이지 크롤링을 수행해야합니다.

각 주마다 필자는 다른 라이브러리를 개발해야하며 별도의 모듈을 개발하여 사용자가 작업하는 국가의 모듈 만 설치해야한다고합니다. 이렇게하면 한 법원 다른 사용자에게 영향을 미치지 않고 사이트 레이아웃을 변경합니다.

즉 사용자가 주 프로그램을 다운로드합니다 (모든 사용자에게 동일). "Rio de Janeiro"사용자가 "Rio de Janeiro"전용 크롤러를 다운로드하므로 "Sao Paulo"크롤러 만 다운로드하는 사용자도 "Sao Paulo"에서 다운로드합니다.

Windows 개발 플랫폼에서 일부 DLL을 개발하면 작업이 완료되지만 Android에서이 작업을 수행하는 방법을 정확히 알지 못합니다. 나는 각 주마다 differente "app"을 개발해야 할 필요가 있음을 알고 있지만, 어떤 모듈이 설치되어 있고 모듈 기능을 호출하는 것이 가장 중요한지 어떻게 확인할 수 있습니까?

그래서 모듈 개발 및 기본 앱과의 통합 방법에 대한 기본적인 지침이 필요합니다.

답변

3
나는 다른 라이브러리를 개발해야하는 국가의 경우

, 그리고는 사용자가 작동 국가에 대해서만 모듈을 설치해야하므로 별도의 모듈을 개발하고 싶습니다.

심각한 것 같아 일부 소수의 코드에만 과도한 사용이 필요하며, 각각은 몇 줄의 전용 코드를 필요로합니다.

는 어떻게 모듈을 사용 PackageManager

을 설치하는 확인할 수 있습니다. 예를 들어 call getInstalledPackages() 일 수 있으며 패키지 이름이 사전 정의 된 패턴 (예 : com.klamarth.brcourt.state.*)과 일치하는 패키지 이름을 검색 할 수 있습니다.

모듈 기능을 호출하는 방법은 무엇입니까?

그렇지 않습니다. '모듈'은 일부 Android 구성 요소 (예 : 서비스)를 내 보내야하며, 기본 앱은 해당 구성 요소와 통신 할 수 있습니다. 어떤 구성 요소 (활동, 서비스, 콘텐츠 제공 업체 또는 브로드 캐스트 수신기)는 모듈이 수행하는 작업과 사용자가 모듈과 상호 작용하는 방식에 따라 결정됩니다.

+0

멋진데, 지금은 콘텐츠 제공 업체에 대해 읽고 있는데, 가장 좋은 선택 인 것 같습니다. 그리고 getInstalledPackages가 내 다른 문제를 해결할 것이다. 페이지의 크롤링이 매우 간단하므로 일부 "테이블"요소를 탐색하고 두 개의 열 콘텐츠를 얻으므로 코드 양에 관해서는 실제 문제가되지 않습니다. 다른 솔루션은 모든 사용자에 대해 작업을 수행 할 수있는 서버 서비스를 만드는 것입니다. 그러나 앱은 무료이며 지금은 돈을 쓸 계획이 아닙니다. 고마워요! 이제는 계속 개발할 수 있습니다 :) – oleonardomachado

+0

@klamarth : "페이지의 크롤링이 매우 간단하고 일부"테이블 "요소를 트래버스하고 두 개의 열 내용을 가져올 수 있기 때문에 - 내 요점은 설정하는 모든 작업을 진행한다는 것입니다. 이런 종류의 플러그인 시스템은 과잉이다. 메인 애플리케이션에이 코드를 넣으십시오.브라질은 주를 빈번히 추가 할 가능성이 적으며 정부 웹 사이트는 자주 변경되지 않으므로 주 앱에 모든 정보를 넣으면 사용자와 사용자의 복잡성이 줄어 듭니다. – CommonsWare

+0

당신 말이 맞아요. 어쩌면 모든 APC에 모든 주를 둘 수 있습니다. 나는 배치 할 모든 법원을 개발할 때까지 기다릴 수 없기 때문에 주 앱과 차별화시키고 싶다. 나는 먼저 몇 가지 (가장 중요한) 것을 개발하고 전개하고 싶다. 이렇게하면이 기능을 원하지 않는 사용자는 앱을 여러 번 업데이트하지 않아도됩니다. 모든 나라를 포괄 할 수있는 적어도 81 개의 크롤러를 개발해야합니다. 변경 사항에 대해서는 Google 정부 사이트에서 Apps에 대한 정보를 제공하지 않으며 일부는 captcha를 추가하여 더 어려워지기 때문에 때로는 디자인의 일부분을 변경합니다. :) – oleonardomachado