>  Q&A  >  본문

Android代码,如何实现将本机已安装的应用进行分类,例如列出游戏类,工具类

Android代码,如何实现将本机已安装的应用进行分类,例如列出游戏类,工具类

请教各位,能否提供思路,或已有过类似开发,提供下具体实现方式。

目前已经想到:

①列出所有包名和应用名
②上传至服务器,服务器通过应用名到各大安卓市场进行模拟请求。返回相应类目


但是想到这样子效率很低,如果APP很多,速度会非常慢,匹配也很难做到100%精确。

PS:正在开发的一款工具软件,是面向国外市场。很多应用国内市场的分发渠道没有,只能通过google play 或者其他国外第三方应用分发平台。

PHP中文网PHP中文网2763일 전545

모든 응답(3)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-17 18:01:41

    안녕하세요. 이 기능을 안드로이드 측에서 구현하는 것은 어렵지 않다고 생각하는데, 서버 측에서는 어려움이 있습니다.

    Android 클라이언트 작동

    안드로이드가 해야 할 일은 기기에 설치된 App의 정보를 수집하여 서버에 업로드하고, 서버가 App의 세부 정보를 반환하는 것뿐입니다(서버를 만드는 방법은 정보를 보다 효율적으로 반환하려면 나중에 설명하겠습니다.) 그런 다음 정보를 표시합니다.

    서버측 작업

    클라이언트의 요청을 받은 후 서버가 애플리케이션 이름과 패키지 이름을 통해 주요 시장에 대한 자세한 정보만 쿼리하기 시작하면 효율성이 매우 낮습니다. 때때로, 특정 데이터를 미리 캐시하여 기본적으로 클라이언트 요청에 실시간으로 응답할 수 있습니다. 일부 앱 가격 인하 모니터링 제품에 대해 알고 계시는지 모르겠습니다. 기본적으로 같은 생각을 가지고 있습니다. 핵심은 이 크롤러 알고리즘을 어떻게 구현하느냐 하는 것입니다. 서버의 부하, 대상 서버의 크롤러 방지 전략, 캐시된 데이터의 유효 시간을 고려해야 합니다. 인기도에 따라 전략이 달라질 것입니다. 응? 그래서 저는 이 알고리즘을 개발하는 것이 전체 프로젝트의 최우선 과제라고 생각합니다.

    일부 애플리케이션에는 동일한 애플리케이션 이름이 있지만 패키지 이름이 일치하지 않을 수 있습니다. 예를 들어 국내 시장에서는 하나의 패키지 이름을 사용하지만 Google Play에는 다른 패키지 이름이 전송되는 경우도 있습니다.

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-17 18:01:41

    제가 생각할 수 있는 아이디어는 애플리케이션 패키지 이름을 가져와서 백엔드 서버에 업로드하여 분석하는 것입니다. 결국, 애플리케이션 자체에는 자신이 속한 카테고리를 기록할 수 있는 정보가 없습니다.

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-17 18:01:41

    위의 답변은 모두 매우 훌륭하며 참고자료로도 활용하실 수 있습니다. 내 대답은 비슷하다. 애플리케이션 자체에는 현재 "게임", "뉴스", "소셜" 등과 같은 식별 속성이 없습니다. 이들은 모두 동일한 애플리케이션이므로 해당 속성은 카테고리로 분류됩니다. 당신이 말한 것은 "사람", 특히 응용 프로그램 빅 데이터(예: 응용 프로그램 패키지 이름)의 인위적인 수집에 의존해야 합니다. 이 부분은 주요 응용 프로그램 스토어에서 응용 프로그램을 크롤링하기 위해 크롤링할 수 있습니다. -규모 애플리케이션 스토어 및 대부분의 애플리케이션 동일한 패키지 이름이 다른 스토어에서 유지됩니다. 그러면 그 데이터를 분류(소위 게임, SNS 등으로)하면 말은 쉽지만, 벌써 일이 커진 것 같은 느낌이 들지 않나요? 앱스토어랑 거의 똑같죠? 정말 크다고 느껴지네요. 보고된 애플리케이션이 백엔드의 해당 분류와 일치할 수 있도록 충분한 데이터가 있어야 합니다. 클라이언트의 경우 이렇게 복잡한 작업을 수행할 수 없습니다. 클라이언트는 휴대폰에 있는 애플리케이션을 검사하고 보고할 뿐이며 백엔드로부터 분류된 피드백을 받습니다. 하지만 새로 출시된 애플리케이션을 항상 분류할 수는 없습니다(또는 분류되지 않은 애플리케이션을 허용할 수도 있음)는 문제도 있습니다. 지금은 그게 제가 생각할 수 있는 전부입니다.

    회신하다
    0
  • 취소회신하다