Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Art Institute of Chicago Official Mobile App - Android

License

NotificationsYou must be signed in to change notification settings

art-institute-of-chicago/aic-mobile-android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Art Institute of Chicago

CircleCI

Art Institute of Chicago Official Mobile App

A digital guide to the Art Institute of Chicago. Built with Kotlin 1.xfor Android.

Please seethis pagefor the iOS counterpart.

The Art Institute of Chicago app is your personal, pocket-sized guide toour collection. The mobile experience offers high-quality audiostorytelling, letting the art speak to you. The Art Institute offersnearly a million square feet to explore—the Official Mobile App will beyour guide.

Note that the codebase is young, and under heavy development. It mightchange significantly before the first official release. Nevertheless, wewelcome suggestions and contributions from outside parties.

License

This codebase is licensed under the GNU Affero General Public License v3as defined in thetop-level LICENSE file. We make heavy useof the Android support libraries and the Kotlin programming language -our modifications to those, if any, are also licensed under the AGPL,unless otherwise indicated.

The following modules use proprietary APIs:

  • Themap module includes Google's "GoogleMap" and "LatLng"classes.
  • Theanalytics module connects to Google Analytics

Project architecture

The source code is organized into multipleGradle modules, each of which is containedwithin a top-level directory. A full list of such modules can be foundinthesettings.gradle config file.

The project maintains an overview of the more interesting modules inMODULES.md.

How to Build

This project should build perfectly as is using the standard buildcommands, but is unlikely to function properly without key attributesdefined in the build process.

Details below:

In .circleci/ you will find aconfig.yml which controls our circle cibuild process.

./gradlewassembleDebugassembleRelease

Environment Variables

There is one hidden aspect of the build process not available for publicconsumption which is the keystore and keys used in the app. Due toinfrastructure difference between our public build server and release ofthe app we handle injecting these variables into our build process byusing the methodenvVariable(key, isRelease) within the gradle files.

This function loads all the appropriate values for the keys from one ofthree places depending on where you define them. You can see the fullset of values needed inenv.sample.

These values are loaded from one of the following sources, listed herein decreasing order of priority:

  • release.env or debug.env (Deployments use this model)
  • local.properties (Development uses this model primarily)
  • environment variables (Circle CI, uses this model)

Sample (added for reference as well)

blob_url=default_buy_url=member_validation_url=member_validation_token=fb_project_id=fb_application_id=fb_api_key=fb_storage_bucket=ga_tracking_id=gcm_sender_id=google_maps_api_key=keystore=keystore_password=keystore_alias=keystore_alias_password=

Bundling App Data as JSON (debug builds only)

As a special case, ifblob_url is not defined or is not a stringstarting withhttps://, the app can run in a reduced capacity. Thisfeature is intended fordebug configurations only and thus doesnothing in release builds.

If a JSON file

  1. was present in eitherdb/src/main/assets/ ordb/src/debug/assets/at build time
  2. had the nameapp-data-v3.jsonand
  3. conforms to the expected format ofArticAppData

then the content of that JSON file will overwrite whatever content iscurrently in the database.


[8]ページ先頭

©2009-2025 Movatter.jp