├── Samples
├── BootCompleted
│ ├── app
│ │ ├── .gitignore
│ │ ├── libs
│ │ │ ├── sensorocloud-4.1.2.jar
│ │ │ ├── sensoro-scanner-1.0.1.jar
│ │ │ └── sensoro-beacon-kit-4.3.jar
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── res
│ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ ├── ic_sensoro.png
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── values
│ │ │ │ │ │ ├── strings.xml
│ │ │ │ │ │ ├── styles.xml
│ │ │ │ │ │ └── dimens.xml
│ │ │ │ │ ├── menu
│ │ │ │ │ │ └── menu_main.xml
│ │ │ │ │ ├── values-w820dp
│ │ │ │ │ │ └── dimens.xml
│ │ │ │ │ └── layout
│ │ │ │ │ │ └── activity_main.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── sensoro
│ │ │ │ │ │ └── bootcompleted
│ │ │ │ │ │ ├── Constant.java
│ │ │ │ │ │ ├── BootCompletedBroadcastReceiver.java
│ │ │ │ │ │ ├── MyService.java
│ │ │ │ │ │ └── MyApplication.java
│ │ │ │ └── AndroidManifest.xml
│ │ │ └── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── sensoro
│ │ │ │ └── bootcompleted
│ │ │ │ └── ApplicationTest.java
│ │ ├── proguard-rules.pro
│ │ └── build.gradle
│ ├── settings.gradle
│ ├── .idea
│ │ ├── dictionaries
│ │ │ └── sensoro.xml
│ │ ├── caches
│ │ │ └── build_file_checksums.ser
│ │ ├── encodings.xml
│ │ ├── modules.xml
│ │ ├── runConfigurations.xml
│ │ ├── gradle.xml
│ │ ├── misc.xml
│ │ └── codeStyles
│ │ │ └── Project.xml
│ ├── .gitignore
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── build.gradle
│ ├── gradle.properties
│ ├── BootCompleted.iml
│ └── gradlew.bat
├── YunZi-AS
│ ├── settings.gradle
│ ├── .idea
│ │ ├── dictionaries
│ │ │ └── sensoro.xml
│ │ ├── caches
│ │ │ └── build_file_checksums.ser
│ │ ├── encodings.xml
│ │ ├── vcs.xml
│ │ ├── modules.xml
│ │ ├── runConfigurations.xml
│ │ ├── gradle.xml
│ │ ├── codeStyles
│ │ │ └── Project.xml
│ │ └── misc.xml
│ ├── app
│ │ ├── libs
│ │ │ ├── sensorocloud-4.1.2.jar
│ │ │ ├── sensoro-scanner-1.0.1.jar
│ │ │ └── sensoro-beacon-kit-4.3.jar
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── res
│ │ │ │ │ ├── drawable-xxhdpi
│ │ │ │ │ │ ├── frame.png
│ │ │ │ │ │ ├── green.png
│ │ │ │ │ │ ├── mask.png
│ │ │ │ │ │ ├── red.png
│ │ │ │ │ │ ├── bottom.png
│ │ │ │ │ │ ├── yellow.png
│ │ │ │ │ │ ├── yunzi_4aa.png
│ │ │ │ │ │ ├── yunzi_a0.png
│ │ │ │ │ │ ├── yunzi_b0.png
│ │ │ │ │ │ ├── btn_pressed.png
│ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ ├── btn_unpressed.png
│ │ │ │ │ │ ├── background_circle.xml
│ │ │ │ │ │ ├── fragment_range_far_circle.xml
│ │ │ │ │ │ ├── fragment_range_near_circle.xml
│ │ │ │ │ │ └── fragment_range_immediate_circle.xml
│ │ │ │ │ ├── drawable-xhdpi
│ │ │ │ │ │ ├── earth_1.png
│ │ │ │ │ │ ├── earth_10.png
│ │ │ │ │ │ ├── earth_11.png
│ │ │ │ │ │ ├── earth_12.png
│ │ │ │ │ │ ├── earth_13.png
│ │ │ │ │ │ ├── earth_14.png
│ │ │ │ │ │ ├── earth_15.png
│ │ │ │ │ │ ├── earth_16.png
│ │ │ │ │ │ ├── earth_17.png
│ │ │ │ │ │ ├── earth_18.png
│ │ │ │ │ │ ├── earth_2.png
│ │ │ │ │ │ ├── earth_3.png
│ │ │ │ │ │ ├── earth_4.png
│ │ │ │ │ │ ├── earth_5.png
│ │ │ │ │ │ ├── earth_6.png
│ │ │ │ │ │ ├── earth_7.png
│ │ │ │ │ │ ├── earth_8.png
│ │ │ │ │ │ ├── earth_9.png
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── drawable-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── drawable-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── values
│ │ │ │ │ │ ├── colors.xml
│ │ │ │ │ │ ├── color.xml
│ │ │ │ │ │ ├── styles.xml
│ │ │ │ │ │ ├── attr.xml
│ │ │ │ │ │ ├── dimens.xml
│ │ │ │ │ │ └── strings.xml
│ │ │ │ │ ├── mipmap-anydpi-v26
│ │ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ │ ├── layout
│ │ │ │ │ │ ├── activity_main.xml
│ │ │ │ │ │ ├── title.xml
│ │ │ │ │ │ ├── fragment_distance.xml
│ │ │ │ │ │ ├── fragment_beacons.xml
│ │ │ │ │ │ ├── fragment_light.xml
│ │ │ │ │ │ ├── fragment_detail_grid_item.xml
│ │ │ │ │ │ ├── fragment_notification.xml
│ │ │ │ │ │ ├── fragment_beacons_grid_item.xml
│ │ │ │ │ │ ├── fragment_temperature.xml
│ │ │ │ │ │ ├── title_main.xml
│ │ │ │ │ │ ├── fragment_move.xml
│ │ │ │ │ │ └── fragment_range.xml
│ │ │ │ │ ├── anim
│ │ │ │ │ │ └── earth_anim.xml
│ │ │ │ │ ├── drawable-v24
│ │ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ │ └── values-zh
│ │ │ │ │ │ └── strings.xml
│ │ │ │ ├── assets
│ │ │ │ │ └── fontawesome-webfont.ttf
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ ├── sensoro
│ │ │ │ │ │ └── experience
│ │ │ │ │ │ │ └── tool
│ │ │ │ │ │ │ ├── PermissionsResultObserve.java
│ │ │ │ │ │ │ ├── TTFIcon.java
│ │ │ │ │ │ │ ├── MyApp.java
│ │ │ │ │ │ │ ├── FrameAnimationController.java
│ │ │ │ │ │ │ └── NotificationFragment.java
│ │ │ │ │ │ ├── svgandroid
│ │ │ │ │ │ └── SVGParseException.java
│ │ │ │ │ │ └── meg7
│ │ │ │ │ │ └── widget
│ │ │ │ │ │ ├── CustomShapeSquareImageView.java
│ │ │ │ │ │ ├── CircleImageView.java
│ │ │ │ │ │ ├── RectangleImageView.java
│ │ │ │ │ │ ├── SvgImageView.java
│ │ │ │ │ │ └── CustomShapeImageView.java
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── test
│ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── sensoro
│ │ │ │ │ └── smartcity
│ │ │ │ │ └── yunzi_as
│ │ │ │ │ └── ExampleUnitTest.java
│ │ │ └── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── sensoro
│ │ │ │ └── smartcity
│ │ │ │ └── yunzi_as
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ ├── proguard-rules.pro
│ │ ├── .gitignore
│ │ └── build.gradle
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── build.gradle
│ ├── gradle.properties
│ ├── .gitignore
│ └── gradlew.bat
├── Yunzi-Android
│ ├── lint.xml
│ ├── ic_launcher-web.png
│ ├── libs
│ │ ├── android-support-v4.jar
│ │ ├── sensorocloud-4.1.1.jar
│ │ ├── sensoro-beacon-kit-4.3.jar
│ │ ├── sensoro-scanner-1.0.1.jar
│ │ └── android-async-http-1.4.6.jar
│ ├── res
│ │ ├── drawable-xxhdpi
│ │ │ ├── red.png
│ │ │ ├── frame.png
│ │ │ ├── green.png
│ │ │ ├── mask.png
│ │ │ ├── bottom.png
│ │ │ ├── yellow.png
│ │ │ ├── yunzi_a0.png
│ │ │ ├── yunzi_b0.png
│ │ │ ├── yunzi_4aa.png
│ │ │ ├── btn_pressed.png
│ │ │ ├── btn_unpressed.png
│ │ │ ├── ic_launcher.png
│ │ │ ├── background_circle.xml
│ │ │ ├── fragment_range_far_circle.xml
│ │ │ ├── fragment_range_near_circle.xml
│ │ │ └── fragment_range_immediate_circle.xml
│ │ ├── drawable-xhdpi
│ │ │ ├── earth_1.png
│ │ │ ├── earth_10.png
│ │ │ ├── earth_11.png
│ │ │ ├── earth_12.png
│ │ │ ├── earth_13.png
│ │ │ ├── earth_14.png
│ │ │ ├── earth_15.png
│ │ │ ├── earth_16.png
│ │ │ ├── earth_17.png
│ │ │ ├── earth_18.png
│ │ │ ├── earth_2.png
│ │ │ ├── earth_3.png
│ │ │ ├── earth_4.png
│ │ │ ├── earth_5.png
│ │ │ ├── earth_6.png
│ │ │ ├── earth_7.png
│ │ │ ├── earth_8.png
│ │ │ ├── earth_9.png
│ │ │ └── ic_launcher.png
│ │ ├── drawable-hdpi
│ │ │ └── ic_launcher.png
│ │ ├── drawable-mdpi
│ │ │ └── ic_launcher.png
│ │ ├── values
│ │ │ ├── color.xml
│ │ │ ├── attr.xml
│ │ │ ├── dimens.xml
│ │ │ └── strings.xml
│ │ ├── layout
│ │ │ ├── activity_main.xml
│ │ │ ├── title.xml
│ │ │ ├── fragment_distance.xml
│ │ │ ├── fragment_beacons.xml
│ │ │ ├── fragment_light.xml
│ │ │ ├── fragment_detail_grid_item.xml
│ │ │ ├── fragment_notification.xml
│ │ │ ├── fragment_beacons_grid_item.xml
│ │ │ ├── fragment_temperature.xml
│ │ │ ├── title_main.xml
│ │ │ ├── fragment_move.xml
│ │ │ └── fragment_range.xml
│ │ ├── anim
│ │ │ └── earth_anim.xml
│ │ └── values-zh
│ │ │ └── strings.xml
│ ├── assets
│ │ └── fontawesome-webfont.ttf
│ ├── src
│ │ └── com
│ │ │ ├── sensoro
│ │ │ └── experience
│ │ │ │ └── tool
│ │ │ │ ├── SwitchButton.java
│ │ │ │ ├── TTFIcon.java
│ │ │ │ ├── MyApp.java
│ │ │ │ ├── FrameAnimationController.java
│ │ │ │ └── NotificationFragment.java
│ │ │ ├── svgandroid
│ │ │ └── SVGParseException.java
│ │ │ └── meg7
│ │ │ └── widget
│ │ │ ├── CustomShapeSquareImageView.java
│ │ │ ├── CircleImageView.java
│ │ │ ├── RectangleImageView.java
│ │ │ ├── SvgImageView.java
│ │ │ └── CustomShapeImageView.java
│ ├── .idea
│ │ ├── encodings.xml
│ │ ├── modules.xml
│ │ ├── Yunzi-Android.iml
│ │ └── misc.xml
│ ├── .classpath
│ ├── project.properties
│ ├── .settings
│ │ └── org.eclipse.jdt.core.prefs
│ ├── proguard-project.txt
│ ├── .project
│ ├── AndroidManifest.xml
│ ├── raw
│ │ ├── shape_heart.svg
│ │ ├── shape_5.svg
│ │ ├── shape_star_2.svg
│ │ ├── shape_star.svg
│ │ ├── shape_circle_2.svg
│ │ └── shape_star_3.svg
│ └── 简体中文版
│ │ └── README.md
├── 简体中文版
│ └── README.md
└── README.md
├── SensoroSDK
├── doc
│ ├── resources
│ │ ├── tab.gif
│ │ ├── background.gif
│ │ ├── titlebar.gif
│ │ └── titlebar_end.gif
│ ├── package-list
│ ├── com
│ │ └── sensoro
│ │ │ ├── cloud
│ │ │ └── package-frame.html
│ │ │ └── beacon
│ │ │ └── kit
│ │ │ ├── connection
│ │ │ └── package-frame.html
│ │ │ ├── constants
│ │ │ └── package-frame.html
│ │ │ └── package-frame.html
│ ├── overview-frame.html
│ └── index.html
├── sensoro-sensor-kit.jar
├── sensorocloud-4.1.2.jar
├── sensoro-scanner-1.0.1.jar
├── android-async-http-1.4.6.jar
└── sensoro-beacon-kit-4.3.jar
├── Documents
├── 简体中文版
│ ├── README.md
│ └── User-Guide-For-Android-M.md
├── README.md
└── User-Guide-For-Android-M.md
└── .gitignore
/Samples/BootCompleted/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/SensoroSDK/doc/resources/tab.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/SensoroSDK/doc/resources/tab.gif
--------------------------------------------------------------------------------
/SensoroSDK/sensoro-sensor-kit.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/SensoroSDK/sensoro-sensor-kit.jar
--------------------------------------------------------------------------------
/SensoroSDK/sensorocloud-4.1.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/SensoroSDK/sensorocloud-4.1.2.jar
--------------------------------------------------------------------------------
/SensoroSDK/sensoro-scanner-1.0.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/SensoroSDK/sensoro-scanner-1.0.1.jar
--------------------------------------------------------------------------------
/SensoroSDK/android-async-http-1.4.6.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/SensoroSDK/android-async-http-1.4.6.jar
--------------------------------------------------------------------------------
/SensoroSDK/doc/resources/background.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/SensoroSDK/doc/resources/background.gif
--------------------------------------------------------------------------------
/SensoroSDK/doc/resources/titlebar.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/SensoroSDK/doc/resources/titlebar.gif
--------------------------------------------------------------------------------
/SensoroSDK/sensoro-beacon-kit-4.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/SensoroSDK/sensoro-beacon-kit-4.3.jar
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/ic_launcher-web.png
--------------------------------------------------------------------------------
/SensoroSDK/doc/resources/titlebar_end.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/SensoroSDK/doc/resources/titlebar_end.gif
--------------------------------------------------------------------------------
/Samples/YunZi-AS/.idea/dictionaries/sensoro.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/.idea/dictionaries/sensoro.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/.gitignore:
--------------------------------------------------------------------------------
1 | .gradle
2 | /local.properties
3 | /.idea/workspace.xml
4 | /.idea/libraries
5 | .DS_Store
6 | /build
7 | /captures
8 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/libs/sensorocloud-4.1.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/libs/sensorocloud-4.1.2.jar
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/libs/android-support-v4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/libs/android-support-v4.jar
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/libs/sensorocloud-4.1.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/libs/sensorocloud-4.1.1.jar
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xxhdpi/red.png
--------------------------------------------------------------------------------
/SensoroSDK/doc/package-list:
--------------------------------------------------------------------------------
1 | com.sensoro.beacon.kit
2 | com.sensoro.beacon.kit.connection
3 | com.sensoro.beacon.kit.constants
4 | com.sensoro.cloud
5 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/libs/sensoro-scanner-1.0.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/libs/sensoro-scanner-1.0.1.jar
--------------------------------------------------------------------------------
/Samples/YunZi-AS/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/frame.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xxhdpi/frame.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xxhdpi/green.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/mask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xxhdpi/mask.png
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/libs/sensorocloud-4.1.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/BootCompleted/app/libs/sensorocloud-4.1.2.jar
--------------------------------------------------------------------------------
/Samples/YunZi-AS/.idea/caches/build_file_checksums.ser:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/.idea/caches/build_file_checksums.ser
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/libs/sensoro-beacon-kit-4.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/libs/sensoro-beacon-kit-4.3.jar
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/assets/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/assets/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/libs/sensoro-beacon-kit-4.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/libs/sensoro-beacon-kit-4.3.jar
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/libs/sensoro-scanner-1.0.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/libs/sensoro-scanner-1.0.1.jar
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_1.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_10.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_11.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_12.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_13.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_14.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_15.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_16.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_17.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_18.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_2.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_3.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_4.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_5.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_6.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_7.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_8.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/earth_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/earth_9.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xxhdpi/bottom.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/yellow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xxhdpi/yellow.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/yunzi_a0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xxhdpi/yunzi_a0.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/yunzi_b0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xxhdpi/yunzi_b0.png
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/libs/sensoro-scanner-1.0.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/BootCompleted/app/libs/sensoro-scanner-1.0.1.jar
--------------------------------------------------------------------------------
/Samples/BootCompleted/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/BootCompleted/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/libs/android-async-http-1.4.6.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/libs/android-async-http-1.4.6.jar
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/yunzi_4aa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xxhdpi/yunzi_4aa.png
--------------------------------------------------------------------------------
/Samples/BootCompleted/.idea/caches/build_file_checksums.ser:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/BootCompleted/.idea/caches/build_file_checksums.ser
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/libs/sensoro-beacon-kit-4.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/BootCompleted/app/libs/sensoro-beacon-kit-4.3.jar
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/frame.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/frame.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/green.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/mask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/mask.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/red.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/btn_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xxhdpi/btn_pressed.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/btn_unpressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xxhdpi/btn_unpressed.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/assets/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/assets/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_1.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_10.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_11.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_12.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_13.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_14.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_15.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_16.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_17.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_18.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_2.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_3.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_4.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_5.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_6.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_7.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_8.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/earth_9.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/bottom.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/yellow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/yellow.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/yunzi_4aa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/yunzi_4aa.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/yunzi_a0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/yunzi_a0.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/yunzi_b0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/yunzi_b0.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/BootCompleted/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/BootCompleted/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/res/mipmap-xhdpi/ic_sensoro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/BootCompleted/app/src/main/res/mipmap-xhdpi/ic_sensoro.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/btn_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/btn_pressed.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/BootCompleted/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/BootCompleted/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/btn_unpressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/btn_unpressed.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/YunZi-AS/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/src/com/sensoro/experience/tool/SwitchButton.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sensoro/SDK-Android/HEAD/Samples/Yunzi-Android/src/com/sensoro/experience/tool/SwitchButton.java
--------------------------------------------------------------------------------
/Samples/YunZi-AS/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/background_circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | BootCompleted
3 |
4 | Hello world, Sensoro!
5 | Settings
6 |
7 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/background_circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/fragment_range_far_circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/fragment_range_near_circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/fragment_range_far_circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/drawable-xxhdpi/fragment_range_immediate_circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/fragment_range_near_circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Documents/简体中文版/README.md:
--------------------------------------------------------------------------------
1 | # Sensoro SDK Documents
2 |
3 | > 作者:Sensoro
4 | >
5 | > 版本:v1.0
6 | >
7 | > 时间:2015年05月18日
8 |
9 | 该文档主要介绍了与 Sensoro SDK 相关的参考文档。
10 |
11 | - BatteryManager.md
12 |
13 | 详细讲解了 Sensoro SDK 后台工作模式及原理,以及在后台模式下 SDK 的功耗表现,同时给出一些实测结果供用户参考。
14 |
15 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-xxhdpi/fragment_range_immediate_circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Thu May 31 16:40:03 CST 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
7 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Apr 10 15:27:10 PDT 2013
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
7 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/java/com/sensoro/bootcompleted/Constant.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.bootcompleted;
2 |
3 | /**
4 | * Created by Sensoro on 15/4/9.
5 | */
6 | public class Constant {
7 | public static final String BLE_STATE_CHANGED_ACTION = "android.bluetooth.adapter.action.STATE_CHANGED";
8 | }
9 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/java/com/sensoro/experience/tool/PermissionsResultObserve.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.experience.tool;
2 |
3 | /**
4 | * Created by ddong1031 on 18/4/16.
5 | */
6 | public interface PermissionsResultObserve {
7 | void onPermissionGranted();
8 |
9 | void onPermissionDenied();
10 | }
11 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Samples/简体中文版/README.md:
--------------------------------------------------------------------------------
1 | # Sensoro SDK Samples
2 |
3 | > 作者:Sensoro
4 | >
5 | > 版本:v1.0
6 | >
7 | > 时间:2015年04月10日14:58:18
8 |
9 | 该文档主要介绍了 Sensoro SDK 的一些使用方法和技巧,并附有源码示例。
10 |
11 | - Yunzi-Android
12 |
13 | Sensoro SDK 的基本使用方法,包括 iBeacon 搜索和 iBeacon 的数据获取。
14 | - BootCompleted
15 |
16 | Sensoro SDK 随设备开机启动的方法。
17 |
18 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/.idea/Yunzi-Android.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/values/color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #666666
4 | #EEEEEE
5 | #FFCC00
6 | #FF222222
7 | #FF9E9E9E
8 | #FFFFFF
9 |
10 | #000000
11 |
12 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/values/color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #666666
4 | #EEEEEE
5 | #FFCC00
6 | #FF222222
7 | #FF9E9E9E
8 | #FFFFFF
9 |
10 | #000000
11 |
12 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/res/menu/menu_main.xml:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Built application files
2 | *.apk
3 | *.ap_
4 |
5 | # Files for the Dalvik VM
6 | *.dex
7 |
8 | # Java class files
9 | *.class
10 |
11 | # Generated files
12 | bin/
13 | gen/
14 |
15 | # Gradle files
16 | .gradle/
17 | build/
18 |
19 | # Local configuration file (sdk path, etc)
20 | local.properties
21 |
22 | # Proguard folder generated by Eclipse
23 | proguard/
24 |
25 | # Log Files
26 | *.log
27 |
28 | # MAC
29 | .DS_Store
30 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/androidTest/java/com/sensoro/bootcompleted/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.bootcompleted;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/values/attr.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/values/attr.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/test/java/com/sensoro/smartcity/yunzi_as/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.smartcity.yunzi_as;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | jcenter()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:2.2.3'
9 |
10 | // NOTE: Do not place your application dependencies here; they belong
11 | // in the individual module build.gradle files
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | jcenter()
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/src/com/sensoro/experience/tool/TTFIcon.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.experience.tool;
2 |
3 | import android.content.Context;
4 | import android.graphics.Typeface;
5 | import android.util.AttributeSet;
6 | import android.widget.TextView;
7 |
8 | public class TTFIcon extends TextView {
9 |
10 | Typeface font;
11 |
12 | public TTFIcon(Context context, AttributeSet attrs) {
13 | super(context, attrs);
14 | font = Typeface.createFromAsset(context.getAssets(), "fontawesome-webfont.ttf");
15 | this.setTypeface(font);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/java/com/sensoro/experience/tool/TTFIcon.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.experience.tool;
2 |
3 | import android.content.Context;
4 | import android.graphics.Typeface;
5 | import android.util.AttributeSet;
6 | import android.widget.TextView;
7 |
8 | public class TTFIcon extends TextView {
9 |
10 | Typeface font;
11 |
12 | public TTFIcon(Context context, AttributeSet attrs) {
13 | super(context, attrs);
14 | font = Typeface.createFromAsset(context.getAssets(), "fontawesome-webfont.ttf");
15 | this.setTypeface(font);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/layout/title.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
13 |
14 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/layout/title.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
13 |
14 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/src/com/svgandroid/SVGParseException.java:
--------------------------------------------------------------------------------
1 | package com.svgandroid;
2 |
3 | /**
4 | * Runtime exception thrown when there is a problem parsing an SVG.
5 | *
6 | * @author Larva Labs, LLC
7 | */
8 | public class SVGParseException extends RuntimeException {
9 |
10 | public SVGParseException(String s) {
11 | super(s);
12 | }
13 |
14 | public SVGParseException(String s, Throwable throwable) {
15 | super(s, throwable);
16 | }
17 |
18 | public SVGParseException(Throwable throwable) {
19 | super(throwable);
20 | }
21 | }
--------------------------------------------------------------------------------
/Samples/README.md:
--------------------------------------------------------------------------------
1 | # Sensoro SDK Samples
2 |
3 | > Author:Sensoro
4 | >
5 | > Version:v1.1
6 | >
7 | > Date:2018/05/31/18:01:51
8 |
9 | The souce code shows some skills of how to use Sensoro SDK.
10 |
11 | - Yunzi-AS
12 |
13 | How to use Sensoro SDK in Android Studio, includs how to discover Sensoro Beacon and get information of Sensoro Beacon.
14 |
15 | - Yunzi-Android
16 |
17 | How to use Sensoro SDK in Eclipse, includs how to discover Sensoro Beacon and get information of Sensoro Beacon.
18 |
19 | - BootCompleted
20 |
21 | How to start Sensoro SDK on setup.
22 |
23 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/java/com/svgandroid/SVGParseException.java:
--------------------------------------------------------------------------------
1 | package com.svgandroid;
2 |
3 | /**
4 | * Runtime exception thrown when there is a problem parsing an SVG.
5 | *
6 | * @author Larva Labs, LLC
7 | */
8 | public class SVGParseException extends RuntimeException {
9 |
10 | public SVGParseException(String s) {
11 | super(s);
12 | }
13 |
14 | public SVGParseException(String s, Throwable throwable) {
15 | super(s, throwable);
16 | }
17 |
18 | public SVGParseException(Throwable throwable) {
19 | super(throwable);
20 | }
21 | }
--------------------------------------------------------------------------------
/Samples/YunZi-AS/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-24
15 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
5 | org.eclipse.jdt.core.compiler.compliance=1.6
6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
11 | org.eclipse.jdt.core.compiler.source=1.6
12 |
--------------------------------------------------------------------------------
/Documents/README.md:
--------------------------------------------------------------------------------
1 | # Sensoro SDK Documents
2 |
3 | > Author:Sensoro
4 | >
5 | > Version:1.1
6 | >
7 | > Date:2015-10-27 18:12:17
8 |
9 | This document contains some references about using SENSORO SDK.
10 |
11 | - [Battery-Management.md](https://github.com/Sensoro/SDK-Android/blob/master/Documents/Battery-Management.md)
12 |
13 | Describe the principle of SENSORO SDK working in background mode. Also, it shows some measurement result about energy consumption of SDK in background mode.
14 |
15 | - [User-Guide-For-Android-M.md](https://github.com/Sensoro/SDK-Android/blob/master/Documents/User-Guide-For-Android-M.md)
16 |
17 | Describe how to use SENSORO SDK in Android 6.0.
18 |
19 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 |
5 | repositories {
6 | google()
7 | jcenter()
8 | }
9 | dependencies {
10 | classpath 'com.android.tools.build:gradle:3.1.2'
11 |
12 |
13 | // NOTE: Do not place your application dependencies here; they belong
14 | // in the individual module build.gradle files
15 | }
16 | }
17 |
18 | allprojects {
19 | repositories {
20 | google()
21 | jcenter()
22 | }
23 | }
24 |
25 | task clean(type: Delete) {
26 | delete rootProject.buildDir
27 | }
28 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 12dp
4 | 35dp
5 | 20dp
6 | 20dp
7 | 20dp
8 | 60dp
9 | 10dp
10 | 10dp
11 | 6dp
12 |
13 | 20dp
14 | 10dp
15 |
16 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 12dp
4 | 35dp
5 | 20dp
6 | 20dp
7 | 20dp
8 | 60dp
9 | 10dp
10 | 10dp
11 | 6dp
12 |
13 | 20dp
14 | 10dp
15 |
16 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/Sensoro/Work/Android-SDK/android-sdk-macosx/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx1536m
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/androidTest/java/com/sensoro/smartcity/yunzi_as/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.smartcity.yunzi_as;
2 |
3 | import android.content.Context;
4 | import android.support.test.InstrumentationRegistry;
5 | import android.support.test.runner.AndroidJUnit4;
6 |
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 |
10 | import static org.junit.Assert.*;
11 |
12 | /**
13 | * Instrumented test, which will execute on an Android device.
14 | *
15 | * @see Testing documentation
16 | */
17 | @RunWith(AndroidJUnit4.class)
18 | public class ExampleInstrumentedTest {
19 | @Test
20 | public void useAppContext() {
21 | // Context of the app under test.
22 | Context appContext = InstrumentationRegistry.getTargetContext();
23 |
24 | assertEquals("com.sensoro.smartcity.yunzi_as", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14 |
15 | # When configured, Gradle will run in incubating parallel mode.
16 | # This option should only be used with decoupled projects. More details, visit
17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18 | # org.gradle.parallel=true
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | Yunzi-Android
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/BootCompleted.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/layout/fragment_distance.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
16 |
17 |
24 |
25 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/layout/fragment_distance.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
16 |
17 |
24 |
25 |
--------------------------------------------------------------------------------
/SensoroSDK/doc/com/sensoro/cloud/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | com.sensoro.cloud
8 |
9 |
10 |
11 |
12 |
13 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/layout/fragment_beacons.xml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
17 |
18 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/layout/fragment_beacons.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
17 |
18 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/layout/fragment_light.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
16 |
17 |
25 |
26 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/layout/fragment_light.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
16 |
17 |
25 |
26 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/src/com/meg7/widget/CustomShapeSquareImageView.java:
--------------------------------------------------------------------------------
1 | package com.meg7.widget;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 | import android.widget.ImageView;
6 |
7 | public class CustomShapeSquareImageView extends CustomShapeImageView {
8 |
9 | public CustomShapeSquareImageView(Context context, int resourceId, int shape, int svgRawResourceId) {
10 | super(context, resourceId, shape, svgRawResourceId);
11 | }
12 | public CustomShapeSquareImageView(Context context) {
13 | super(context);
14 | }
15 |
16 | public CustomShapeSquareImageView(Context context, AttributeSet attrs) {
17 | super(context, attrs);
18 | }
19 |
20 | public CustomShapeSquareImageView(Context context, AttributeSet attrs, int defStyle) {
21 | super(context, attrs, defStyle);
22 | }
23 |
24 | @Override
25 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
26 | super.onMeasure(widthMeasureSpec, heightMeasureSpec);
27 | setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth());
28 | }
29 | }
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/java/com/meg7/widget/CustomShapeSquareImageView.java:
--------------------------------------------------------------------------------
1 | package com.meg7.widget;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 | import android.widget.ImageView;
6 |
7 | public class CustomShapeSquareImageView extends CustomShapeImageView {
8 |
9 | public CustomShapeSquareImageView(Context context, int resourceId, int shape, int svgRawResourceId) {
10 | super(context, resourceId, shape, svgRawResourceId);
11 | }
12 | public CustomShapeSquareImageView(Context context) {
13 | super(context);
14 | }
15 |
16 | public CustomShapeSquareImageView(Context context, AttributeSet attrs) {
17 | super(context, attrs);
18 | }
19 |
20 | public CustomShapeSquareImageView(Context context, AttributeSet attrs, int defStyle) {
21 | super(context, attrs, defStyle);
22 | }
23 |
24 | @Override
25 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
26 | super.onMeasure(widthMeasureSpec, heightMeasureSpec);
27 | setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth());
28 | }
29 | }
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/layout/fragment_detail_grid_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
16 |
17 |
23 |
24 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 21
5 | buildToolsVersion "21.1.2"
6 |
7 | defaultConfig {
8 | applicationId "com.sensoro.bootcompleted"
9 | minSdkVersion 18
10 | targetSdkVersion 21
11 | versionCode 1
12 | versionName "1.0"
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | }
21 |
22 | dependencies {
23 | compile fileTree(include: ['*.jar'], dir: 'libs')
24 | compile 'com.android.support:appcompat-v7:21.0.3'
25 | //gson
26 | compile 'com.google.code.gson:gson:2.8.5'
27 | //依赖lib
28 | compile files('libs/sensorocloud-4.1.2.jar')
29 | compile files('libs/sensoro-scanner-1.0.1.jar')
30 | compile files('libs/sensoro-beacon-kit-4.3.jar')
31 | //网络请求包
32 | compile 'com.loopj.android:android-async-http:1.4.9'
33 | compile 'org.apache.httpcomponents:httpcore:4.4.1'
34 | // compile files('libs/greendao-1.3.7.jar')
35 | }
36 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/layout/fragment_detail_grid_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
16 |
17 |
23 |
24 |
--------------------------------------------------------------------------------
/SensoroSDK/doc/com/sensoro/beacon/kit/connection/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | com.sensoro.beacon.kit.connection
8 |
9 |
10 |
11 |
12 |
13 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/SensoroSDK/doc/overview-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | 概览列表
8 |
9 |
10 |
11 |
12 |
13 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/layout/fragment_notification.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
13 |
14 |
21 |
22 |
28 |
29 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/src/com/sensoro/experience/tool/MyApp.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.experience.tool;
2 |
3 | import com.sensoro.cloud.SensoroManager;
4 |
5 | import android.app.Application;
6 | import android.os.Build;
7 | import android.util.Log;
8 |
9 | public class MyApp extends Application {
10 |
11 | private static final String TAG = MyApp.class.getSimpleName();
12 | SensoroManager sensoroManager;
13 |
14 | @Override
15 | public void onCreate() {
16 | initSensoro();
17 | super.onCreate();
18 | }
19 |
20 | private void initSensoro() {
21 | sensoroManager = SensoroManager.getInstance(getApplicationContext());
22 | sensoroManager.setCloudServiceEnable(false);
23 | sensoroManager.addBroadcastKey("01Y2GLh1yw3+6Aq0RsnOQ8xNvXTnDUTTLE937Yedd/DnlcV0ixCWo7JQ+VEWRSya80yea6u5aWgnW1ACjKNzFnig==");
24 | try {
25 | sensoroManager.startService();
26 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
27 | sensoroManager.setForegroundScanPeriod(7000);
28 | }
29 | } catch (Exception e) {
30 | Log.e(TAG, e.toString());
31 | }
32 | }
33 |
34 | @Override
35 | public void onTerminate() {
36 | if (sensoroManager != null) {
37 | sensoroManager.stopService();
38 | }
39 | super.onTerminate();
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/java/com/sensoro/experience/tool/MyApp.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.experience.tool;
2 |
3 | import com.sensoro.cloud.SensoroManager;
4 |
5 | import android.app.Application;
6 | import android.os.Build;
7 | import android.util.Log;
8 |
9 | public class MyApp extends Application {
10 |
11 | private static final String TAG = MyApp.class.getSimpleName();
12 | SensoroManager sensoroManager;
13 |
14 | @Override
15 | public void onCreate() {
16 | initSensoro();
17 | super.onCreate();
18 | }
19 |
20 | private void initSensoro() {
21 | sensoroManager = SensoroManager.getInstance(getApplicationContext());
22 | sensoroManager.setCloudServiceEnable(false);
23 | sensoroManager.addBroadcastKey("01Y2GLh1yw3+6Aq0RsnOQ8xNvXTnDUTTLE937Yedd/DnlcV0ixCWo7JQ+VEWRSya80yea6u5aWgnW1ACjKNzFnig==");
24 | try {
25 | sensoroManager.startService();
26 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
27 | sensoroManager.setForegroundScanPeriod(7000);
28 | }
29 | } catch (Exception e) {
30 | Log.e(TAG, e.toString());
31 | }
32 | }
33 |
34 | @Override
35 | public void onTerminate() {
36 | if (sensoroManager != null) {
37 | sensoroManager.stopService();
38 | }
39 | super.onTerminate();
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/java/com/sensoro/bootcompleted/BootCompletedBroadcastReceiver.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.bootcompleted;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.Context;
5 | import android.content.Intent;
6 |
7 | /**
8 | * Created by Sensoro on 15/3/11.
9 | */
10 | public class BootCompletedBroadcastReceiver extends BroadcastReceiver {
11 | static final String BOOT_COMPLETED_ACTION = "android.intent.action.BOOT_COMPLETED";
12 |
13 | @Override
14 | public void onReceive(Context context, Intent intent) {
15 | if (intent.getAction().equals(BOOT_COMPLETED_ACTION)) {
16 |
17 | /**
18 | * Start Sensoro SDK in Activity with boot.
19 | */
20 | // Intent bootCompletedActivityIntent = new Intent(context, MainActivity.class);
21 | // bootCompletedActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
22 | // context.startActivity(bootCompletedActivityIntent);
23 |
24 | /**
25 | * Startan Sensoro SDK in Service with boot.
26 | */
27 | Intent bootCompletedSerivceIntent = new Intent(context, MyService.class);
28 | context.startService(bootCompletedSerivceIntent);
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/layout/fragment_notification.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
13 |
14 |
22 |
23 |
30 |
31 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/layout/fragment_beacons_grid_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
15 |
22 |
23 |
30 |
31 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/layout/fragment_beacons_grid_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
15 |
22 |
23 |
30 |
31 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/src/com/meg7/widget/CircleImageView.java:
--------------------------------------------------------------------------------
1 | package com.meg7.widget;
2 |
3 | import android.content.Context;
4 | import android.graphics.Bitmap;
5 | import android.graphics.Canvas;
6 | import android.graphics.Color;
7 | import android.graphics.Paint;
8 | import android.graphics.RectF;
9 | import android.util.AttributeSet;
10 |
11 | /**
12 | * Created by Mostafa Gazar on 11/2/13.
13 | */
14 | public class CircleImageView extends BaseImageView {
15 |
16 | public CircleImageView(Context context) {
17 | super(context);
18 | }
19 |
20 | public CircleImageView(Context context, AttributeSet attrs) {
21 | super(context, attrs);
22 | }
23 |
24 | public CircleImageView(Context context, AttributeSet attrs, int defStyle) {
25 | super(context, attrs, defStyle);
26 | }
27 |
28 | public static Bitmap getBitmap(int width, int height) {
29 | Bitmap bitmap = Bitmap.createBitmap(width, height,
30 | Bitmap.Config.ARGB_8888);
31 | Canvas canvas = new Canvas(bitmap);
32 | Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
33 | paint.setColor(Color.BLACK);
34 | canvas.drawOval(new RectF(0.0f, 0.0f, width, height), paint);
35 |
36 | return bitmap;
37 | }
38 |
39 | @Override
40 | public Bitmap getBitmap() {
41 | return getBitmap(getWidth(), getHeight());
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/java/com/meg7/widget/CircleImageView.java:
--------------------------------------------------------------------------------
1 | package com.meg7.widget;
2 |
3 | import android.content.Context;
4 | import android.graphics.Bitmap;
5 | import android.graphics.Canvas;
6 | import android.graphics.Color;
7 | import android.graphics.Paint;
8 | import android.graphics.RectF;
9 | import android.util.AttributeSet;
10 |
11 | /**
12 | * Created by Mostafa Gazar on 11/2/13.
13 | */
14 | public class CircleImageView extends BaseImageView {
15 |
16 | public CircleImageView(Context context) {
17 | super(context);
18 | }
19 |
20 | public CircleImageView(Context context, AttributeSet attrs) {
21 | super(context, attrs);
22 | }
23 |
24 | public CircleImageView(Context context, AttributeSet attrs, int defStyle) {
25 | super(context, attrs, defStyle);
26 | }
27 |
28 | public static Bitmap getBitmap(int width, int height) {
29 | Bitmap bitmap = Bitmap.createBitmap(width, height,
30 | Bitmap.Config.ARGB_8888);
31 | Canvas canvas = new Canvas(bitmap);
32 | Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
33 | paint.setColor(Color.BLACK);
34 | canvas.drawOval(new RectF(0.0f, 0.0f, width, height), paint);
35 |
36 | return bitmap;
37 | }
38 |
39 | @Override
40 | public Bitmap getBitmap() {
41 | return getBitmap(getWidth(), getHeight());
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/src/com/meg7/widget/RectangleImageView.java:
--------------------------------------------------------------------------------
1 | package com.meg7.widget;
2 |
3 | import android.content.Context;
4 | import android.graphics.Bitmap;
5 | import android.graphics.Canvas;
6 | import android.graphics.Color;
7 | import android.graphics.Paint;
8 | import android.graphics.RectF;
9 | import android.util.AttributeSet;
10 |
11 | /**
12 | * Created by Mostafa Gazar on 11/2/13.
13 | */
14 | public class RectangleImageView extends BaseImageView {
15 |
16 | public RectangleImageView(Context context) {
17 | super(context);
18 | }
19 |
20 | public RectangleImageView(Context context, AttributeSet attrs) {
21 | super(context, attrs);
22 | }
23 |
24 | public RectangleImageView(Context context, AttributeSet attrs, int defStyle) {
25 | super(context, attrs, defStyle);
26 | }
27 |
28 | public static Bitmap getBitmap(int width, int height) {
29 | Bitmap bitmap = Bitmap.createBitmap(width, height,
30 | Bitmap.Config.ARGB_8888);
31 | Canvas canvas = new Canvas(bitmap);
32 | Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
33 | paint.setColor(Color.BLACK);
34 | canvas.drawRect(new RectF(0.0f, 0.0f, width, height), paint);
35 |
36 | return bitmap;
37 | }
38 |
39 | @Override
40 | public Bitmap getBitmap() {
41 | return getBitmap(getWidth(), getHeight());
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/.gitignore:
--------------------------------------------------------------------------------
1 | # Built application files
2 | *.apk
3 | *.ap_
4 |
5 | # Files for the ART/Dalvik VM
6 | *.dex
7 |
8 | # Java class files
9 | *.class
10 |
11 | # Generated files
12 | bin/
13 | gen/
14 | out/
15 |
16 | # Gradle files
17 | .gradle/
18 | build/
19 |
20 | # Local configuration file (sdk path, etc)
21 | local.properties
22 |
23 | # Proguard folder generated by Eclipse
24 | proguard/
25 |
26 | # Log Files
27 | *.log
28 |
29 | # Android Studio Navigation editor temp files
30 | .navigation/
31 |
32 | # Android Studio captures folder
33 | captures/
34 | #macSpecial
35 | .DS_Store
36 |
37 | # IntelliJ
38 | *.iml
39 | .idea/workspace.xml
40 | .idea/tasks.xml
41 | .idea/gradle.xml
42 | .idea/assetWizardSettings.xml
43 | .idea/dictionaries
44 | .idea/libraries
45 | .idea/caches
46 |
47 | # Keystore files
48 | # Uncomment the following line if you do not want to check your keystore files in.
49 | #*.jks
50 |
51 | # External native build folder generated in Android Studio 2.2 and later
52 | .externalNativeBuild
53 |
54 | # Google Services (e.g. APIs or Firebase)
55 | google-services.json
56 |
57 | # Freeline
58 | freeline.py
59 | freeline/
60 | freeline_project_description.json
61 |
62 | # fastlane
63 | fastlane/report.xml
64 | fastlane/Preview.html
65 | fastlane/screenshots
66 | fastlane/test_output
67 | fastlane/readme.md
68 |
69 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/layout/fragment_temperature.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
13 |
14 |
20 |
21 |
27 |
28 |
34 |
35 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/.gitignore:
--------------------------------------------------------------------------------
1 | # Built application files
2 | *.apk
3 | *.ap_
4 |
5 | # Files for the ART/Dalvik VM
6 | *.dex
7 |
8 | # Java class files
9 | *.class
10 |
11 | # Generated files
12 | bin/
13 | gen/
14 | out/
15 |
16 | # Gradle files
17 | .gradle/
18 | build/
19 |
20 | # Local configuration file (sdk path, etc)
21 | local.properties
22 |
23 | # Proguard folder generated by Eclipse
24 | proguard/
25 |
26 | # Log Files
27 | *.log
28 |
29 | # Android Studio Navigation editor temp files
30 | .navigation/
31 |
32 | # Android Studio captures folder
33 | captures/
34 | #macSpecial
35 | .DS_Store
36 |
37 | # IntelliJ
38 | *.iml
39 | .idea/workspace.xml
40 | .idea/tasks.xml
41 | .idea/gradle.xml
42 | .idea/assetWizardSettings.xml
43 | .idea/dictionaries
44 | .idea/libraries
45 | .idea/caches
46 |
47 | # Keystore files
48 | # Uncomment the following line if you do not want to check your keystore files in.
49 | #*.jks
50 |
51 | # External native build folder generated in Android Studio 2.2 and later
52 | .externalNativeBuild
53 |
54 | # Google Services (e.g. APIs or Firebase)
55 | google-services.json
56 |
57 | # Freeline
58 | freeline.py
59 | freeline/
60 | freeline_project_description.json
61 |
62 | # fastlane
63 | fastlane/report.xml
64 | fastlane/Preview.html
65 | fastlane/screenshots
66 | fastlane/test_output
67 | fastlane/readme.md
68 |
69 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/java/com/meg7/widget/RectangleImageView.java:
--------------------------------------------------------------------------------
1 | package com.meg7.widget;
2 |
3 | import android.content.Context;
4 | import android.graphics.Bitmap;
5 | import android.graphics.Canvas;
6 | import android.graphics.Color;
7 | import android.graphics.Paint;
8 | import android.graphics.RectF;
9 | import android.util.AttributeSet;
10 |
11 | /**
12 | * Created by Mostafa Gazar on 11/2/13.
13 | */
14 | public class RectangleImageView extends BaseImageView {
15 |
16 | public RectangleImageView(Context context) {
17 | super(context);
18 | }
19 |
20 | public RectangleImageView(Context context, AttributeSet attrs) {
21 | super(context, attrs);
22 | }
23 |
24 | public RectangleImageView(Context context, AttributeSet attrs, int defStyle) {
25 | super(context, attrs, defStyle);
26 | }
27 |
28 | public static Bitmap getBitmap(int width, int height) {
29 | Bitmap bitmap = Bitmap.createBitmap(width, height,
30 | Bitmap.Config.ARGB_8888);
31 | Canvas canvas = new Canvas(bitmap);
32 | Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
33 | paint.setColor(Color.BLACK);
34 | canvas.drawRect(new RectF(0.0f, 0.0f, width, height), paint);
35 |
36 | return bitmap;
37 | }
38 |
39 | @Override
40 | public Bitmap getBitmap() {
41 | return getBitmap(getWidth(), getHeight());
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/layout/fragment_temperature.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
13 |
14 |
20 |
21 |
27 |
28 |
34 |
35 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 27
5 | defaultConfig {
6 | applicationId "com.sensoro.experience.tool"
7 | minSdkVersion 18
8 | targetSdkVersion 27
9 | versionCode 1
10 | versionName "1.0"
11 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
12 | }
13 | buildTypes {
14 | release {
15 | minifyEnabled false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | implementation fileTree(include: ['*.jar'], dir: 'libs')
23 | implementation 'com.android.support:appcompat-v7:27.1.1'
24 | implementation 'com.android.support.constraint:constraint-layout:1.1.0'
25 | testImplementation 'junit:junit:4.12'
26 | androidTestImplementation 'com.android.support.test:runner:1.0.2'
27 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
28 | implementation files('libs/sensoro-beacon-kit-4.3.jar')
29 | implementation files('libs/sensoro-scanner-1.0.1.jar')
30 | implementation 'com.google.code.gson:gson:2.8.5'
31 | implementation 'com.loopj.android:android-async-http:1.4.9'
32 | implementation 'org.apache.httpcomponents:httpcore:4.4.1'
33 | implementation files('libs/sensorocloud-4.1.2.jar')
34 | }
35 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/src/com/sensoro/experience/tool/FrameAnimationController.java:
--------------------------------------------------------------------------------
1 |
2 | package com.sensoro.experience.tool;
3 |
4 | import android.os.Handler;
5 | import android.os.Message;
6 |
7 | public class FrameAnimationController {
8 | private static final int MSG_ANIMATE = 1000;
9 |
10 | public static final int ANIMATION_FRAME_DURATION = 1000 / 60;
11 |
12 | private static final Handler mHandler = new AnimationHandler();
13 |
14 | private FrameAnimationController() {
15 | throw new UnsupportedOperationException();
16 | }
17 |
18 | public static void requestAnimationFrame(Runnable runnable) {
19 | Message message = new Message();
20 | message.what = MSG_ANIMATE;
21 | message.obj = runnable;
22 | mHandler.sendMessageDelayed(message, ANIMATION_FRAME_DURATION);
23 | }
24 |
25 | public static void requestFrameDelay(Runnable runnable, long delay) {
26 | Message message = new Message();
27 | message.what = MSG_ANIMATE;
28 | message.obj = runnable;
29 | mHandler.sendMessageDelayed(message, delay);
30 | }
31 |
32 | private static class AnimationHandler extends Handler {
33 | public void handleMessage(Message m) {
34 | switch (m.what) {
35 | case MSG_ANIMATE:
36 | if (m.obj != null) {
37 | ((Runnable) m.obj).run();
38 | }
39 | break;
40 | }
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/java/com/sensoro/experience/tool/FrameAnimationController.java:
--------------------------------------------------------------------------------
1 |
2 | package com.sensoro.experience.tool;
3 |
4 | import android.os.Handler;
5 | import android.os.Message;
6 |
7 | public class FrameAnimationController {
8 | private static final int MSG_ANIMATE = 1000;
9 |
10 | public static final int ANIMATION_FRAME_DURATION = 1000 / 60;
11 |
12 | private static final Handler mHandler = new AnimationHandler();
13 |
14 | private FrameAnimationController() {
15 | throw new UnsupportedOperationException();
16 | }
17 |
18 | public static void requestAnimationFrame(Runnable runnable) {
19 | Message message = new Message();
20 | message.what = MSG_ANIMATE;
21 | message.obj = runnable;
22 | mHandler.sendMessageDelayed(message, ANIMATION_FRAME_DURATION);
23 | }
24 |
25 | public static void requestFrameDelay(Runnable runnable, long delay) {
26 | Message message = new Message();
27 | message.what = MSG_ANIMATE;
28 | message.obj = runnable;
29 | mHandler.sendMessageDelayed(message, delay);
30 | }
31 |
32 | private static class AnimationHandler extends Handler {
33 | public void handleMessage(Message m) {
34 | switch (m.what) {
35 | case MSG_ANIMATE:
36 | if (m.obj != null) {
37 | ((Runnable) m.obj).run();
38 | }
39 | break;
40 | }
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
23 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/layout/title_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
15 |
16 |
22 |
23 |
31 |
32 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
17 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/layout/title_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
15 |
16 |
22 |
23 |
31 |
32 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/SensoroSDK/doc/com/sensoro/beacon/kit/constants/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | com.sensoro.beacon.kit.constants
8 |
9 |
10 |
11 |
12 |
13 |
14 |
类
15 |
18 |
枚举
19 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/.idea/codeStyles/Project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/.idea/codeStyles/Project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/java/com/sensoro/bootcompleted/MyService.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.bootcompleted;
2 |
3 | import android.app.Service;
4 | import android.bluetooth.BluetoothAdapter;
5 | import android.content.BroadcastReceiver;
6 | import android.content.Context;
7 | import android.content.Intent;
8 | import android.content.IntentFilter;
9 | import android.os.IBinder;
10 |
11 | /**
12 | * Created by Sensoro on 15/4/9.
13 | */
14 | public class MyService extends Service{
15 | private static final String TAG = MyService.class.getSimpleName();
16 |
17 | private MyApplication application;
18 | private BluetoothBroadcastReceiver bluetoothBroadcastReceiver;
19 |
20 | @Override
21 | public IBinder onBind(Intent intent) {
22 | return null;
23 | }
24 |
25 | @Override
26 | public void onCreate() {
27 | super.onCreate();
28 |
29 | application = (MyApplication) getApplication();
30 | bluetoothBroadcastReceiver = new BluetoothBroadcastReceiver();
31 | registerReceiver(bluetoothBroadcastReceiver, new IntentFilter(Constant.BLE_STATE_CHANGED_ACTION));
32 |
33 | if (application.isBluetoothEnabled()){
34 | application.startSensoroSDK();
35 | } else {
36 | BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
37 | bluetoothAdapter.enable();
38 | }
39 | }
40 |
41 | @Override
42 | public void onDestroy() {
43 | super.onDestroy();
44 | unregisterReceiver(bluetoothBroadcastReceiver);
45 | }
46 |
47 | class BluetoothBroadcastReceiver extends BroadcastReceiver {
48 |
49 | @Override
50 | public void onReceive(Context context, Intent intent) {
51 | if (intent.getAction().equals(Constant.BLE_STATE_CHANGED_ACTION)){
52 | if (application.isBluetoothEnabled()){
53 | application.startSensoroSDK();
54 | }
55 | }
56 | }
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/anim/earth_anim.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
11 |
14 |
17 |
20 |
23 |
26 |
29 |
32 |
35 |
38 |
41 |
44 |
47 |
50 |
53 |
56 |
59 |
60 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/anim/earth_anim.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
11 |
14 |
17 |
20 |
23 |
26 |
29 |
32 |
35 |
38 |
41 |
44 |
47 |
50 |
53 |
56 |
59 |
60 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/layout/fragment_move.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
13 |
14 |
21 |
22 |
29 |
30 |
36 |
37 |
38 |
47 |
48 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/layout/fragment_move.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
13 |
14 |
21 |
22 |
29 |
30 |
36 |
37 |
38 |
47 |
48 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/drawable-v24/ic_launcher_foreground.xml:
--------------------------------------------------------------------------------
1 |
7 |
12 |
13 |
19 |
22 |
25 |
26 |
27 |
28 |
34 |
35 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
33 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/app/src/main/java/com/sensoro/bootcompleted/MyApplication.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.bootcompleted;
2 |
3 | import android.app.Application;
4 | import android.content.Intent;
5 | import android.util.Log;
6 |
7 | import com.sensoro.beacon.kit.Beacon;
8 | import com.sensoro.beacon.kit.BeaconManagerListener;
9 | import com.sensoro.cloud.SensoroManager;
10 |
11 | import java.util.ArrayList;
12 |
13 | /**
14 | * Created by Sensoro on 15/3/11.
15 | */
16 | public class MyApplication extends Application implements BeaconManagerListener{
17 | private static final String TAG = MyApplication.class.getSimpleName();
18 | private SensoroManager sensoroManager;
19 |
20 | @Override
21 | public void onCreate() {
22 | super.onCreate();
23 |
24 | initSensoroSDK();
25 |
26 | /**
27 | * Start SDK in Service.
28 | */
29 | Intent intent = new Intent();
30 | intent.setClass(this,MyService.class);
31 | startService(intent);
32 | }
33 |
34 | /**
35 | * Initial Sensoro SDK.
36 | */
37 | private void initSensoroSDK() {
38 | sensoroManager = SensoroManager.getInstance(getApplicationContext());
39 | sensoroManager.setCloudServiceEnable(true);
40 | sensoroManager.addBroadcastKey("7b4b5ff594fdaf8f9fc7f2b494e400016f461205");
41 | sensoroManager.setBeaconManagerListener(this);
42 | }
43 |
44 | /**
45 | * Start Sensoro SDK.
46 | */
47 | public void startSensoroSDK() {
48 | try {
49 | sensoroManager.startService();
50 | } catch (Exception e) {
51 | e.printStackTrace();
52 | }
53 | }
54 |
55 | /**
56 | * Check whether bluetooth enabled.
57 | * @return
58 | */
59 | public boolean isBluetoothEnabled(){
60 | return sensoroManager.isBluetoothEnabled();
61 | }
62 |
63 | @Override
64 | public void onNewBeacon(Beacon beacon) {
65 | /**
66 | * Check whether SDK started in logs.
67 | */
68 | Log.v(TAG,beacon.getSerialNumber());
69 | }
70 |
71 | @Override
72 | public void onGoneBeacon(Beacon beacon) {
73 |
74 | }
75 |
76 | @Override
77 | public void onUpdateBeacon(ArrayList arrayList) {
78 |
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/src/com/meg7/widget/SvgImageView.java:
--------------------------------------------------------------------------------
1 | package com.meg7.widget;
2 |
3 | import android.content.Context;
4 | import android.content.res.TypedArray;
5 | import android.graphics.Bitmap;
6 | import android.graphics.Canvas;
7 | import android.graphics.Color;
8 | import android.graphics.Paint;
9 | import android.graphics.RectF;
10 | import android.util.AttributeSet;
11 |
12 | import com.sensoro.experience.tool.R;
13 | import com.svgandroid.SVG;
14 | import com.svgandroid.SVGParser;
15 |
16 | /**
17 | * Created by Mostafa Gazar on 11/2/13.
18 | */
19 | public class SvgImageView extends BaseImageView {
20 |
21 | private int mSvgRawResourceId;
22 |
23 | public SvgImageView(Context context) {
24 | super(context);
25 | }
26 |
27 | public SvgImageView(Context context, AttributeSet attrs) {
28 | super(context, attrs);
29 | sharedConstructor(context, attrs);
30 | }
31 |
32 | public SvgImageView(Context context, AttributeSet attrs, int defStyle) {
33 | super(context, attrs, defStyle);
34 | sharedConstructor(context, attrs);
35 | }
36 |
37 | private void sharedConstructor(Context context, AttributeSet attrs) {
38 | TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CustomShapeImageView);
39 | mSvgRawResourceId = a.getResourceId(R.styleable.CustomShapeImageView_svg_raw_resource, 0);
40 | a.recycle();
41 | }
42 |
43 | public static Bitmap getBitmap(Context context, int width, int height, int svgRawResourceId) {
44 | Bitmap bitmap = Bitmap.createBitmap(width, height,
45 | Bitmap.Config.ARGB_8888);
46 | Canvas canvas = new Canvas(bitmap);
47 | Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
48 | paint.setColor(Color.BLACK);
49 |
50 | if (svgRawResourceId > 0) {
51 | SVG svg = SVGParser.getSVGFromInputStream(
52 | context.getResources().openRawResource(svgRawResourceId), width, height);
53 | canvas.drawPicture(svg.getPicture());
54 | } else {
55 | canvas.drawRect(new RectF(0.0f, 0.0f, width, height), paint);
56 | }
57 |
58 | return bitmap;
59 | }
60 |
61 | @Override
62 | public Bitmap getBitmap() {
63 | return getBitmap(mContext, getWidth(), getHeight(), mSvgRawResourceId);
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/java/com/meg7/widget/SvgImageView.java:
--------------------------------------------------------------------------------
1 | package com.meg7.widget;
2 |
3 | import android.content.Context;
4 | import android.content.res.TypedArray;
5 | import android.graphics.Bitmap;
6 | import android.graphics.Canvas;
7 | import android.graphics.Color;
8 | import android.graphics.Paint;
9 | import android.graphics.RectF;
10 | import android.util.AttributeSet;
11 |
12 | import com.sensoro.experience.tool.R;
13 | import com.svgandroid.SVG;
14 | import com.svgandroid.SVGParser;
15 |
16 | /**
17 | * Created by Mostafa Gazar on 11/2/13.
18 | */
19 | public class SvgImageView extends BaseImageView {
20 |
21 | private int mSvgRawResourceId;
22 |
23 | public SvgImageView(Context context) {
24 | super(context);
25 | }
26 |
27 | public SvgImageView(Context context, AttributeSet attrs) {
28 | super(context, attrs);
29 | sharedConstructor(context, attrs);
30 | }
31 |
32 | public SvgImageView(Context context, AttributeSet attrs, int defStyle) {
33 | super(context, attrs, defStyle);
34 | sharedConstructor(context, attrs);
35 | }
36 |
37 | private void sharedConstructor(Context context, AttributeSet attrs) {
38 | TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CustomShapeImageView);
39 | mSvgRawResourceId = a.getResourceId(R.styleable.CustomShapeImageView_svg_raw_resource, 0);
40 | a.recycle();
41 | }
42 |
43 | public static Bitmap getBitmap(Context context, int width, int height, int svgRawResourceId) {
44 | Bitmap bitmap = Bitmap.createBitmap(width, height,
45 | Bitmap.Config.ARGB_8888);
46 | Canvas canvas = new Canvas(bitmap);
47 | Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
48 | paint.setColor(Color.BLACK);
49 |
50 | if (svgRawResourceId > 0) {
51 | SVG svg = SVGParser.getSVGFromInputStream(
52 | context.getResources().openRawResource(svgRawResourceId), width, height);
53 | canvas.drawPicture(svg.getPicture());
54 | } else {
55 | canvas.drawRect(new RectF(0.0f, 0.0f, width, height), paint);
56 | }
57 |
58 | return bitmap;
59 | }
60 |
61 | @Override
62 | public Bitmap getBitmap() {
63 | return getBitmap(mContext, getWidth(), getHeight(), mSvgRawResourceId);
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/src/com/meg7/widget/CustomShapeImageView.java:
--------------------------------------------------------------------------------
1 | package com.meg7.widget;
2 |
3 | import com.sensoro.experience.tool.R;
4 |
5 | import android.content.Context;
6 | import android.content.res.TypedArray;
7 | import android.graphics.Bitmap;
8 | import android.util.AttributeSet;
9 |
10 | /**
11 | * Created by Mostafa Gazar on 11/2/13.
12 | */
13 | public class CustomShapeImageView extends BaseImageView {
14 |
15 | public static class Shape {
16 | public static final int CIRCLE = 1;
17 | public static final int RECTANGLE = 2;
18 | public static final int SVG = 3;
19 | }
20 |
21 | private int mShape = Shape.CIRCLE;
22 | private int mSvgRawResourceId;
23 |
24 | public CustomShapeImageView(Context context) {
25 | super(context);
26 | }
27 |
28 | public CustomShapeImageView(Context context, int resourceId, int shape, int svgRawResourceId) {
29 | this(context);
30 |
31 | setImageResource(resourceId);
32 | mShape = shape;
33 | mSvgRawResourceId = svgRawResourceId;
34 | }
35 |
36 | public CustomShapeImageView(Context context, AttributeSet attrs) {
37 | super(context, attrs);
38 | sharedConstructor(context, attrs);
39 | }
40 |
41 | public CustomShapeImageView(Context context, AttributeSet attrs, int defStyle) {
42 | super(context, attrs, defStyle);
43 | sharedConstructor(context, attrs);
44 | }
45 |
46 | private void sharedConstructor(Context context, AttributeSet attrs) {
47 | TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CustomShapeImageView);
48 | mShape = a.getInt(R.styleable.CustomShapeImageView_shape, Shape.CIRCLE);
49 | mSvgRawResourceId = a.getResourceId(R.styleable.CustomShapeImageView_svg_raw_resource, 0);
50 | a.recycle();
51 | }
52 |
53 | @Override
54 | public Bitmap getBitmap() {
55 | switch (mShape) {
56 | case Shape.CIRCLE:
57 | return CircleImageView.getBitmap(getWidth(), getHeight());
58 | case Shape.RECTANGLE:
59 | return RectangleImageView.getBitmap(getWidth(), getHeight());
60 | case Shape.SVG:
61 | return SvgImageView.getBitmap(mContext, getWidth(), getHeight(), mSvgRawResourceId);
62 | }
63 | return null;
64 | }
65 |
66 | }
67 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/java/com/meg7/widget/CustomShapeImageView.java:
--------------------------------------------------------------------------------
1 | package com.meg7.widget;
2 |
3 | import com.sensoro.experience.tool.R;
4 |
5 | import android.content.Context;
6 | import android.content.res.TypedArray;
7 | import android.graphics.Bitmap;
8 | import android.util.AttributeSet;
9 |
10 | /**
11 | * Created by Mostafa Gazar on 11/2/13.
12 | */
13 | public class CustomShapeImageView extends BaseImageView {
14 |
15 | public static class Shape {
16 | public static final int CIRCLE = 1;
17 | public static final int RECTANGLE = 2;
18 | public static final int SVG = 3;
19 | }
20 |
21 | private int mShape = Shape.CIRCLE;
22 | private int mSvgRawResourceId;
23 |
24 | public CustomShapeImageView(Context context) {
25 | super(context);
26 | }
27 |
28 | public CustomShapeImageView(Context context, int resourceId, int shape, int svgRawResourceId) {
29 | this(context);
30 |
31 | setImageResource(resourceId);
32 | mShape = shape;
33 | mSvgRawResourceId = svgRawResourceId;
34 | }
35 |
36 | public CustomShapeImageView(Context context, AttributeSet attrs) {
37 | super(context, attrs);
38 | sharedConstructor(context, attrs);
39 | }
40 |
41 | public CustomShapeImageView(Context context, AttributeSet attrs, int defStyle) {
42 | super(context, attrs, defStyle);
43 | sharedConstructor(context, attrs);
44 | }
45 |
46 | private void sharedConstructor(Context context, AttributeSet attrs) {
47 | TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CustomShapeImageView);
48 | mShape = a.getInt(R.styleable.CustomShapeImageView_shape, Shape.CIRCLE);
49 | mSvgRawResourceId = a.getResourceId(R.styleable.CustomShapeImageView_svg_raw_resource, 0);
50 | a.recycle();
51 | }
52 |
53 | @Override
54 | public Bitmap getBitmap() {
55 | switch (mShape) {
56 | case Shape.CIRCLE:
57 | return CircleImageView.getBitmap(getWidth(), getHeight());
58 | case Shape.RECTANGLE:
59 | return RectangleImageView.getBitmap(getWidth(), getHeight());
60 | case Shape.SVG:
61 | return SvgImageView.getBitmap(mContext, getWidth(), getHeight(), mSvgRawResourceId);
62 | }
63 | return null;
64 | }
65 |
66 | }
67 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/layout/fragment_range.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
12 |
13 |
19 |
20 |
21 |
26 |
27 |
33 |
34 |
35 |
40 |
41 |
47 |
48 |
49 |
57 |
58 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/layout/fragment_range.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
12 |
13 |
19 |
20 |
21 |
26 |
27 |
33 |
34 |
35 |
40 |
41 |
47 |
48 |
49 |
57 |
58 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/raw/shape_heart.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/values-zh/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 云子
5 | 输入 SN 或 ID 进行搜索
6 | RSSI:
7 | 温度:
8 | 光线:
9 | 移动:
10 | 移动计数器:
11 | 型号:
12 | 固件:
13 | 电池:
14 | 是
15 | 否
16 | 是否打开蓝牙
17 | 距离:
18 | 昏暗
19 | 普通
20 | 明亮
21 | 未开启
22 | +1
23 | 当推送开关开启时,
24 | 进入和离开云子将收到推送
25 | a0
26 | b0
27 | 消失
28 | 很近
29 | 较远
30 | 较近
31 | 移动次数:
32 | 云子
33 | 返回
34 | 距离
35 | 范围
36 | 温度
37 | 光线
38 | 移动
39 | 推送
40 |
41 | 静止
42 | 运动
43 | 关闭
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 | ℃
57 | %
58 | lx
59 |
60 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/values-zh/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 云子
5 | 输入 SN 或 ID 进行搜索
6 | RSSI:
7 | 温度:
8 | 光线:
9 | 移动:
10 | 移动计数器:
11 | 型号:
12 | 固件:
13 | 电池:
14 | 是
15 | 否
16 | 是否打开蓝牙
17 | 距离:
18 | 昏暗
19 | 普通
20 | 明亮
21 | 未开启
22 | +1
23 | 当推送开关开启时,
24 | 进入和离开云子将收到推送
25 | a0
26 | b0
27 | 消失
28 | 很近
29 | 较远
30 | 较近
31 | 移动次数:
32 | 云子
33 | 返回
34 | 距离
35 | 范围
36 | 温度
37 | 光线
38 | 移动
39 | 推送
40 |
41 | 静止
42 | 运动
43 | 关闭
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 | ℃
57 | %
58 | lx
59 |
60 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/raw/shape_5.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Documents/简体中文版/User-Guide-For-Android-M.md:
--------------------------------------------------------------------------------
1 | SENSORO SDK 在 Android 6.0 中的使用
2 | =================
3 |
4 | > 作者:SENSORO
5 | >
6 | > 版本:v1.0
7 | >
8 | > 日期:2015-10-27 18:55:21
9 |
10 | ### 背景介绍
11 | 在 Android 6.0 系统中,Google 将 BLE 的设备扫描与位置服务相关联。经测试,在开发中过程中,如果想要成功检测到 BLE 设备,必须申请访问位置服务权限 `ACCESS_FINE_LOCATION` 或者 `ACCESS_COARSE_LOCATION`。
12 |
13 | 而在 Android 6.0 系统中, 新的权限机制 `Runtime Permissions` 需要在 App 运行时获得权限,因此在使用 SDK 的过程中,App 需要动态申请上述权限来保证正常运行。
14 |
15 | *说明:在 Android 6.0+ 中,App 在运行过程中,必须保持定位开启,才能成功扫描到 BLE 设备。*
16 |
17 | ### 使用方法
18 |
19 | > 以下的方法适用于 targetSdkVersion >= 23 的 App,targetSdkVersion < 23 的 App 可以暂不用考虑
20 |
21 | 在 AndroidManifest.xml 文件中添加权限申请:
22 |
23 | ```
24 |
25 | ```
26 |
27 | 在 App 启动的第一个 Acitivy 中 `onCreate` 函数中添加以下代码:
28 |
29 | ```
30 | ...
31 | @Override
32 | protected void onCreate(Bundle savedInstanceState) {
33 | super.onCreate(savedInstanceState);
34 | setContentView(R.layout.activity_main);
35 |
36 | requirePermission();
37 | }
38 |
39 | @Override
40 | public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
41 | super.onRequestPermissionsResult(requestCode, permissions, grantResults);
42 | switch (requestCode) {
43 | case MY_PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION: {
44 | // If request is cancelled, the result arrays are empty.
45 | if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
46 | // 用户授权成功
47 | Log.v(TAG,"permission was granted");
48 | // 业务逻辑
49 | } else {
50 | // 申请权限被用户拒绝,相关功能不可使用
51 | Log.v(TAG,"permission denied");
52 | }
53 | }
54 | // 其他 'case' 可能是 App 申请的其他权限
55 | }
56 | }
57 |
58 | public void requirePermission(){
59 | if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M){
60 | // 业务逻辑
61 | } else {
62 | // 是否应该给用户提示说明?
63 | if (ContextCompat.checkSelfPermission(this,Manifest.permission.ACCESS_COARSE_LOCATION)
64 | != PackageManager.PERMISSION_GRANTED) {
65 | if (ActivityCompat.shouldShowRequestPermissionRationale(this,
66 | Manifest.permission.ACCESS_COARSE_LOCATION)) {
67 | // 异步方式提示用户,不要阻塞在这等待用户响应。当用户看到提示之后,尝试重新获取权限
68 | Log.v(TAG, "Show an expanation to the user *asynchronously*");
69 | } else {
70 | // 不需要提示说明,直接获取权限
71 | Log.v(TAG,"// No explanation needed, we can request the permission.");
72 | ActivityCompat.requestPermissions(this,new String[]{
73 | Manifest.permission.ACCESS_COARSE_LOCATION},
74 | MY_PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION);
75 | }
76 | } else {
77 | // 业务逻辑
78 | }
79 | }
80 | }
81 | ...
82 | ```
--------------------------------------------------------------------------------
/Samples/YunZi-AS/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | set DIRNAME=%~dp0
12 | if "%DIRNAME%" == "" set DIRNAME=.
13 | set APP_BASE_NAME=%~n0
14 | set APP_HOME=%DIRNAME%
15 |
16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17 | set DEFAULT_JVM_OPTS=
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windows variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 |
53 | :win9xME_args
54 | @rem Slurp the command line arguments.
55 | set CMD_LINE_ARGS=
56 | set _SKIP=2
57 |
58 | :win9xME_args_slurp
59 | if "x%~1" == "x" goto execute
60 |
61 | set CMD_LINE_ARGS=%*
62 |
63 | :execute
64 | @rem Setup the command line
65 |
66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
67 |
68 | @rem Execute Gradle
69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
70 |
71 | :end
72 | @rem End local scope for the variables with windows NT shell
73 | if "%ERRORLEVEL%"=="0" goto mainEnd
74 |
75 | :fail
76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
77 | rem the _cmd.exe /c_ return code!
78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
79 | exit /b 1
80 |
81 | :mainEnd
82 | if "%OS%"=="Windows_NT" endlocal
83 |
84 | :omega
85 |
--------------------------------------------------------------------------------
/SensoroSDK/doc/com/sensoro/beacon/kit/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | com.sensoro.beacon.kit
8 |
9 |
10 |
11 |
12 |
13 |
14 |
接口
15 |
22 |
类
23 |
30 |
枚举
31 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Yunzi
5 | Search SN or ID
6 | RSSI:
7 | Temperature:
8 | Light:
9 | Moving:
10 | Moving count:
11 | Model:
12 | Firmware:
13 | Battery:
14 | Yes
15 | No
16 | Do you want to open bluetooth
17 | Distance:
18 | Dark
19 | Normal
20 | Glare
21 | Disable
22 | +1
23 | When the switch button is open,
24 | you will receive notifications.
25 | a0
26 | b0
27 | c0
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | Disappear
39 | immediate
40 | Far
41 | Near
42 | Move count:
43 | Yunzi
44 | Back
45 |
46 | Distance
47 | Range
48 | Temperature
49 | Light
50 | Move
51 | Notification
52 |
53 | ℃
54 | %
55 | still
56 | moving
57 | closed
58 | lx
59 |
60 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Yunzi
5 | Search SN or ID
6 | RSSI:
7 | Temperature:
8 | Light:
9 | Moving:
10 | Moving count:
11 | Model:
12 | Firmware:
13 | Battery:
14 | Yes
15 | No
16 | Do you want to open bluetooth
17 | Distance:
18 | Dark
19 | Normal
20 | Glare
21 | Disable
22 | +1
23 | When the switch button is open,
24 | you will receive notifications.
25 | a0
26 | b0
27 | c0
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | Disappear
39 | immediate
40 | Far
41 | Near
42 | Move count:
43 | Yunzi
44 | Back
45 |
46 | Distance
47 | Range
48 | Temperature
49 | Light
50 | Move
51 | Notification
52 |
53 | ℃
54 | %
55 | still
56 | moving
57 | closed
58 | lx
59 |
60 |
--------------------------------------------------------------------------------
/Samples/BootCompleted/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/raw/shape_star_2.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/raw/shape_star.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/SensoroSDK/doc/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | 生成的文档 (无标题)
8 |
60 |
61 |
75 |
76 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/raw/shape_circle_2.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/简体中文版/README.md:
--------------------------------------------------------------------------------
1 | #云子示例应用介绍
2 |
3 |
4 | “云子”示例应用,是一款帮助开发者体验云子传感器功能的手机客户端。目前支持iPhone版,你可以在我们的Github上找到对应的项目源码。
5 |
6 | “云子”,基于SBK(Sensoro Beacon Kit)开发,需要在Xcode6、iOS8版本SDK下编译运行,支持iOS7.0及以上版本。
7 |
8 |
9 | ###主要功能:
10 |
11 | ####云子列表与搜索
12 | 显示周围云子的SN与ID,SN与ID和云子传感器对应的贴纸一致,可以通过搜索的方式找到指定的云子。
13 |
14 | 
15 |
16 | ####系统权限验证
17 | 因为云子是一款基于iBeacon的智能传感器,所以需要使用iBeacon对应所需的系统权限,包括定位服务,和系统蓝牙。
18 |
19 | 
20 |
21 | ####云子功能与特点
22 | “云子”的功能主要涵盖:
23 | (1)iBeacon的RSSI值(信号强度),accuracy(距离),proximity(范围)。
24 | (2)传感器:温度,光线,加速度传感器。
25 | (3)利用云子可实现的功能及场景:距离、范围、光线、温度、移动、推送等。
26 |
27 | 
28 |
29 | ####距离
30 | 当距云子的距离发生变化,页面会显示使用者距离云子的距离。
31 |
32 | 
33 | 
34 |
35 | #####范围
36 | 当距云子的距离发生变化,使用者所处的位置可能会发生变化。每个云子定义了四种范围状态“很近”、“较近”、“较远”、“未知”。
37 |
38 | 
39 | 
40 | 
41 | #####光线
42 | 将云子的光线传感器开启,中心颜色会随着光线变化而变化。
43 |
44 | 
45 | 
46 | 
47 | #####温度
48 | 将云子的温度传感器开启,云子芯片温度变化,页面背景会随着温度变化而变化。
49 |
50 | 
51 | 
52 | #####移动
53 | 将云子的加速度传感器开启,当云子移动时,地球会转动;当云子停止移动时,计数器会加1。
54 |
55 | 
56 | #####推送
57 | 当进入或者离开云子传感器时,依据传感器可将“云子”应用唤醒。“云子”应用会根据传感器的配置,判断是否需要生成一个推送提示。
58 |
59 | 
60 | 
61 | 
62 |
63 | License
64 | =======
65 |
66 | Copyright 2014 Sensoro, Inc.
67 |
68 | Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0
69 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/src/com/sensoro/experience/tool/NotificationFragment.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.experience.tool;
2 |
3 | import com.sensoro.beacon.kit.Beacon;
4 |
5 | import android.app.Activity;
6 | import android.content.SharedPreferences;
7 | import android.content.SharedPreferences.Editor;
8 | import android.os.Bundle;
9 | import android.support.v4.app.Fragment;
10 | import android.view.LayoutInflater;
11 | import android.view.MenuItem;
12 | import android.view.View;
13 | import android.view.ViewGroup;
14 | import android.widget.CompoundButton;
15 | import android.widget.CompoundButton.OnCheckedChangeListener;
16 |
17 | /*
18 | * Control the notification of beacon.
19 | */
20 | public class NotificationFragment extends Fragment implements OnCheckedChangeListener {
21 |
22 | SwitchButton switchButton;
23 | Beacon beacon;
24 |
25 | MainActivity activity;
26 |
27 | @Override
28 | public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
29 | activity = (MainActivity) getActivity();
30 | return inflater.inflate(R.layout.fragment_notification, container, false);
31 | }
32 |
33 | @Override
34 | public void onActivityCreated(Bundle savedInstanceState) {
35 | initCtrl();
36 | setTitle();
37 | super.onActivityCreated(savedInstanceState);
38 | }
39 |
40 | private void initCtrl() {
41 | beacon = (Beacon) getArguments().get(MainActivity.BEACON);
42 | activity = (MainActivity) getActivity();
43 | setHasOptionsMenu(true);
44 |
45 | switchButton = (SwitchButton) activity.findViewById(R.id.fragment_notification_sb);
46 | }
47 |
48 | private void setTitle() {
49 | activity.setTitle(R.string.back);
50 | }
51 |
52 | @Override
53 | public void onResume() {
54 | initState(beacon);
55 | super.onResume();
56 | }
57 |
58 | private void initState(Beacon beacon) {
59 | if (beacon == null) {
60 | switchButton.setChecked(false);
61 | }
62 | String key = activity.getKey(beacon);
63 | boolean state = activity.sharedPreferences.getBoolean(key, false);
64 | switchButton.setChecked(state);
65 | switchButton.setOnCheckedChangeListener(this);
66 | }
67 |
68 | @Override
69 | public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
70 | if (beacon == null) {
71 | return;
72 | }
73 | String key = activity.getKey(beacon);
74 | if (isChecked) {
75 | boolean isExist = activity.sharedPreferences.contains(key);
76 | if (isExist) {
77 | return;
78 | }
79 | Editor editor = activity.sharedPreferences.edit();
80 | editor.putBoolean(key, true);
81 | editor.commit();
82 | } else {
83 | Editor editor = activity.sharedPreferences.edit();
84 | editor.remove(key);
85 | editor.commit();
86 | }
87 | }
88 |
89 | @Override
90 | public boolean onOptionsItemSelected(MenuItem item) {
91 | int id = item.getItemId();
92 | switch (id) {
93 | case android.R.id.home:
94 | activity.onBackPressed();
95 | break;
96 |
97 | default:
98 | break;
99 | }
100 | return super.onOptionsItemSelected(item);
101 | }
102 | }
103 |
--------------------------------------------------------------------------------
/Samples/YunZi-AS/app/src/main/java/com/sensoro/experience/tool/NotificationFragment.java:
--------------------------------------------------------------------------------
1 | package com.sensoro.experience.tool;
2 |
3 | import com.sensoro.beacon.kit.Beacon;
4 |
5 | import android.app.Activity;
6 | import android.content.SharedPreferences;
7 | import android.content.SharedPreferences.Editor;
8 | import android.os.Bundle;
9 | import android.support.v4.app.Fragment;
10 | import android.view.LayoutInflater;
11 | import android.view.MenuItem;
12 | import android.view.View;
13 | import android.view.ViewGroup;
14 | import android.widget.CompoundButton;
15 | import android.widget.CompoundButton.OnCheckedChangeListener;
16 |
17 | /*
18 | * Control the notification of beacon.
19 | */
20 | public class NotificationFragment extends Fragment implements OnCheckedChangeListener {
21 |
22 | SwitchButton switchButton;
23 | Beacon beacon;
24 |
25 | MainActivity activity;
26 |
27 | @Override
28 | public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
29 | activity = (MainActivity) getActivity();
30 | return inflater.inflate(R.layout.fragment_notification, container, false);
31 | }
32 |
33 | @Override
34 | public void onActivityCreated(Bundle savedInstanceState) {
35 | initCtrl();
36 | setTitle();
37 | super.onActivityCreated(savedInstanceState);
38 | }
39 |
40 | private void initCtrl() {
41 | beacon = (Beacon) getArguments().get(MainActivity.BEACON);
42 | activity = (MainActivity) getActivity();
43 | setHasOptionsMenu(true);
44 |
45 | switchButton = (SwitchButton) activity.findViewById(R.id.fragment_notification_sb);
46 | }
47 |
48 | private void setTitle() {
49 | activity.setTitle(R.string.back);
50 | }
51 |
52 | @Override
53 | public void onResume() {
54 | initState(beacon);
55 | super.onResume();
56 | }
57 |
58 | private void initState(Beacon beacon) {
59 | if (beacon == null) {
60 | switchButton.setChecked(false);
61 | }
62 | String key = activity.getKey(beacon);
63 | boolean state = activity.sharedPreferences.getBoolean(key, false);
64 | switchButton.setChecked(state);
65 | switchButton.setOnCheckedChangeListener(this);
66 | }
67 |
68 | @Override
69 | public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
70 | if (beacon == null) {
71 | return;
72 | }
73 | String key = activity.getKey(beacon);
74 | if (isChecked) {
75 | boolean isExist = activity.sharedPreferences.contains(key);
76 | if (isExist) {
77 | return;
78 | }
79 | Editor editor = activity.sharedPreferences.edit();
80 | editor.putBoolean(key, true);
81 | editor.commit();
82 | } else {
83 | Editor editor = activity.sharedPreferences.edit();
84 | editor.remove(key);
85 | editor.commit();
86 | }
87 | }
88 |
89 | @Override
90 | public boolean onOptionsItemSelected(MenuItem item) {
91 | int id = item.getItemId();
92 | switch (id) {
93 | case android.R.id.home:
94 | activity.onBackPressed();
95 | break;
96 |
97 | default:
98 | break;
99 | }
100 | return super.onOptionsItemSelected(item);
101 | }
102 | }
103 |
--------------------------------------------------------------------------------
/Samples/Yunzi-Android/raw/shape_star_3.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Documents/User-Guide-For-Android-M.md:
--------------------------------------------------------------------------------
1 | How to use SENSORO SDK in Android 6.0?
2 | =================
3 |
4 | > Author: Sensoro
5 | >
6 | > Version: 1.0
7 | >
8 | > Date: 2015-10-27 18:53:00
9 |
10 | ### Background
11 |
12 | In Android 6.0, the BLE scanning is associated with Location Service. Found in out test, if you want to get BLE scanning result, you must request permission `ACCESS_FINE_LOCATION` or `ACCESS_COARSE_LOCATION`.
13 |
14 | While Google also released a new permissions model `Runtime Permissions` in Android 6.0. In the model, permissions must be granted by user during the App is running. So there are some difference using SENSORO SDK in Android 6.0.
15 |
16 | *Notice:You must open the Location Service in Android 6.0 so that you could get BLE scanning results during the App is running.*
17 |
18 | ### How to Use
19 |
20 | > If your App targetSdkVersion is 23 and above, you need do somethings below.
21 |
22 | 1.Declare permission in `AndroidManifest.xml` as below:
23 |
24 | ```
25 |
26 | ```
27 |
28 | 2.Add sample codes below in the first `Activity` of App::
29 |
30 | ```
31 | ...
32 | @Override
33 | protected void onCreate(Bundle savedInstanceState) {
34 | super.onCreate(savedInstanceState);
35 | setContentView(R.layout.activity_main);
36 |
37 | requirePermission();
38 | }
39 |
40 | @Override
41 | public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
42 | super.onRequestPermissionsResult(requestCode, permissions, grantResults);
43 | switch (requestCode) {
44 | case MY_PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION: {
45 | // If request is cancelled, the result arrays are empty.
46 | if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
47 | // functionality that depends on this permission. Do the task you need to do.
48 | Log.v(TAG,"permission was granted");
49 | // your code
50 | } else {
51 | // permission denied, boo! Disable the functionality that depends on this permission.
52 | Log.v(TAG,"permission denied");
53 | }
54 | }
55 | // other 'case' lines to check for other permissions this App might request
56 | }
57 | }
58 |
59 | public void requirePermission(){
60 | if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M){
61 | // your code
62 | } else {
63 | // Should we show an explanation?
64 | if (ContextCompat.checkSelfPermission(this,Manifest.permission.ACCESS_COARSE_LOCATION)
65 | != PackageManager.PERMISSION_GRANTED) {
66 | if (ActivityCompat.shouldShowRequestPermissionRationale(this,
67 | Manifest.permission.ACCESS_COARSE_LOCATION)) {
68 | // Show an expanation to the user *asynchronously* -- don't block this thread
69 | // waiting for the user's response! After the user sees the explanation, try
70 | // again to request the permission.
71 | Log.v(TAG, "Show an expanation to the user *asynchronously*");
72 | } else {
73 | // No explanation needed, we can request the permission.
74 | Log.v(TAG,"// No explanation needed, we can request the permission.");
75 | ActivityCompat.requestPermissions(this,new String[]{
76 | Manifest.permission.ACCESS_COARSE_LOCATION},
77 | MY_PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION);
78 | }
79 | } else {
80 | // your code
81 | }
82 | }
83 | }
84 | ...
85 | ```
86 |
--------------------------------------------------------------------------------